USG5150HSR这个系列的防火墙我没用过,不过原理应该差不多。
原有链路所在端口设置为域network1,后租用链路设置为域network2。
现在针对你的目标:
1、在两条链路都通畅时,内网用户在访问外网58.0.0.0/8这个网段的网站时,流量走原有的链路;当用户访问其他非58.0.0.0/8这个网段的网站时,流量走后租用的这条链路。
---配置静态路由 ip static-route 58.0.0.0 255.0.0.0 10.100.10.1 //目的地址为58.0.0.0/8的下一跳10.100.10.1。另外再配置一条缺省路由 ip static-route 0.0.0.0 0.0.0.0 172.100.10.1 //目的地址为非58.0.0.0/8的,下一跳为172.100.10.1
2、 当两条链路中的任意一条链路出现故障断开时,用户访问外网的所有流量走没有故障的链路。
---这个可以通过配置静态路由优先级的做法来实现,静态路由默认优先级为60,可以加一条优先级为70的静态路由ip static-route 58.0.0.0 255.0.0.0 172.100.10.1 preference 70, ip static-route 0.0.0.0 0.0.0.0 10.100.10.1 preference 70。
假设内网服务器所连接的防火墙端口为域trust,然后设置trust域到network2域的域间nat outbound,做ACL为允许58.30.0.0/24段放通,做nat转换,地址池为219.249.239.2—219.249.239.4。这样基本就完成你所需达到目标的配置了,当然我所说的这些指令是华为“一道门”系列防火墙的配置指令,USG5150HSR可能指令略有出入,但思路基本一样。
另外回答你的问题:
用户在访问外网时,是先根据数据包的源或目标地址在路由表中查找走哪一条链路,然后把数据发送到指定链路接口,并对用户地址做转换(NAT);还是在根据数据包的源或目标地址在路由表中查找路由的同时就把用户的IP地址做NAT转换,然后再把数据包发送到指定的链路接口。
---以上面的配置为例,trust域的服务器通过你后租用链路访问公网,首先数据包送到防火墙时,防火墙会根据你包的目的地址判断应该走的接口为network2域这个端口,因为跨域了,会去匹配域间规则,匹配顺序为先检测是否能够从trust域放通到network2域,如果通过,继续做nat规则匹配,如果匹配上nat规则,做nat转换后送往下一跳访问公网。
不知道我的答案说的是否明白?
不容易啊,给个好评吧 :)