1、起初虚拟化平台中使用USG6330上联ISP线路,只接入了一根线路;下联S5700三层交换机(三台做的堆叠)。在三层交换机上启了几个VLAN作为业务网端,并配置vlan地址,放置业务服务器(并未放置在DMZ);USG6330和S5700这间通过互通地址通讯,USG端10.10.12.253,S5700端10.10.12.254,所有vlan下跳地址指向10.10.12.254。所有VLAN划为trust区域,ISP为untrust区域(为后面区分,这里定义为untrustA),通过trust到untrustA的源nat区域转换,所有VLAN就可以访问外网。这种情况下所有VLAN间可以正常通信;服务器通过映射也能正常对外提供服务;非同一VLAN内的机器,从内网通过公网地址去访问内网服务器可以正常访问,但同一VLAN内的机器从内网通过公网地址互访不成功,业务初期,没有同一VLAN机器通过公网地址访问的需求,所以并未关注同一vlan、不同vlan之间通过公网IP访问的问题,事实上这是不行的。


2、随着平台扩容,在USG6330上联接口增加了一条ISP线路,划分了一个单独的untrust区域(这里定义为untrustB),下联再增加了S5700三层交换机(三台堆叠),并针对业务划分了相应的VLAN,同样划分一个互通网段作为USG6330和S5700通讯,USG端10.100.2.253,S5700端10.100.2.254。此时扩容后的VLAN间通信、到外网的访问和扩容前的配置、状况一样。扩容前和扩容后的两个环境是独立的,只是共用了防火墙,但是在防火墙下联口以下是独自运行的,使用的是策略路由进行流量控制。


3、在扩容前的平台内有一台邮件服务器(MAILA),后来在扩容后的平台内创建了一台邮件服务器(MAILB),测试发现两个服务器之间不能进行邮件通信。内网不能访问这是正常的,原因在于在逻辑上他们本来就处于独立平台中,但在MAILA上通过公网IP不能访问MAILB,MAILB也不能通过公网IP访问MAILA,同时在MAILA所在的VLAN内访问MAILA不成功,MAILB存在同样的状况。


以上问题可以归结为:

1、同一vlan内的机器不能通过公网IP互访;

2、USG6330以下不同VLAN之间通过公网IP不能互访。


同一vlan内的机器互访可以通过源NAT的方式来解决,也就是关于端口回流的问题,导致发送的请求在二次握手时出现错误,访问就会失败。被根据华为的配置事例配置即可,但配置事例中需要ISP端配置一条路由来配合,这就比较麻烦,可以用USG6330上用策略路由来做转发限制,同时配置源NAT,解决的是两个问题:源NAT解决把请求引至防火墙上;把同一个vlan内的请求用策略路由做限制是使流量不用出防火墙,解决回环路由问题。


扩容后的平台内有两条ISP线路,根据策略路由优先原则,当通过公网IP发起请求时,默认会发把求发往公网,下一跳即为USG6330上公网IP段的网关,因为回环路由原因,ISP端路由器会把这个请求直接丢弃,导致请求失败。不同vlan间的机器互相访问可直接通过策略路由限制转发来解决,使请求从源内网发起,在防火墙上查找对应NAT,在策略路由限制转发条件下使用静态路由,到达目的内网,完成请求。


解决以上问题耗时较长,解决的方式不是从最简单原理进行分析然后处理,而是一步一步试出来的,颇费周折。所以对于网络原理的学习非常重要,这样可以录活运用;对于所有的策略和配置应该做好规划便于维护。