diff options
| author | 段冬梅 <[email protected]> | 2018-12-12 14:23:50 +0800 |
|---|---|---|
| committer | 段冬梅 <[email protected]> | 2018-12-12 14:23:50 +0800 |
| commit | b8a160b6964040004c189a946cd10cf0fc53da74 (patch) | |
| tree | f58792de2963c6a4ed78a07cafcb210acb8345cd /src/main/java | |
| parent | 24d2bcbf538fb05f67e59a843be8da8813759ecf (diff) | |
摘要增加查询配置信息方法
最新登录界面提交
流量统计带宽详情增加地域区分图表显示
增加时间范围查询,协议类型码表无对应数据则取app码表
ip地址池名称校验更改
日志增加查配置功能,common.js
$("a[name=viewLogInfo]>i").on("click",function(){暂不开放此功能
home.jsp增加dns欺骗ip无策略-默认组-ip初始化连接
Diffstat (limited to 'src/main/java')
18 files changed, 379 insertions, 16 deletions
diff --git a/src/main/java/com/nis/util/Constants.java b/src/main/java/com/nis/util/Constants.java index 27d325e..8139d72 100644 --- a/src/main/java/com/nis/util/Constants.java +++ b/src/main/java/com/nis/util/Constants.java @@ -698,6 +698,7 @@ public final class Constants { public static final String TRAFFIC_IPACTIVE_ONEHOUR=Configurations.getStringProperty("trafficIpActiveOneHour","trafficIpActiveOneHour"); public static final String NTC_RADIUS_REPORT=Configurations.getStringProperty("ntcRadiusReport","ntcRadiusReport"); public static final String TRAFFIC_BANDWIDTH_TRANS=Configurations.getStringProperty("trafficBandwidthTrans","trafficBandwidthTrans"); + public static final String TRAFFIC_BANDWIDTH_TRANS_TWO=Configurations.getStringProperty("trafficBandwidthTransTwo","trafficBandwidthTransTwo"); public static final String TRAFFIC_PROTOCOL_LIST=Configurations.getStringProperty("trafficProtocolList","trafficProtocolList"); public static final String TRAFFIC_APP_LIST=Configurations.getStringProperty("trafficAppList","trafficAppList"); public static final String NTC_ACTION_ENTRANCE_REPORT=Configurations.getStringProperty("ntcActionEntranceReport","ntcActionEntranceReport"); @@ -761,4 +762,8 @@ public final class Constants { //日志查询接口URL public static final String IR_SNAT_LOG = Configurations.getStringProperty("irSnatLog",""); public static final String IR_DNAT_LOG = Configurations.getStringProperty("irDnatLog",""); + + //日志查询接口URL + public static final String DNS_SPOOFING_IP_DESC = Configurations.getStringProperty("dns_spoofing_ip_desc",""); + public static final String DNS_SPOOFING_IP_IP = Configurations.getStringProperty("dns_spoofing_ip_ip",""); } diff --git a/src/main/java/com/nis/web/controller/BaseController.java b/src/main/java/com/nis/web/controller/BaseController.java index c956e95..acd3d81 100644 --- a/src/main/java/com/nis/web/controller/BaseController.java +++ b/src/main/java/com/nis/web/controller/BaseController.java @@ -837,7 +837,7 @@ public class BaseController { if (StringUtils.isNotBlank(entry.getIsLogTotalSearch())) { Calendar time = Calendar.getInstance(); String searchEndTime = DateUtils.formatDateTime(time.getTime()); - time.add(Calendar.MINUTE, -5); + time.add(Calendar.MINUTE, -(Constants.LOG_TIME_RANGE/1000/60)); String searchStartTime = DateUtils.formatDateTime(time.getTime()); params.put("searchFoundStartTime", searchStartTime); diff --git a/src/main/java/com/nis/web/controller/LoginController.java b/src/main/java/com/nis/web/controller/LoginController.java index 265fba8..636f4a8 100644 --- a/src/main/java/com/nis/web/controller/LoginController.java +++ b/src/main/java/com/nis/web/controller/LoginController.java @@ -1,6 +1,10 @@ package com.nis.web.controller; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -16,11 +20,18 @@ import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.ResponseBody; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.reflect.TypeToken; import com.nis.util.Configurations; import com.nis.util.Constants; import com.nis.util.CookieUtil; +import com.nis.util.StringUtil; import com.nis.util.StringUtils; +import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.security.IdGen; import com.nis.web.security.SystemAuthorizingRealm.Principal; import com.nis.web.security.UserUtils; @@ -32,8 +43,36 @@ public class LoginController extends BaseController { @Autowired private SystemService systemService; + @RequestMapping("${adminPath}/newIndex") + public String newIndex(){ + return "/newIndex"; + } + /** + * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 + */ + @RequestMapping(value="${adminPath}/newIndex/ntcEntranceReport") + @ResponseBody + public List ntcEntranceReport(){ + Map<String, Object> fromJsonList = new HashMap<String, Object>(); + List list = new ArrayList(); + /*String url = "http://192.168.10.204:7777/galaxy-service/service/log/v1/ntcEntranceReport?searchBusinessType=2&searchReportStartTime=2018-07-18%2000:00:00&searchReportEndTime=2018-07-19%2000:00:00"; + try { + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType()); + logger.info("首页,间隔5分钟数据"+fromJsonList); + Map map = (Map) fromJsonList.get("data"); + list = (List) map.get("list"); + + } catch (Exception e) { + e.printStackTrace(); + logger.error("带宽详情数据获取错误"+e); + }*/ + return list; + } + /** * 默认进入系统动作,即跳转登录操作 * @return */ diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java index 39ada2d..3e9942b 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/DnsIpCfgController.java @@ -17,6 +17,7 @@ import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import com.nis.domain.Page; @@ -29,6 +30,8 @@ import com.nis.domain.configuration.IpPortCfg; import com.nis.domain.configuration.DnsIpCfg; import com.nis.domain.configuration.RequestInfo; import com.nis.exceptions.MaatConvertException; +import com.nis.util.AsnCacheUtils; +import com.nis.util.CacheUtils; import com.nis.util.Constants; import com.nis.util.StringUtil; import com.nis.web.controller.BaseController; @@ -69,6 +72,34 @@ public class DnsIpCfgController extends BaseController { return "/cfg/dnsIpCfgForm"; } + /** + * 初始化一条dns fakeip配置 + * @return + */ + @ResponseBody + @RequestMapping(value = {"initSpoofingIp"}) + public String initSpoofingIp(){ + Properties msg=getMsgProp(); + try { + DnsIpCfg entity=new DnsIpCfg(); + entity.setIsAudit(1); + entity.setIsValid(1); + entity.setDnsStrategyId(0); + List<DnsIpCfg> list=dnsIpCfgService.findDnsIpCfg(entity); + if(StringUtil.isEmpty(list)) { + dnsIpCfgService.saveAndAudit(); + } + } catch (Exception e) { + logger.error("初始化Spoofing ip失败",e); + e.printStackTrace(); + if(e instanceof MaatConvertException) { + return msg.getProperty("request_service_failed"); + }else { + return msg.getProperty("save_failed"); + } + } + return "success"; + } @RequestMapping(value = {"/saveOrUpdate"}) @RequiresPermissions(value={"dns:fake:ip:config"}) public String saveOrUpdate(Model model,HttpServletRequest request diff --git a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java index c58c6d5..8cf253d 100644 --- a/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java +++ b/src/main/java/com/nis/web/controller/configuration/maintenance/IpAddrPoolController.java @@ -1,5 +1,7 @@ package com.nis.web.controller.configuration.maintenance;
+import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
@@ -25,6 +27,7 @@ import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil;
import com.nis.util.Constants;
import com.nis.util.StringUtil;
+import com.nis.util.StringUtils;
import com.nis.web.controller.BaseController;
import com.nis.web.service.configuration.IpAddrPoolCfgService;
@@ -166,7 +169,7 @@ public class IpAddrPoolController extends BaseController{ }
/**
- * 校验所有地址池配置IP不可重复
+ * 校验所有地址池配置IP+MASK组合不可重复
* @param cfg
* @param request
* @param response
@@ -174,10 +177,28 @@ public class IpAddrPoolController extends BaseController{ */
@ResponseBody
@RequestMapping(value = {"/checkAddrPoolIp"})
- public boolean checkAddrPoolIp(String ips, HttpServletRequest request, HttpServletResponse response){
- for (String ip : ips.split(",")) {
- Long cfgId = ipAddrPoolCfgService.checkAddrPoolIp(ip);
- if(cfgId != null){
+ public boolean checkAddrPoolIp(String ip, String oldIp, HttpServletRequest request, HttpServletResponse response){
+ List<String> oldIplist = new ArrayList<>();
+ if(StringUtils.isNotBlank(oldIp)){
+ oldIplist.add(oldIp);
+ if(oldIp.contains("/32")){
+ oldIplist.add(oldIp.substring(0, oldIp.indexOf("/")));
+ }else if(!oldIp.contains("/")){
+ oldIplist.add(oldIp+"/32");
+ }
+ }
+
+ List<String> searchlist = new ArrayList<>();
+ searchlist.add(ip);
+ if(ip.contains("/32")){
+ searchlist.add(ip.substring(0, ip.indexOf("/")));
+ }else if(!ip.contains("/")){
+ searchlist.add(ip+"/32");
+ }
+
+ for (String searchIp : searchlist) {
+ IpReuseIpCfg cfg = ipAddrPoolCfgService.checkAddrPoolIp(searchIp);
+ if((cfg != null) && (!oldIplist.contains(cfg.getSrcIpAddress()))){
return false;
}
}
diff --git a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java index d566f62..6f8e36c 100644 --- a/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java +++ b/src/main/java/com/nis/web/controller/configuration/manipulation/IpMultiplexController.java @@ -234,6 +234,45 @@ public class IpMultiplexController extends CommonController { return "redirect:" + adminPath +"/manipulation/ipmulitiplex/snatPolicyList?functionId="+functionId; } + + @RequestMapping(value = {"/ajaxSnatInfo"}) + public String ajaxSnatInfo(Model model,Long cfgId,Integer index,Integer compileId) { + IpReusePolicyCfg cfg = ipMultiplexService.getSnatCfg(cfgId, compileId); + List<String[]> tabList = new ArrayList(); + String cfgType = null; + if(!cfg.getCfgType().equals(cfgType)){ + tabList.add(new String[]{"1",cfg.getCfgType()}); + cfgType = cfg.getCfgType(); + } + + List<UserManage> users = userManageService.findUsers(); + List<IpAddrPoolCfg> addrPools = ipAddrPoolCfgService.getEffectiveAddrPool(); + model.addAttribute("users", users); + model.addAttribute("addrPools", addrPools); + model.addAttribute("_cfg", cfg); + model.addAttribute("index", index); + model.addAttribute("tabList", tabList); + return "/cfg/manipulation/ipmulitiplex/snatSubList"; + } + + + + @RequestMapping(value = {"/ajaxDnatInfo"}) + public String ajaxDnatInfo(Model model,Long cfgId,Integer index,Integer compileId) { + IpReuseDnatPolicyCfg cfg = ipMultiplexService.getDnatCfg(cfgId, compileId); + List<String[]> tabList = new ArrayList(); + String cfgType = null; + if(!cfg.getCfgType().equals(cfgType)){ + tabList.add(new String[]{"1",cfg.getCfgType()}); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); + model.addAttribute("index", index); + model.addAttribute("tabList", tabList); + return "/cfg/manipulation/ipmulitiplex/dnatSubList"; + } + + /** * 异步获取地址池信息 * @param request diff --git a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java index 2a69634..c62bd2f 100644 --- a/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java +++ b/src/main/java/com/nis/web/controller/configuration/ntc/FileTransferCfgController.java @@ -371,6 +371,24 @@ public class FileTransferCfgController extends BaseController{ return "/cfg/fileTransfer/fileDigestSubList"; } + @RequestMapping(value = {"ajaxFileDigestLogSubIdList"}) + public String ajaxFileDigestLogSubIdList(Model model,Long cfgId,Integer index,Integer compileId) { + FileDigestCfg cfg = fileTransferCfgService.getFileDigestSubIdCfg(cfgId,compileId); + List<String[]> tabList = new ArrayList(); + String cfgType = null; + if(!cfg.getCfgType().equals(cfgType)){ + tabList.add(new String[]{"1",cfg.getCfgType()}); + cfgType = cfg.getCfgType(); + } + model.addAttribute("_cfg", cfg); + model.addAttribute("index", index); + model.addAttribute("tabList", tabList); + return "/cfg/fileTransfer/fileDigestLogSubList"; + } + + + + @RequestMapping(value = {"p2pList"}) public String p2pList(Model model,@ModelAttribute("cfg")CfgIndexInfo cfg,HttpServletRequest request,HttpServletResponse response) { Page<CfgIndexInfo> searchPage=new Page<CfgIndexInfo>(request,response,"a"); diff --git a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java index 4b8803c..51b24a5 100644 --- a/src/main/java/com/nis/web/controller/dashboard/DashboardController.java +++ b/src/main/java/com/nis/web/controller/dashboard/DashboardController.java @@ -233,6 +233,7 @@ public class DashboardController extends BaseController{ list = (List<Map>) fromJsonList.get("data"); //标签集合 List<CodeResult> codeList = CodeDicUtils.getCodeList("protocolCode"); + List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode"); //将数字替换为标签文字 if(list!=null&&!list.isEmpty()){ for (Map map : list) { @@ -244,6 +245,14 @@ public class DashboardController extends BaseController{ break; } } + // 协议没匹配的匹配app码表 + for (CodeResult code : appCodeList) { + Double value3 = Double.valueOf(code.getCode()); + if(value1.equals(value3)){ + map.put("protoType", code.getItem()); + break; + } + } resultList.add(map); } logger.debug("协议统计"+fromJsonList); diff --git a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java index 754ff3c..e90eb68 100644 --- a/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java +++ b/src/main/java/com/nis/web/controller/dashboard/TrafficStatisticsInfoController.java @@ -1,6 +1,7 @@ package com.nis.web.controller.dashboard; import java.lang.reflect.Type; +import java.net.URISyntaxException; import java.net.URLEncoder; import java.text.DecimalFormat; import java.text.SimpleDateFormat; @@ -16,6 +17,7 @@ import java.util.Set; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import org.apache.http.client.utils.URIBuilder; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @@ -34,11 +36,13 @@ import com.google.gson.LongSerializationPolicy; import com.google.gson.reflect.TypeToken; import com.nis.domain.PageLog; import com.nis.domain.dashboard.TrafficIpActiveStatistic; +import com.nis.util.CodeDicUtils; import com.nis.util.Constants; import com.nis.util.DateUtil; import com.nis.util.StringUtil; import com.nis.util.httpclient.HttpClientUtil; import com.nis.web.controller.BaseController; +import com.nis.web.dao.dashboard.codedic.CodeResult; @Controller @RequestMapping("${adminPath}/dashboard/traffic") @@ -111,7 +115,7 @@ public class TrafficStatisticsInfoController extends BaseController { public String bandwidthList(Model model){ Calendar cal = Calendar. getInstance (); cal.setTime(new Date()); - String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 + String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime()); model.addAttribute("beginDate", oneHoursAgo); @@ -149,12 +153,25 @@ public class TrafficStatisticsInfoController extends BaseController { } return resultList; } + public String urlAddDate(String url,String beginDate,String endDate) throws URISyntaxException{ + if(StringUtil.isBlank(beginDate)||StringUtil.isBlank(endDate)){ + Calendar cal = Calendar. getInstance (); + cal.setTime(new Date()); + endDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); + beginDate = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime()); + } + URIBuilder uriBuilder = new URIBuilder(url); + uriBuilder.addParameter("beginDate",beginDate); + uriBuilder.addParameter("endDate",endDate); + return uriBuilder.toString(); + } /** * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 */ @RequestMapping(value="bandwidthTrans") @ResponseBody - public Map ipActiveMinuteList(@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){ + public Map bandwidthTrans(String beginDate,String endDate,@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){ Map<String, Object> fromJsonList = new HashMap<String, Object>(); Map map = new HashMap(); String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_BANDWIDTH_TRANS; @@ -165,6 +182,41 @@ public class TrafficStatisticsInfoController extends BaseController { url=url+"?transType="+transType; } try { + url=urlAddDate(url,beginDate,endDate); + + String string = HttpClientUtil.get(url); + Gson gson = new GsonBuilder().create(); + fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType()); + logger.debug("带宽1小时,间隔5分钟数据"+fromJsonList); + List list = (ArrayList) fromJsonList.get("data"); + if(!StringUtil.isEmpty(list)){ + map=(Map) list.get(0); + } + return map; + } catch (Exception e) { + e.printStackTrace(); + logger.error("带宽详情数据获取错误"+e); + } + return map; + } + /** + * 根据ip46,协议tcp,udp查询带宽 间隔5分钟数据 + */ + @RequestMapping(value="bandwidthTransTwo") + @ResponseBody + public Map bandwidthTransTwo(String beginDate,String endDate,@RequestParam("addrType")String addrType,@RequestParam("transType")Integer transType){ + Map<String, Object> fromJsonList = new HashMap<String, Object>(); + Map map = new HashMap(); + String url = Constants.DASHBOARD_URL+Constants.TRAFFIC_BANDWIDTH_TRANS_TWO; + if(!StringUtil.isBlank(addrType)){ + url=url+"?addrType="+addrType; + } + if(transType!=null){ + url=url+"?transType="+transType; + } + try { + url=urlAddDate(url,beginDate,endDate); + String string = HttpClientUtil.get(url); Gson gson = new GsonBuilder().create(); fromJsonList = gson.fromJson(string, new TypeToken<Map>(){}.getType()); @@ -184,7 +236,14 @@ public class TrafficStatisticsInfoController extends BaseController { * 协议类型详细列表 */ @RequestMapping(value="protocolTypeList") - public String protocolTypeList(){ + public String protocolTypeList(Model model){ + Calendar cal = Calendar. getInstance (); + cal.setTime(new Date()); + String now = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime());//获取到完整的时间 + cal.set(Calendar.HOUR_OF_DAY, cal.get(Calendar.HOUR_OF_DAY) - 1); + String oneHoursAgo = new SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" ).format(cal.getTime()); + model.addAttribute("searchFoundStartTime", oneHoursAgo); + model.addAttribute("searchFoundEndTime", now); return "/dashboard/trafficProtocolTypeList"; } /** @@ -212,9 +271,11 @@ public class TrafficStatisticsInfoController extends BaseController { Double totalGByte=0d; DecimalFormat lf = new DecimalFormat("0"); DecimalFormat df = new DecimalFormat("0.00000000"); + List<CodeResult> appCodeList = CodeDicUtils.getCodeList("appCode"); if(!StringUtil.isEmpty(list)){ for (Object object : list) { Map m=(Map) object; + Double value1 = Double.parseDouble(m.get("protocolType").toString()); totalGByte+=Double.parseDouble(m.get("GByte").toString()); // String linkNum = df.format(m.get("linkNum")); m.put("GByte", df.format(m.get("GByte"))); @@ -222,6 +283,14 @@ public class TrafficStatisticsInfoController extends BaseController { m.put("linkNum", lf.format(m.get("linkNum"))); totalLink+=Long.parseLong( m.get("linkNum").toString()); totalPackets+=Long.parseLong(m.get("packets").toString()); + // 协议没匹配的匹配app码表 + for (CodeResult code : appCodeList) { + Double value3 = Double.valueOf(code.getCode()); + if(value1.equals(value3)){ + m.put("protocolType", code.getItem()); + break; + } + } } for (Object object : list) { Map m=(Map) object; diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java index 1067c95..2f8fead 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.java @@ -12,4 +12,5 @@ import com.nis.web.dao.MyBatisDao; public interface DnsIpCfgDao extends CrudDao<DnsIpCfg> { List<DnsIpCfg> findPage(DnsIpCfg dnsIpCfg); DnsIpCfg getDnsIpCfg(Long cfgId); + List<DnsIpCfg> findDnsIpCfg(DnsIpCfg entity); } diff --git a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml index 79f4609..0fc449c 100644 --- a/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/DnsIpCfgDao.xml @@ -186,6 +186,22 @@ from dns_ip_cfg r where r.cfg_id=#{cfgId} </select> + <select id="findDnsIpCfg" resultMap="dnsIpCfgMap"> + select + <include refid="columns"></include> + from dns_ip_cfg r + <where> + <if test="isAudit != null"> + AND r.is_audit=#{isAudit,jdbcType=INTEGER} + </if> + <if test="isValid != null"> + AND r.is_valid=#{isValid,jdbcType=INTEGER} + </if> + <if test="dnsStrategyId != null"> + AND r.dns_strategy_id=#{dnsStrategyId,jdbcType=INTEGER} + </if> + </where> + </select> <insert id="insert" parameterType="com.nis.domain.configuration.DnsIpCfg" > insert into dns_ip_cfg ( diff --git a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java index 39cda87..a31492f 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java +++ b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.java @@ -35,7 +35,7 @@ public interface IpAddrPoolCfgDao extends CrudDao<IpAddrPoolCfgDao>{ Long getAddrPoolIdByName(String addrPoolName);
- Long checkAddrPoolIp(@Param("srcIpAddress")String ip);
+ IpReuseIpCfg checkAddrPoolIp(@Param("srcIpAddress")String ip);
diff --git a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml index 2b59b14..1134253 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/IpAddrPoolCfgDao.xml @@ -475,15 +475,18 @@ FROM
ip_reuse_addr_pool r
WHERE
- r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1
+ r.addr_pool_name = #{addrPoolName} AND r.is_valid != -1 AND r.is_audit != 3
</select>
- <select id="checkAddrPoolIp" resultType="java.lang.Long">
+ <select id="checkAddrPoolIp" resultType="com.nis.domain.basics.IpReuseIpCfg">
SELECT
- r.cfg_id
+ r.cfg_id,r.src_ip_address
FROM
ip_reuse_ip_cfg r
WHERE
- r.src_ip_address = #{srcIpAddress} AND r.is_valid != -1 AND r.is_audit != 3
+ r.src_ip_address = #{srcIpAddress} AND
+ r.is_valid != -1 AND
+ r.is_audit != 3 AND
+ r.user_region1 IS NOT NULL
</select>
</mapper>
\ No newline at end of file diff --git a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java index 02f7d55..4e7d6d9 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java +++ b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.java @@ -40,5 +40,8 @@ public interface IpMultiplexDao extends CrudDao<IpMultiplexDao>{ List<BaseIpCfg> findPageDnat(IpReuseDnatPolicyCfg entity); List<IpReuseDnatPolicyCfg> findDnatList(@Param("cfgId")Long cfgId, @Param("isValid")Integer isValid); - + + IpReusePolicyCfg getSnatCfg(@Param("cfgId")Long cfgId,@Param("compileId")Integer compileId); + + IpReuseDnatPolicyCfg getDnatCfg(@Param("cfgId")Long cfgId,@Param("compileId")Integer compileId); } diff --git a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml index 34ea2d5..c72340a 100644 --- a/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml +++ b/src/main/java/com/nis/web/dao/configuration/IpMultiplexDao.xml @@ -711,4 +711,32 @@ </where> ORDER BY a.cfg_id </select> + + <select id="getSnatCfg" resultMap="policyMap"> + select + <include refid="policyColumns"></include> + from ip_reuse_policy_cfg r + <where> + <if test="cfgId !=null"> + r.CFG_ID = #{cfgId,jdbcType=BIGINT} + </if> + <if test="compileId != null"> + AND r.COMPILE_ID=#{compileId,jdbcType=INTEGER} + </if> + </where> + </select> + + <select id="getDnatCfg" resultMap="dnatPolicyMap"> + select + <include refid="dnatPolicyColumns"></include> + from ip_reuse_dnat_policy a + <where> + <if test="cfgId !=null"> + a.CFG_ID = #{cfgId,jdbcType=BIGINT} + </if> + <if test="compileId != null"> + AND a.COMPILE_ID=#{compileId,jdbcType=INTEGER} + </if> + </where> + </select> </mapper>
\ No newline at end of file diff --git a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java index 9768432..0efa7f5 100644 --- a/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/DnsIpCfgService.java @@ -21,6 +21,7 @@ import com.nis.domain.configuration.DnsIpCfg; import com.nis.domain.maat.ToMaatResult; import com.nis.exceptions.MaatConvertException; import com.nis.util.ConfigServiceUtil; +import com.nis.util.Constants; import com.nis.web.dao.configuration.DnsIpCfgDao; import com.nis.web.security.UserUtils; import com.nis.web.service.BaseService; @@ -47,6 +48,9 @@ public class DnsIpCfgService extends BaseService{ return page; } + public List<DnsIpCfg> findDnsIpCfg(DnsIpCfg entity) { + return dnsIpCfgDao.findDnsIpCfg(entity); + } public DnsIpCfg getDnsIpCfg(Long cfgId) { return dnsIpCfgDao.getDnsIpCfg(cfgId); } @@ -115,6 +119,75 @@ public class DnsIpCfgService extends BaseService{ dnsIpCfgDao.update(entity); } } + @Transactional(readOnly=false,rollbackFor=RuntimeException.class) + public void saveAndAudit(){ + DnsIpCfg dnsIp=new DnsIpCfg(); + dnsIp.setIpType(4); + dnsIp.setDirection(0); + dnsIp.setProtocolId(0); + dnsIp.setProtocol(0); + dnsIp.setIsValid(1); + dnsIp.setIsAudit(1); + dnsIp.setRequestId(0); + dnsIp.setClassify("0"); + dnsIp.setAttribute("0"); + dnsIp.setLable("0"); + dnsIp.setFunctionId(401); + dnsIp.setCfgRegionCode(1); + dnsIp.setCfgType("dns_fake_ip"); + dnsIp.setIpPattern(3); + dnsIp.setSrcIpAddress("0.0.0.0"); + dnsIp.setDestPort("0"); + dnsIp.setSrcPort("0"); + dnsIp.setPortPattern(1); + dnsIp.setDnsStrategyId(0); + dnsIp.setAction(16); + dnsIp.setServiceId(64); + dnsIp.setIsAreaEffective(0); + dnsIp.setAreaEffectiveIds(""); + dnsIp.setCreateTime(new Date()); + dnsIp.setCreatorId(UserUtils.getUser().getId()); + dnsIp.setAuditorId(UserUtils.getUser().getId()); + dnsIp.setAuditTime(new Date()); + dnsIp.setCfgDesc(Constants.DNS_SPOOFING_IP_DESC); + dnsIp.setDestIpAddress(Constants.DNS_SPOOFING_IP_IP); + //调用服务接口获取compileId + List<Integer> compileIds = new ArrayList<Integer>(); + try { + compileIds = ConfigServiceUtil.getId(1,1); + } catch (Exception e) { + e.printStackTrace(); + logger.info("获取编译ID出错"); + throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>:"+e.getMessage()); + } + if(compileIds != null && compileIds.size() >0 && compileIds.get(0) != 0){ + dnsIp.setCompileId(compileIds.get(0)); + + }else{ + throw new MaatConvertException("<spring:message code=\"request_service_failed\"/>"); + } + + dnsIpCfgDao.insert(dnsIp); + + String json=""; + List<InlineIp> resStrategyList=new ArrayList<InlineIp>(); + InlineIp resStrategy=convertCallBackIp(dnsIp,dnsIp.getDnsStrategyId()); + resStrategyList.add(resStrategy); + //调用服务接口下发配置数据 + json=gsonToJson(resStrategyList); + logger.info("DNS欺骗ip配置下发配置参数:"+json); + //调用服务接口下发配置 + try { + ToMaatResult result = ConfigServiceUtil.postCallbackCfg(json); + if(result!=null){ + logger.info("DNS欺骗ip配置下发响应信息:"+result.getMsg()); + } + } catch (Exception e) { + logger.error("DNS欺骗ip配置下发失败",e); + throw e; + } + + } /** * * @param isAudit diff --git a/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java b/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java index 8ede5c5..eadb57e 100644 --- a/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java +++ b/src/main/java/com/nis/web/service/configuration/IpAddrPoolCfgService.java @@ -288,7 +288,7 @@ public class IpAddrPoolCfgService extends BaseService{ return ipAddrPoolCfgDao.findAddrPoolCfg();
}
- public Long checkAddrPoolIp(String ip) {
+ public IpReuseIpCfg checkAddrPoolIp(String ip) {
return ipAddrPoolCfgDao.checkAddrPoolIp(ip);
}
diff --git a/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java b/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java index c6cc5e5..fb42313 100644 --- a/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java +++ b/src/main/java/com/nis/web/service/configuration/IpMultiplexService.java @@ -16,6 +16,7 @@ import org.springframework.transaction.annotation.Transactional; import com.beust.jcommander.internal.Lists; import com.nis.domain.Page; import com.nis.domain.configuration.BaseIpCfg; +import com.nis.domain.configuration.DdosIpCfg; import com.nis.domain.configuration.IpReuseDnatPolicyCfg; import com.nis.domain.configuration.IpReusePolicyCfg; import com.nis.domain.maat.ToMaatResult; @@ -308,4 +309,11 @@ public class IpMultiplexService extends BaseService{ } } + public IpReusePolicyCfg getSnatCfg(Long cfgId,Integer compileId) { + return ipMultiplexDao.getSnatCfg(cfgId,compileId); + } + + public IpReuseDnatPolicyCfg getDnatCfg(Long cfgId,Integer compileId) { + return ipMultiplexDao.getDnatCfg(cfgId,compileId); + } } |
