1、APP策略配置增加IP配置;2、修改IP转换时,IPV4的IP/MASK格式时,MASK为0异常的错误。

Signed-off-by: zhangwei <zhangwei@intranet.com>
This commit is contained in:
zhangwei
2018-07-04 16:03:07 +08:00
parent d3ed5f993a
commit 2fbfedabc4
13 changed files with 588 additions and 105 deletions

View File

@@ -390,7 +390,12 @@ public abstract class BaseService {
if(srcIp.getSrcIpAddress().indexOf("/")!=-1){
if(srcIp.getIpType()==4 || srcIp.getIpType()==46){//46表示源ip为ipv4目的ip为ipv6
Integer srcMaskNum = Integer.parseInt(srcIp.getSrcIpAddress().split("/")[1]);
dstIp.setSrcIpMask(IpUtil.convertMask(srcMaskNum));
if(srcMaskNum==0){
dstIp.setSrcIpMask("0.0.0.0");
}else{
dstIp.setSrcIpMask(IpUtil.convertMask(srcMaskNum));
}
dstIp.setSrcIp(srcIp.getSrcIpAddress().split("/")[0]);
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){//64表示源ip为ipv6目的ip为ipv4
IPv6Network strangeNetwork = IPv6Network.fromString(srcIp.getSrcIpAddress());
@@ -413,27 +418,31 @@ public abstract class BaseService {
}else{
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){//46表示源ip为ipv4目的ip为ipv6
dstIp.setSrcIp(srcIp.getSrcIpAddress());
dstIp.setSrcIpMask("0.0.0.0");
dstIp.setSrcIpMask("255.255.255.255");
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){//64表示源ip为ipv6目的ip为ipv4
dstIp.setSrcIp(srcIp.getSrcIpAddress());
dstIp.setSrcIpMask("::");
dstIp.setSrcIpMask("FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF");
}
}
}else{
if(srcIp.getIpType()==4|| srcIp.getIpType()==46){//46表示源ip为ipv4目的ip为ipv6
dstIp.setSrcIp(srcIp.getSrcIpAddress());
dstIp.setSrcIpMask("0.0.0.0");
dstIp.setSrcIpMask("255.255.255.255");
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==64){//64表示源ip为ipv6目的ip为ipv4
dstIp.setSrcIp(srcIp.getSrcIpAddress());
dstIp.setSrcIpMask("::");
dstIp.setSrcIpMask("FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF");
}
}
if(srcIp.getDestIpAddress()!=null){
if(srcIp.getDestIpAddress().indexOf("/")!=-1){
if(srcIp.getIpType()==4|| srcIp.getIpType()==64){//64表示源ip为ipv6目的ip为ipv4
Integer dstMaskNum = Integer.parseInt(srcIp.getDestIpAddress().split("/")[1]);
dstIp.setDstIpMask(IpUtil.convertMask(dstMaskNum));
if(dstMaskNum==0){
dstIp.setDstIpMask("0.0.0.0");
}else{
dstIp.setDstIpMask(IpUtil.convertMask(dstMaskNum));;
}
dstIp.setDstIp(srcIp.getDestIpAddress().split("/")[0]);
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==46){//46表示源ip为ipv4目的ip为ipv6
IPv6Network strangeNetwork = IPv6Network.fromString(srcIp.getDestIpAddress());
@@ -456,20 +465,20 @@ public abstract class BaseService {
}else{
if(srcIp.getIpType()==4|| srcIp.getIpType()==64){//64表示源ip为ipv6目的ip为ipv4
dstIp.setDstIp(srcIp.getDestIpAddress());
dstIp.setDstIpMask("0.0.0.0");
dstIp.setDstIpMask("255.255.255.255");
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==46){//46表示源ip为ipv4目的ip为ipv6
dstIp.setDstIp(srcIp.getDestIpAddress());
dstIp.setDstIpMask("::");
dstIp.setDstIpMask("FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF");
}
}
}else{
if(srcIp.getIpType()==4|| srcIp.getIpType()==64){//64表示源ip为ipv6目的ip为ipv4
dstIp.setDstIp(srcIp.getDestIpAddress());
dstIp.setDstIpMask("0.0.0.0");
dstIp.setDstIpMask("255.255.255.255");
}else if(srcIp.getIpType()==6|| srcIp.getIpType()==46){//46表示源ip为ipv4目的ip为ipv6
dstIp.setDstIp(srcIp.getDestIpAddress());
dstIp.setDstIpMask("::");
dstIp.setDstIpMask("FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF");
}
}
if(srcIp.getSrcPort()!=null){
@@ -479,11 +488,11 @@ public abstract class BaseService {
dstIp.setSrcPort(srcIp.getSrcPort().split("/")[0]);
}else{
dstIp.setSrcPort(srcIp.getSrcPort());
dstIp.setSrcPortMask("0");
dstIp.setSrcPortMask("65535");
}
}else{
dstIp.setSrcPort("0");
dstIp.setSrcPortMask("0");
dstIp.setSrcPortMask("65535");
}
if(srcIp.getDestPort()!=null){
if(srcIp.getDestPort().indexOf("/")!=-1){
@@ -492,11 +501,11 @@ public abstract class BaseService {
dstIp.setDstPort(srcIp.getDestPort().split("/")[0]);
}else{
dstIp.setDstPort(srcIp.getDestPort());
dstIp.setDstPortMask("0");
dstIp.setDstPortMask("65535");
}
}else{
dstIp.setDstPort("0");
dstIp.setDstPortMask("0");
dstIp.setDstPortMask("65535");
}
return dstIp;
}