USG作为校园或大型企业出口网关可以实现内网用户通过两个运营商访问Internet可以实现外网用户访问内网服务器,并保护内网不受网络攻击。
组网需求:
某学校网络通过USG连接到Internet,校内组网情况如下:
校内用户主要分布在教学楼和宿舍区,通过汇聚交换机连接到USG。图书馆内部署的两台服务器是该校主页、招生及资源共享等网站。
学校分别通过两个不同运营商(ISP1和ISP2)连接到Internet,两个运营商分别为该校分配了5个IP地址。ISP1分配的IP地址是200.1.1.1~200.1.1.5,ISP2分配的IP地址是202.1.1.1~202.1.1.5,掩码均为24位。
该学校网络需要实现以下需求:
校内用户能够通过两个运营商访问Internet,且去往不同运营商的流量由USG上连接该运营商的对应的接口转发。
当一条链路出现故障时,流量可以被及时切换到另一条链路上,避免网络长时间中断。
校内用户和校外用户都可以访问图书馆中部署的2台服务器。
保护内部网络不受SYN Flood、UDP Flood和ICMP Flood的攻击。
图1 出口网关双链路接入不同运营商举例一组网图
为了实现校园网用户使用有限公网IP地址接入Internet,需要配置NAPT方式的NAT,借助端口将多个私网IP地址转换为有限的公网IP地址。
由于校园网连接两个运营商,因此需要分别进行地址转换,将私网地址转换为公网地址。即创建两个安全区域ISP1和ISP2(安全优先级低于DMZ区域),并分别在Trust—ISP1域间、Trust—ISP2域间配置NAT策略。
为了实现去往不同运营商的流量由对应接口转发,需要收集ISP1和ISP2所属网段的信息,并配置到这些网段的静态路由。使去往ISP1的流量通过连接ISP1的接口转发,去往ISP2的流量通过连接ISP2的接口转发。
为了提高链路可靠性,避免业务中断,需要配置两条缺省路由。当报文无法匹配静态路由时,通过缺省路由发送给下一跳。
由于图书馆的服务器部署在内网,其IP地址为私网IP地址。如果想对校外用户提供服务,就需要将服务器的私网IP地址转换为公网IP地址。即分别基于ISP1、ISP2区域配置NAT Server。
在USG上启用攻击防范功能,保护校园网内部网络。
操作步骤:
1.配置USG各接口的IP地址并将接口加入安全区域。
# 配置USG各接口的IP地址。
<USG> system-view
[USG] interface GigabitEthernet 0/0/0
[USG-GigabitEthernet0/0/0] ip address 10.1.1.1 16
[USG-GigabitEthernet0/0/0] quit
[USG] interface GigabitEthernet 0/0/1
[USG-GigabitEthernet0/0/1] ip address 192.168.1.1 24
[USG-GigabitEthernet0/0/1] quit
[USG] interface GigabitEthernet 0/0/2
[USG-GigabitEthernet0/0/2] ip address 200.1.1.1 24
[USG-GigabitEthernet0/0/2] quit
[USG] interface GigabitEthernet 5/0/0
[USG-GigabitEthernet5/0/0] ip address 202.1.1.1 24
[USG-GigabitEthernet5/0/0] quit
# 将GigabitEthernet 0/0/0接口加入Trust安全区域
[USG] firewall zone trust
[USG-zone-trust] add interface GigabitEthernet 0/0/0
[USG-zone-trust] quit
# 将GigabitEthernet 0/0/1接口加入DMZ安全区域
[USG] firewall zone dmz
[USG-zone-dmz] add interface GigabitEthernet 0/0/1
[USG-zone-dmz] quit
# 创建安全区域ISP1,并将GigabitEthernet 0/0/2接口加入ISP1
[USG] firewall zone name isp1
[USG-zone-isp1] set priority 15
[USG-zone-isp1] add interface GigabitEthernet 0/0/2
[USG-zone-isp1] quit
# 创建安全区域ISP2,并将GigabitEthernet 5/0/0接口加入ISP2
[USG] firewall zone name isp2
[USG-zone-isp2] set priority 20
[USG-zone-isp2] add interface GigabitEthernet 5/0/0
[USG-zone-isp2] quit
2. 配置域间包过滤及ASPF功能,对校内外数据流进行访问控制。
# 配置Trust—ISP1的域间包过滤,允许校内用户访问ISP1
[USG] policy interzone trust isp1 outbound
[USG-policy-interzone-trust-isp1-outbound] policy 1
[USG-policy-interzone-trust-isp1-outbound-1] policy source 10.1.0.0 0.0.255.255
[USG-policy-interzone-trust-isp1-outbound-1] action permit
[USG-policy-interzone-trust-isp1-outbound-1] quit
[USG-policy-interzone-trust-isp1-outbound] quit
# 配置Trust—ISP2的域间包过滤,允许校内用户访问ISP2
[USG] policy interzone trust isp2 outbound
[USG-policy-interzone-trust-isp2-outbound] policy 1
[USG-policy-interzone-trust-isp2-outbound-1] policy source 10.1.0.0 0.0.255.255
[USG-policy-interzone-trust-isp2-outbound-1] action permit
[USG-policy-interzone-trust-isp2-outbound-1] quit
[USG-policy-interzone-trust-isp2-outbound] quit
# 配置ISP1—DMZ的域间包过滤,允许校外用户访问DMZ区域的服务器(注意Policy配置目的地址为服务器的内网地址)
[USG] policy interzone dmz isp1 inbound
[USG-policy-interzone-dmz-isp1-inbound] policy 1
[USG-policy-interzone-dmz-isp1-inbound-1] policy destination 192.168.1.5 0
[USG-policy-interzone-dmz-isp1-inbound-1] policy destination 192.168.1.10 0
[USG-policy-interzone-dmz-isp1-inbound-1] action permit
[USG-policy-interzone-dmz-isp1-inbound-1] quit
[USG-policy-interzone-dmz-isp1-inbound] quit
# 配置ISP2—DMZ的域间包过滤,允许校外用户访问DMZ区域的服务器(注意Policy配置目的地址为服务器的内网地址)
[USG] policy interzone dmz isp2 inbound
[USG-policy-interzone-dmz-isp2-inbound] policy 1
[USG-policy-interzone-dmz-isp2-inbound-1] policy destination 192.168.1.5 0
[USG-policy-interzone-dmz-isp2-inbound-1] policy destination 192.168.1.10 0
[USG-policy-interzone-dmz-isp2-inbound-1] action permit
[USG-policy-interzone-dmz-isp2-inbound-1] quit
[USG-policy-interzone-dmz-isp2-inbound] quit
# 配置Trust—DMZ的域间包过滤,允许校内用户访问服务器
[USG] policy interzone trust dmz outbound
[USG-policy-interzone-trust-dmz-outbound] policy 1
[USG-policy-interzone-trust-dmz-outbound-1] policy source 10.1.0.0 0.0.255.255
[USG-policy-interzone-trust-dmz-outbound-1] policy destination 192.168.1.5 0
[USG-policy-interzone-trust-dmz-outbound-1] policy destination 192.168.1.10 0
[USG-policy-interzone-trust-dmz-outbound-1] action permit
[USG-policy-interzone-trust-dmz-outbound-1] quit
[USG-policy-interzone-trust-dmz-outbound] quit
# 在域间开启ASPF功能,防止多通道协议无法建立连接
[USG] firewall interzone trust isp1
[USG-interzone-trust-isp1] detect ftp
[USG-interzone-trust-isp1] detect qq
[USG-interzone-trust-isp1] detect msn
[USG-interzone-trust-isp1] quit
[USG] firewall interzone trust isp2
[USG-interzone-trust-isp2] detect ftp
[USG-interzone-trust-isp2] detect qq
[USG-interzone-trust-isp2] detect msn
[USG-interzone-trust-isp2] quit
[USG] firewall interzone dmz isp1
[USG-interzone-dmz-isp1] detect ftp
[USG-interzone-dmz-isp1] quit
[USG] firewall interzone dmz isp2
[USG-interzone-dmz-isp2] detect ftp
[USG-interzone-dmz-isp2] quit
[USG] firewall interzone trust dmz
[USG-interzone-trust-dmz] detect ftp
[USG-interzone-trust-dmz] quit
3.配置NAT策略,使内网用户通过转换后的公网IP地址访问Internet。
# 配置应用于Trust—ISP1域间的NAT地址池1。地址池1包括ISP1提供的两个IP地址200.1.1.2和200.1.1.3
[USG] nat address-group 1 200.1.1.2 200.1.1.3
# 配置应用于Trust—ISP2域间的NAT地址池2。地址池2包括ISP2提供的两个IP地址202.1.1.2和202.1.1.3
[USG] nat address-group 2 202.1.1.2 202.1.1.3
# 在Trust—ISP1域间配置NAT策略,将校内用户的私网IP地址转换为ISP1提供的公网IP地址
[USG] nat-policy interzone trust isp1 outbound
[USG-nat-policy-interzone-trust-isp1-outbound] policy 1
[USG-nat-policy-interzone-trust-isp1-outbound-1] policy source 10.1.0.0 0.0.255.255
[USG-nat-policy-interzone-trust-isp1-outbound-1] action source-nat
[USG-nat-policy-interzone-trust-isp1-outbound-1] address-group 1
[USG-nat-policy-interzone-trust-isp1-outbound-1] quit
[USG-nat-policy-interzone-trust-isp1-outbound] quit
# 在Trust—ISP2域间配置NAT策略,将校内用户的私网IP地址转换为ISP2提供的公网IP地址
[USG] nat-policy interzone trust isp2 outbound
[USG-nat-policy-interzone-trust-isp2-outbound] policy 1
[USG-nat-policy-interzone-trust-isp2-outbound-1] policy source 10.1.0.0 0.0.255.255
[USG-nat-policy-interzone-trust-isp2-outbound-1] action source-nat
[USG-nat-policy-interzone-trust-isp2-outbound-1] address-group 2
[USG-nat-policy-interzone-trust-isp2-outbound-1] quit
[USG-nat-policy-interzone-trust-isp2-outbound] quit
4.配置多条静态路由和两条缺省路由,实现网络的双出口特性和链路的可靠性。
# 为特定目的IP地址的报文指定出接口,目的地址为IPS1的指定出接口为GigabitEthernet 0/0/2、目的地址为ISP2的指定出接口为GigabitEthernet 5/0/0
注: 实际场景中,可能需指定多条静态路由,为特定目的IP地址配置明细路由。因此需要咨询运营商获取ISP所属网段信息。本例中仅给出了四条静态路由的配置。
[USG] ip route-static 200.1.2.3 24 GigabitEthernet 0/0/2 200.1.1.10
[USG] ip route-static 200.2.2.1 24 GigabitEthernet 0/0/2 200.1.1.10
[USG] ip route-static 202.1.2.3 24 GigabitEthernet 5/0/0 202.1.1.10
[USG] ip route-static 202.2.3.4 24 GigabitEthernet 5/0/0 202.1.1.10
# 配置两条缺省路由,当报文无法匹配静态路由时,通过缺省路由发送给下一跳
[USG] ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet 0/0/2 200.1.1.10
[USG] ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet 5/0/0 202.1.1.10
5.配置NAT Server,使校内和校外用户能够通过公网IP地址访问图书馆的服务器。
# 配置基于ISP1区域的NAT Server,使ISP1的用户能够通过200.1.1.4访问Web服务器,通过200.1.1.5访问FTP服务器
[USG] nat server zone isp1 global 200.1.1.4 inside 192.168.1.5
[USG] nat server zone isp1 global 200.1.1.5 inside 192.168.1.10
# 配置基于ISP2区域的NAT Server,使ISP2的用户能够通过202.1.1.4访问Web服务器,通过202.1.1.5访问FTP服务器
[USG] nat server zone isp2 global 202.1.1.4 inside 192.168.1.5
[USG] nat server zone isp2 global 202.1.1.5 inside 192.168.1.10
6.配置攻击防范功能,保护校园网络。
# 开SYN Flood、UDP Flood和ICMP Flood攻击防范功能,并限制每条会话允许通过的ICMP报文最大速率为5包/秒
[USG] firewall defend syn-flood enable
[USG] firewall defend udp-flood enable
[USG] firewall defend icmp-flood enable
[USG] firewall defend icmp-flood base-session max-rate 5
结果验证
1.执行命令display nat address-group和display nat server,可以看到配置的NAT地址池和内部服务器信息。
2.通过在网络中操作,检查业务是否能够正常实现。
# 在校园网内的一台主机上,访问ISP1所属网段的一台服务器(IP地址为200.1.2.3),通过执行命令display firewall session table,可以看到私网IP地址转换成了ISP1的公网IP地址
[USG] display firewall session table
Current Total Sessions : 1
http VPN: public -> public 10.1.2.2:1674[200.1.1.2:12889]-->200.1.2.3:80
# 在Internet的一台主机上(所属ISP2网段),访问学校的FTP Server(对外IP地址为200.1.1.5),通过执行命令display firewall server-map,可以看到服务器的IP地址进行了转换
[USG] display firewall server-map
server-map item(s)
------------------------------------------------------------------------------
Nat Server, ANY -> 200.1.1.5[192.168.1.10], Zone: isp1
Protocol: ANY(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---
VPN: public -> public
Nat Server Reverse, 192.168.1.10[200.1.1.5] -> ANY, Zone: isp1
Protocol: ANY(Appro: ---), Left-Time: --:--:--, Addr-Pool: ---
VPN: public -> public