校园网(大型企业)出口网关举例
发布时间:2012-12-17 14:28:26
发布时间:2012-12-17 14:28:26
校园网(大型企业)出口网关举例
USG作为校园或大型企业出口网关可以实现内网用户通过两个运营商访问Internet,还可以避免P2P流量阻塞网络,并保护内网不受网络攻击。
组网需求
某学校网络通过USG连接到Internet,校内组网情况如下:
∙ 学校有校内用户约500个、提供对外访问的服务器2台。校内用户主要分布在教学楼和宿舍区,校内2台提供对外访问的服务器分布在图书馆,是该校主页、招生及资源共享等网站。
∙ 学校分别通过两个不同运营商链路连接到Internet,带宽都是100M。
两个运营商ISP1、ISP2分别为该校分配了5个IP地址。ISP1分配的IP地址是200.1.1.1~200.1.1.5,ISP2分配的IP地址是202.1.1.1~202.1.1.5。
ISP1提供的接入点为200.1.1.10,ISP2提供的接入点为202.1.1.10。
该学校网络需要实现以下需求:
∙ 校内用户能够通过两个运营商访问Internet,且为了提高访问速度,需要去往不同运营商的流量由分别连接两个运营商的对应接口转发。
∙ 当一条链路出现故障时,能够保证流量及时切换到另一条链路,避免网络长时间中断。
∙ 校内用户和校外用户都能够访问学校提供对外访问的服务器。
∙ 由于该学校P2P流量较大,对网络影响严重,需要对校内用户进行P2P限流。
∙ 需要保护内部网络不受到SYN Flood、UDP Flood和ICMP Flood攻击。
网络规划
根据校园网络情况和需求,网络规划如下:
∙ 为了实现校园网用户使用有限公网IP地址接入Internet,需要配置NAPT方式的NAT,借助端口将多个私网IP地址转换为有限的公网IP地址。
由于校园网连接两个运营商,因此需要分别进行地址转换,将私网地址转换为公网地址。即创建两个安全区域ISP1和ISP2(安全优先级低于DMZ区域),并分别在Trust—ISP1域间、Trust—ISP2域间配置NAT outbound。
∙ 为了实现去往不同运营商的流量由对应接口转发,需要收集ISP1和ISP2所属网段的信息,并配置到这些网段的静态路由。使去往ISP1的流量通过连接ISP1的接口转发,去往ISP2的流量通过连接ISP2的接口转发。
为了提高链路可靠性,避免业务中断,需要配置两条缺省路由。当报文无法匹配静态路由时,通过缺省路由发送给下一跳。
∙ 由于图书馆的服务器部署在内网,其IP地址为私网IP地址。如果想对校外用户提供服务,就需要将服务器的私网IP地址转换为公网IP地址。即分别基于ISP1、ISP2区域配置NAT Server。
∙ 由于运营商提供给该学校的带宽为2*100M,为了保证其他业务不受影响,将P2P流量限制在30M。
∙ 在USG上启用攻击防范功能,保护校园网内部网络。
网络规划后的组网图如图1所示。
图1 网络规划后组网图
项目 | 数据 | 说明 |
(1) | 接口号:GigabitEthernet 0/0/0 IP地址:10.1.1.1/16 安全区域:Trust | GigabitEthernet 0/0/0是连接内网汇聚交换机的接口。 校内用户分配到网段为10.1.0.0 255.255.0.0的私网地址,部署在Trust区域。 |
(2) | 接口号:GigabitEthernet 0/0/1 IP地址:192.168.1.1/24 安全区域:DMZ | GigabitEthernet 0/0/1是连接图书馆服务器的接口。 图书馆区部署在DMZ区域。 |
(3) | 接口号:GigabitEthernet 0/0/2 IP地址:200.1.1.1/24 安全区域:ISP1 安全优先级:15 | GigabitEthernet 0/0/2是连接ISP1的接口,去往ISP1所属网段的数据通过GigabitEthernet 0/0/2转发。 ISP1接入点的IP地址为200.1.1.10。 |
(4) | 接口号:GigabitEthernet 5/0/0 IP地址:202.1.1.1/24 安全区域:ISP2 安全优先级:20 | GigabitEthernet 5/0/0是连接ISP2的接口。去往ISP2所属网段的数据通过GigabitEthernet 5/0/0转发。 ISP2接入点的IP地址为202.1.1.10。 |
Web服务器 | 内网IP:192.168.1.5 转换成的ISP1的公网IP:200.1.1.4 转换成的ISP2的公网IP:202.1.1.4 | 对于ISP1所属网段的外部用户,Web服务器的IP地址为200.1.1.4。 对于ISP2所属网段的外部用户,Web服务器的IP地址为202.1.1.4。 |
FTP服务器 | 内网IP:192.168.1.10 转换成的ISP1的公网IP:200.1.1.5 转换成的ISP2的公网IP:202.1.1.5 | 对于ISP2所属网段的外部用户,Web服务器的IP地址为200.1.1.5。 对于ISP2所属网段的外部用户,Web服务器的IP地址为202.1.1.5。 |
ISP1分配给学校的IP地址 | 200.1.1.1~200.1.1.5 | 其中200.1.1.1用作USG的出接口地址,200.1.1.2和200.1.1.3用作Trust—ISP1域间的NAT地址池1的地址。 |
ISP2分配给学校的IP地址 | 202.1.1.1~202.1.1.5 | 其中202.1.1.1用作USG的出接口地址,202.1.1.2和202.1.1.3用作Trust—ISP2域间的NAT地址池2的地址。 |
操作步骤
1. 配置USG各接口的IP地址并将接口加入安全区域。
# 配置USG各接口的IP地址。
[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 outbound,使内网用户通过转换后的公网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 outbound,将校内用户的私网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 outbound,将校内用户的私网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
# 配置两条缺省路由,当报文无法匹配静态路由时,通过缺省路由发送给下一跳。为两条缺省路由设置不同的优先级,使不能匹配静态路由的报文优先通过GigabitEthernet 0/0/2接口转发到ISP1。
[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 preference 200
说明:
∙ 正常情况下,去往ISP1的流量通过GigabitEthernet 0/0/2转发,去往ISP2的流量通过GigabitEthernet 5/0/0转发,不能匹配静态路由的流量通过GigabitEthernet 0/0/2转发。
∙ 如果去往ISP1的链路发生故障,所有流量通过GigabitEthernet 5/0/0转发;如果去往ISP2的链路发生故障,所有流量通过GigabitEthernet 0/0/2转发。
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. 配置DPI控制P2P行为,将网络中P2P总流量限制在30M。
注意:
使用DPI功能前请确保已购买并在设备上激活含DPI功能的License。
# 启用DPI功能,定义应用协议集Network_Control,并将P2P类型协议加入该应用协议集。
[USG] dpi enable
[USG] dpi
[USG-dpi] app-set Network_Control
[USG-app-set-Network_Control] category p2p
[USG-app-set-Network_Control] quit
[USG-dpi] quit
# 定义数据流分类P2P供QoS策略调用。
[USG] traffic classifier P2P
[USG-classifier-P2P] if-match any
[USG-classifier-P2P] quit
# 定义流行为CAR供QoS策略调用,限定平均速率为和突发速率均为30M。即P2P流量超过30M后,立即丢弃超出部分的报文。
[USG] traffic behavior CAR
[USG-behavior-CAR] car cir 30000000 cbs 30000000
[USG-behavior-CAR] quit
# 配置QoS策略P2P_CAR,调用配置好的流分类和流行为,作为DPI模块检测到相关协议后的限速动作。
[USG] qos policy P2P_CAR
[USG-qospolicy-P2P_CAR] classifier P2P behavior CAR
[USG-qospolicy-P2P_CAR] quit
# 配置DPI规则,调用配置好的应用协议集和QoS策略。
[USG] dpi
[USG-dpi] rule 1 if-match app-set Network_Control apply policy P2P_CAR
[USG-dpi] quit
7. 配置攻击防范功能,保护校园网络。
注意:
请根据网络实际情况开启攻击防范功能和调整报文速率阈值,本例中配置的攻击防范功能仅供参考。
# 开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 all,可以看到配置的NAT地址池和内部服务器信息。
2. [USG] display nat all
3.
4. NAT address-group information:
5. number : 1 name : ---
6. startaddr : 200.1.1.2 endaddr : 200.1.1.3
7. reference : 0 vrrp : ---
8. vpninstance : public
9.
10. number : 2 name : ---
11. startaddr : 202.1.1.2 endaddr : 202.1.1.3
12. reference : 1 vrrp : ---
13. vpninstance : public
14.
15. Total 2 address-groups
16.
17. Server in private network information:
18. id : 0
19. zone : isp1
20. globaladdr : 200.1.1.4 insideaddr : 192.168.1.5
21. globalport : --- insideport : ---
22. globalvpn : public insidevpn : public
23. protocol : --- vrrp : ---
24.
25. id : 1
26. zone : isp1
27. globaladdr : 200.1.1.5 insideaddr : 192.168.1.10
28. globalport : --- insideport : ---
29. globalvpn : public insidevpn : public
30. protocol : --- vrrp : ---
31.
32. id : 3
33. zone : isp2
34. globaladdr : 202.1.1.4 insideaddr : 192.168.1.5
35. globalport : --- insideport : ---
36. globalvpn : public insidevpn : public
37. protocol : --- vrrp : ---
38.
39. id : 4
40. zone : isp2
41. globaladdr : 202.1.1.5 insideaddr : 192.168.1.10
42. globalport : --- insideport : ---
43. globalvpn : public insidevpn : public
44. protocol : --- vrrp : ---
45.
Total 4 NAT servers
46. 通过在网络中操作,检查业务是否能够正常实现。
# 在校园网内的一台主机上,访问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
47. 执行命令display dpi statistic,可以看到由于P2P类型的流量由于超过了配置的限定速率,超出部分报文被丢弃。
48. [USG] display dpi statistic
49. DPI Statistic Information
50. Codes: DPI(Deep Protocol Inspection)
51. --------------------------------------------------------------------------------
52. AppName RcvPkt ACLDropPkt QosCarPkt CurConn IPCarConn TotalConn
53. --------------------------------------------------------------------------------
54. http 1001869 0 0 0 0 48
55. ftp_signal 28 0 0 0 0 5
56. bt_data 78234 0 433 0 0 2125
57. netbios 1789 0 0 0 0 167
58. smb 4035 0 0 0 0 481
59. telnet 28829 0 0 0 0 14
60. --------------------------------------------------------------------------------
Total Application Number : 6
配置脚本
USG配置脚本:
#
nat address-group 1 200.1.1.2 200.1.1.3
nat address-group 2 202.1.1.2 202.1.1.3
nat server 0 zone isp1 global 200.1.1.4 inside 192.168.1.5
nat server 1 zone isp1 global 200.1.1.5 inside 192.168.1.10
nat server 2 zone isp2 global 202.1.1.4 inside 192.168.1.5
nat server 3 zone isp2 global 202.1.1.5 inside 192.168.1.10
#
firewall defend icmp-flood enable
firewall defend udp-flood enable
firewall defend syn-flood enable
firewall defend icmp-flood base-session max-rate 5
#
dpi enable
#
traffic classifier P2P
if-match any
#
traffic behavior CAR
car cir 30000000 cbs 30000000 ebs 0
#
qos policy P2P_CAR
classifier P2P behavior CAR
#
interface GigabitEthernet0/0/0
ip address 10.1.1.1 255.255.0.0
#
interface GigabitEthernet0/0/1
ip address 192.168.1.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 200.1.1.1 255.255.255.0
#
interface GigabitEthernet5/0/0
ip address 202.1.1.1 255.255.255.0
#
firewall zone local
set priority 100
#
firewall zone trust
set priority 85
add interface GigabitEthernet0/0/0
#
firewall zone untrust
set priority 5
#
firewall zone dmz
set priority 50
add interface GigabitEthernet0/0/1
#
firewall zone name isp1
set priority 15
add interface GigabitEthernet0/0/2
#
firewall zone name isp2
set priority 20
add interface GigabitEthernet5/0/0
#
firewall interzone trust dmz
detect ftp
#
firewall interzone trust isp1
detect ftp
detect qq
detect msn
#
firewall interzone trust isp2
detect ftp
detect qq
detect msn
#
firewall interzone dmz isp1
detect ftp
#
firewall interzone dmz isp2
detect ftp
#
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet0/0/2 200.1.1.10
ip route-static 0.0.0.0 0.0.0.0 GigabitEthernet5/0/0 202.1.1.10 preference 200
ip route-static 200.1.2.0 255.255.255.0 GigabitEthernet0/0/2 200.1.1.10
ip route-static 200.2.2.1 255.255.255.0 GigabitEthernet0/0/2 200.1.1.10
ip route-static 202.1.2.0 255.255.255.0 GigabitEthernet5/0/0 202.1.1.10
ip route-static 202.2.3.4 255.255.255.0 GigabitEthernet5/0/0 202.1.1.10
#
dpi
app-set Network_Control
category p2p
#
dpi
rule 1 if-match app-set Network_Control apply policy P2P_CAR
#
policy interzone trust dmz outbound
policy 1
action permit
policy source 10.1.0.0 0.0.255.255
policy destination 192.168.1.5 0
policy destination 192.168.1.10 0
#
policy interzone trust isp1 outbound
policy 1
action permit
policy source 10.1.0.0 0.0.255.255
#
policy interzone trust isp2 outbound
policy 1
action permit
policy source 10.1.0.0 0.0.255.255
#
policy interzone dmz isp1 inbound
policy 1
action permit
policy destination 192.168.1.5 0
policy destination 192.168.1.10 0
#
policy interzone dmz isp2 inbound
policy 1
action permit
policy destination 192.168.1.5 0
policy destination 192.168.1.10 0
#
nat-policy interzone trust isp1 outbound
policy 1
action source-nat
policy source 10.1.0.0 0.0.255.255
address-group 1
#
nat-policy interzone trust isp2 outbound
policy 1
action source-nat
policy source 10.1.0.0 0.0.255.255
address-group 2
#
return