【×××系列十】关于如何处理混合环境下PPTP-×××流量的思考与处置
其中主要涉及两点:
1.两端路由器如何为pptp流量和其它流量,进行nat转换,保证通信正常
2.两端路由器配置的ZFW,如何放行pptp和其它通信转换后的流量,保证通信正常
----------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------
在配置nat之前,pptp客户端拨号时配置的远端ip地址是172.18.10.1(pptp server 真实地址),但是配置为nat之后,需要更改为center router的外网口ip地址,也就是200.0.30.2;否者,pptp拨号链接无效。
关键命令:
ip nat inside source static tcp 172.18.10.1 1723 interface s1/0 1723
如图:
如要更改为200.0.10.2(center router 外网口地址)
如图:
拨号成功:
center.router#show ip nat translations
Pro Inside global Inside local Outside local Outside global
tcp 200.0.10.2:1723 172.18.10.1:1723 172.18.101.3:50126 172.18.101.3:50126
tcp 200.0.10.2:1723 172.18.10.1:1723 172.18.101.3:50131 172.18.101.3:50131
tcp 200.0.10.2:1723 172.18.10.1:1723 --- ---
gre 200.0.10.2:3399 172.18.10.1:3399 172.18.101.3:3399 172.18.101.3:3399
gre 200.0.10.2:64527 172.18.10.1:64527 172.18.101.3:64527 172.18.101.3:64527
udp 200.0.10.2:50824 172.18.100.102:50824 221.228.255.1:53 221.228.255.1:53
pptp.server#show vpdn %No active L2TP tunnels PPTP Tunnel and Session Information Total tunnels 1 sessions 1 LocID Remote Name State Remote Address Port Sessions VPDN Group LocID RemID TunID Intf Username State Last Chg Uniq ID |
spoke.router#show ip nat translations |
可以看到nat转换了pptp相关的TCP 1723端口与GRE 流量,所以pptp能够正常通信
那么防火墙该如何放行流量呢,其实也是类似的过程,只要放行与pptp进程相关联的流量,那么配置就是成功的。
关键也就是TCP 1723端口与GRE 流量
ip access-list extended pptp permit gre any any permit tcp any any eq 1723 |
class-map type inspect match-any in.out.class match protocol icmp match access-group name pptp.gre match protocol tcp match protocol udp class-map type inspect match-all out.in.class match access-group name pptp |
policy-map type inspect in.out.po class type inspect in.out.class pass class class-default drop policy-map type inspect out.in.po class type inspect out.in.class pass class class-default drop |
流量穿越防火墙之后,如下结果:
center.router#show policy-map ty inspect zone-pair se policy exists on zp out.in.pair Service-policy inspect : out.in.po Class-map: all.traffic.class (match-any) Inspect Number of Established Sessions = 1
Class-map: class-default (match-any) policy exists on zp in.out.pair Service-policy inspect : in.out.po Class-map: all.traffic.class (match-any) Inspect Class-map: pptp.class (match-all) Class-map: class-default (match-any) policy exists on zp out.self.pair Service-policy inspect : out.self.po Class-map: out.access.class (match-all) Class-map: pptp.class (match-all) Class-map: class-default (match-any) Match: any Drop 5 packets, 400 bytes |
上面可以看到pptp 客户端拨号成功之后,所建立的链接信息,zfw防火墙的配置,关键在于三个方向:
1.inside 路由器入站流量
2.outside 路由器出站流量
3.self 路由器自身流量
配置类(class-map)的时候需要考虑好,对应方向应该放行哪些流量。
配置策略(policy-map)的时候需要考虑好,对应哪些流量应该执行哪些动作(inspect、pass、drop)。
结语:
上面基本上就完整实现了,pptp服务端到客户端的流量转变过程,主要是放行tcp1723与GRE流量。还有就是zfw是基于端口配置的防火墙技术,最重要的是选好zone端口,确认哪些端口属于哪个zone,多个端口可以同属于一个zone;同一个zone内的端口不需要配置策略就能相互通信;属于不同zone的端口,默认是deny相互的所有流量,所以需要配置策略放行流量;不属于zone的端口,流量不受影响。所以说zfw是基于端口的防火墙策略,所以这一步相当重要。
转载于:https://blog.51cto.com/ciscoskys/866354