VPN连接速度下降 祸起端口模式
通过VPN网络连接通道,位于Internet任何位置处的用户,都能轻松访问到单位局域网中的隐私信息;相比传统的网络访问方式,VPN网络连接组网成本更经济,网络安全性更高,而且很适合用户的移动办公需求。不过,在进行VPN网络连接的过程中,我们可能会遇到各式各样的新问题,面对这样的问题我们需要转换思路、对症下药,才能迅速解决好这类故障现象;这不,笔者就曾遭遇过一则奇怪的VPN连接速度下降故障,现在本文就将该故障原因的追踪过程贡献出来,希望大家能从中获得一些启发!
VPN连接变慢
最近,省中心新上了一套科技计划在线申报系统,该系统工作于VPN网络环境,其数据库位于省中心局域网的某台文件服务器中,各市级客户端用户可以通过VPN网络连接借助Web方式进行访问、申报。在运行一段时间后,笔者发现访问在线申报系统的速度很慢,有的时候连打开一个简单的系统登录页面都要耗费很长时间;笔者估计这中间肯定有地方出问题了,于是电话联系省中心的工程师,询问他们科技计划在线申报系统在软件开发方面是否存在什么限制,对方工程师经过一番仔细地检查测试,回复说这套系统在软件设置方面不存在任何限制,并且其他市的用户可以正常访问这套系统。既然这套系统没有问题,难道是笔者所在单位的局域网到省中心之间的这段网络出现了问题?
笔者单位的局域网是一个简单的二层结构,每一个处室的计算机都通过100M双绞线连接到局域网的普通二层交换机上,普通二层交换机直接与硬件防火墙连接,并通过该防火墙自带的路由功能进行共享上网,硬件防火墙后面连接的是宽带接入设备,该设备通过2M光纤线路与Internet网络保持连接,并且本地局域网中的所有计算机都是使用静态IP地址上网。省中心的组网结构基本与笔者单位局域网的网络结构相同,这两个局域网是通过各自硬件防火墙创建的VPN网络通道进行相连的,而各个市级用户需要访问的科技计划在线申报系统,部署安装在省中心局域网的一台文件服务器中。
追查故障原因
由于笔者单位局域网与省中心局域网之间的VPN连接通道是通过硬件防火墙创建的,按理来说它的网络传输速度要比软件防火墙快许多,对应的VPN网络连接速度也应该很快才对。为此,笔者打算先从本地局域网开始查起;笔者在自己的计算机中,依次单击“开始”/“运行”命令,在弹出的系统运行对话框中,输入字符串命令“ping 10.172.168.1”(其中10.172.168.1为本地局域网的网关地址),单击回车键后,笔者从其后返回的结果信息中,发现ping值为1ms,这说明本地局域网的网关可以正常访问。接着使用ping命令测试本地ISP分配给笔者单位的广域网端口地址,测试结果表明一切正常,而且中途也没有掉包、断行现象,这就说明本地局域网到本地ISP之间的这段线路是正常的,同时也意味着本地局域网不存在任何问题。
下面,笔者开始使用ping命令测试省中心连接本单位网络时对应的广域网端口地址,从返回的结果来看该ping值达到了20ms,不过这期间没有丢包、掉行的现象发生,这说明从笔者的局域网到省中心的广域网之间的连接也不存在任何问题;继续使用ping命令测试省中心局域网的网关地址时,笔者发现这次测试得到的结果为50ms,同时在测试过程中存在数据丢包、掉行现象,看来省中心的广域网端口地址到对应的网关地址之间存在问题;而这段网络通道上包含的传输介质主要有硬件防火墙设备、宽带接入设备以及网络双绞线,会不会是其中的一个出现了问题呢?
想到这一点,笔者立即联系省中心技术人员,恳请他们将连接宽带接入设备与硬件防火墙设备之间的那段网络双绞线更换掉,在更换了一根网络线缆后,笔者继续使用ping命令测试省中心的网关地址,结果发现得到的返回结
果依然和上次一样,这说明网络双绞线不存在任何问题,那现在能出问题的无非就是硬件防火墙设备、宽带接入设备了。
由于省中心与各个地级市单位网络连接时,使用的设备几乎都是相同型号的设备,并且它们都是一次性采购回来的,按理来说它们的工作性能也差不多,为此笔者请求省中心的技术人员帮忙使用其他市的设备替代一下可能出现问题的宽带接入设备,在替代成功之后,笔者再一次进行了ping测试,来观察省中心局域网的网关地址是否能够正常ping通,结果发现还是不行,这说明上述问题也不是由宽带接入设备引起的。这可蹊跷了,难道问题出现在硬件防火墙设备上?
考虑到硬件防火墙设备刚买回来没有多长时间,笔者估计该设备在硬件质量方面不存在什么问题,问题会不会出现在参数设置上呢?不得已,笔者只好请省中心的工作人员登录到硬件防火墙设备的后台管理界面,将其中的一些重要参数记录下来,然后笔者再与他对照一下本地局域网防火墙的相关参数,看看在参数设置方面是否存在问题。果然,这一努力没有白费,在查看到硬件防火墙设备的端口参数时,省中心工作人员发现硬件防火墙设备与二层交换机之间的连接端口工作模式被设置为了100M、全双工模式,而硬件防火墙设备与宽带接入设备之间的连接端口工作模式被设置为了自适应模式;但是,笔者发现本地局域网使用的硬件防火墙设备,其局域网连接端口与广域网连接端口工作模式都被设置成了100M、全双工模式,难道是这点不同,造成了VPN连接速度下降吗?
解决故障现象
笔者经过查阅这款硬件防火墙的参数说明书,发现在默认状态下该防火墙的局域网连接端口与广域网连接端口工作模式都处于自适应模式状态,但是在实际组网的时候,笔者清楚地记得这些端口应该全部被设置成100M、全双工模式状态,那么为什么省中心硬件防火墙的一个端口处于100M、全双工模式状态,另外一个端口处于自适应模式状态呢?看来,很可能是工作人员在工作中遗忘了对该参数的修改设置;于是,笔者请求省中心的工作人员,将对应硬件防火墙的广域网连接端口工作模式从自适应状态修改成100M、全双工模式状态,当修改操作完成后,笔者继续使用ping命令测试省中心的网关地址,这一次笔者看到了明显不一样的测试结果:ping测试数值从以前的50ms变成了30ms,同时在测试过程中也没有发生数据丢包、掉行现象。
此时,笔者随意从本地局域网的一台计算机中,访问了省中心的在线申报系统,结果打开速度很快。至此,VPN连接速度下降的故障现象就被成功解决了。
最后的总结
仔细回顾上面的故障排除过程,笔者认为之所以在解决网络故障时走了一些弯路,主要就是笔者简单地认为省中心与本地局域网使用的网络结构几乎都一样,并且其中的主要网络设备都是集中采购,并且经过统一配置的,于是就没有怀疑它们之间的差异性。事实上,由于工作人员的疏忽,造成了省中心硬件防火墙的广域网连接速度与局域网连接速度不相匹配;大家知道,当连接端口工作于100M、全双工模式状态时,硬件防火墙可以同时进行数据接收操作和发送操作,而当连接端口工作于自适应模式状态时,硬件防火墙往往不能同时进行数据接收操作和发送操作,这样一来VPN连接速度就会下降。
第二篇:端口映射(VPN)
先给一个环境:
cisco路由器内网接口s1/0: 192.168.1.1 255.255.255.0 外网接口s1/1: 10.0.0.1 255.255.255.0
服务器ip:192.168.1.100
首先配置好nat。
Router#conf t #进入全局配置模式
Enter configuration commands, one per line. End with CNTL/Z. Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255 #建立访问控制列表准备做nat转换
Router(config)#ip nat inside source list 1 interface s1/1 #建立NAT转换,将192.168.1.0的地址转换为接口s1/1的地址 Router(config)#int s1/0 #进入接口模式
Router(config-if)#ip nat inside #设定s1/0为NAT内部接口 Router(config-if)#int s1/1 #进入S1/1的接口模式
Router(config-if)#ip nat outside #设定S1/1为NAT外部接口
Router(config-if)#exit
此时已经启用了NAT,内网可以上网了。
现在开始端口映射,让外网访问内网服务器:
Router(config)#ip nat inside source static tcp
192.168.1.100 5631 (端口号)10.0.0.1 5631 extendable
Router(config)#ip nat inside source static tcp
1
192.168.1.100 5632(端口号) 10.0.0.1 5632 extendable #因为10.0.0.1这个地址已经应用在s1/1接口上并做了NAT转换的地址,这里必须加上extendable这个关键字,否则报错。如果用另外的外网ip比如10.0.0.2,在这里就可以不加extendable。
现在外网的机器可以访问内网了。
命令show ip nat translations可以查看nat转换情况 show run也可以找到相关配置
Router(config)#exit #退出全局配置模式,到特权模式下使用show命令
Router#show ip nat translations
Pro Inside global Inside local Outside local Outside global tcp 10.0.0.1:23 192.168.1.100:23 --- ---
tcp 10.0.0.1:23 192.168.1.100:23 10.0.0.2:48268
10.0.0.2:48268
tcp 10.0.0.1:5631 192.168.1.100:5631 --- ---
tcp 10.0.0.1:5632 192.168.1.100:5632 --- ---
附:要删除哪条命令只要在命令前加 no 即可.补充: 你telnet的是5631端口,而服务器的telnet端口是23
你要telnet到服务器的5631端口就必须改服务器的telnet端口,在注册表改,服务器的防火墙也要打开相应端口。
如果你不改服务器端口也可以将5631的端口映射到服务器的23端口,命令如下:
2
Router(config)#ip nat inside source static tcp
192.168.1.100 23 10.0.0.1 5631 extendable
要先删掉5631到5631的映射,命令如下:
Router(config)#no ip nat inside source static tcp 192.168.1.100 5631 10.0.0.1 5631 extendable
不改服务器端口就必须将外网ip的5631端口映射到服务器的23端口。然后你telnet ip 5631 其实就是telnet服务器的23端口 3
很简单,首先在交换机上划分出VLAN 10 20 30三个vlan,然后在路由器上开启3个子接口,并且配置IP分别为(trunk自己配) e0/0.1 192.168.2.1
e0/0.2 192.168.3.1
e0/0.3 192.168.4.1
然后配置三个地址池:
service dhcp
ip dhcp pool aa
network 192.168.2.0 255.255.255.0
ip dhcp pool bb
network 192.168.3.0 255.255.255.0
ip dhcp pool cc
network 192.168.4.0 255.255.255.0
就可以了。
先说明一点:你的交换机和路由器相连的那个口必须是三层接口,只要在交换机上 ip routing就ok了
1 定义一个地址池,
2 进入这个地址池且定义这个地址池的网段是多少
3 为这个网段的所有主机指定一个网关
4 在交换机上为每个VLAN启用DHCP中继代理(如果不启用的话就获得不到IP地址,vlan也是割段广播的)
具体的配置如下,
4
路由器我现在就起名为R1 ,交换机我就叫SW1吧
R1(config)#ip dhcp pool aa(在这里就是定义第一个地址池,名字无所谓)
R1(dhcp-config)#network 192.168.1.0 255.255.255.0(定义地址池里的网段)
R1(dhcp-config)#default-router 192.168.1.254(我在这里拟定VLAN10的IP地址是这个)
R1(dhcp-config)#exit
SW1(config)#int vlan 10
SW1(config-if)#ip helper-address 192.168.100.254 (我在这里将路由器上的一个物理接口拟定为这个IP地址,你在这里要注意一下,在配置VLAN的中继代理的时候,因为这不是真正的DHCP服务器,而是一台路由器,只要指向路由器上任何一个物理接口就OK了!) SW1(config-if)#exit
5
VPN
是企业实现安全远程互联的有效方法。本文根据一个应用实例,具体描述VPN的 配置和实施过程。其主要应用特点包括:基于封装安全负载标准ESP-DES(Encapsulating Securiry Payload – Data Encryption Standard)的IPSec;专有网络通过端口地址转换(PAT)技术访问Internet。
一、 网络基本情况
---- 该单位公司总部在北京,全国有3个分支机构。要求做到在4个地点的数据能够实时查询,便于业务员根据具体情况作出正确决策。早期方案是使用路由器,通过速 率为256Kbps的DDN专网连接北京总部。但技术人员通过市场调研,发现该网络运营成本过高。通过进一步的咨询和调整,最终方案是分支机构使用DDN 在本地接入Internet,总部使用以太网就近接入Internet。并对互联的路由器进行配置,使用VPN技术,保证内部数据通过Internet安全传输。该企业的网络分布见附图。
6
二、配置过程及测试步骤
---- 在实施配置前,需要检查硬件和软件是否支持VPN。对于Cisco路由器,要求IOS版本高于12.0.6(5)T,且带IPSec功能。本配置在Cisco路由器上配置通过。
---- 以下是分支网络1的路由器实际配置过程,其他路由器的配置方法与此基本一致,只需修改具体的环境参数(IP地址和接口名称)即可。
---- 以下黑体字为输入部分,< Enter >为键盘对应键,^Z为Ctrl+Z组合键。
---- 1. 配置路由器的基本参数,并测试网络的连通性
---- (1) 进入路由器配置模式
---- 将计算机串口与路由器console口连接,并按照路由器说明书配置“终端仿真”程序。执行下述命令进入配置模式。
---- Router>en
---- Router#config terminal
---- Router(config)#
---- (2)配置路由器的基本安全参数
---- 主要是设置特权口令、远程访问口令和路由器名称,方便远程调试。
---- Router(config)#enable secret xxxxxxx
---- Router(config)#line vty 0 4
---- Router(config-line)#password xxxxxx
7
---- Router(config-line)#exit
---- Router(config)#hostname huadong
---- huadong(config)#
---- (3)配置路由器的以太网接口,并测试与本地计算机的连通性 ---- 注意: 配置前,请将线缆与相关设备连接好。其中ethernet0/0端口接内部网络,serial0/0端口接外部网络。外部网络接口地址由ISP分配,至少 一个地址,多者不限。以下假定为一个,使用PAT模式,地址为210.75.32.9,上级路由器为210.75.32.10。内部网络地址如附图所标 示。
---- 关键是配置IP地址和启用以太网接口。测试时,使用基本的测试命令ping。
---- huadong(config)#inter eth0/0
---- huadong(config-if)#ip address 172.17.1.1 255.255.255.0 ---- huadong(config-if)#no shutdown
---- 以下是测试命令:
---- huadong#ping 172.17.1.1
---- huadong#ping 172.17.1.100
---- 在IP地址为172.17.1.100的计算机上:
---- c:>ping 172.17.1.1
---- Pinging 172.17.1.1 with 32 bytes of data:
---- Reply from 172.17.1.1: bytes=32 time=5ms TTL=255 ---- 结果证明连接及配置正确。
8
---- (4) 配置路由器的串口,并测试与上级路由器的连通性 ---- 与以太网口的配置方法类似,而且需要指定带宽和包的封装形式。同时,注意将Cisco设备特有的CDP协议关掉,保证基本的安全。 ---- huadong(config)#inter serial0/0
---- huadong(config-if)#ip address 210.75.32.9
255.255.255.252
---- huadong(config-if)#bandwidth 256
---- huadong(config-if)#encapsulation ppp
---- huadong(config-if)#no cdp enable 关闭思科cdp协议 ---- huadong(config-if)#no shutdown
---- 以下是测试命令:
---- huadong#ping 210.75.32.9
---- ??
---- huadong#ping 210.75.32.10
---- ??
---- 结果证明连接及配置正确。
---- 2. 配置路由器NAT网络
---- (1) 配置外出路由并测试
---- 主要是配置缺省路由。
---- huadong(config)#ip route 0.0.0.0 0.0.0.0 210.75.32.9 9
---- huadong#ping 211.100.15.36
---- ??
---- 结果证明本路由器可以通过ISP访问Internet。
---- (2) 配置PAT(端口地址转换),使内部网络计算机可以访问外部网络,但不能访问总部和分支机构
---- 主要是基于安全目的,不希望内部网络被外部网络所了解,而使用地址转换(NAT)技术。同时,为了节约费用,只租用一个IP地址(路由器使用)。所以,需要使用PAT技术。使用NAT技术的关键是指定内外端口和访问控制列表。
---- 在访问控制列表中,需要将对其他内部网络的访问请求包废弃,保证对其他内部网络的访问是通过IPSec来实现的。
---- huadong(config)#inter eth0/0
---- huadong(config-if)#ip nat inside
---- huadong(config-if)#inter serial0/0
---- huadong(config-if)#ip nat outside
---- huadong(config-if)#exit
---- 以上命令的作用是指定内外端口。
---- huadong(config)#route-map abc permit 10 ##可以用于路由的再发布和策略路由
---- huadong(config-route-map)#match ip address 150 ##匹配ACL所指定的目标IP地址的路由
10
---- huadong(config-route-map)#exit
---- 以上命令的作用是指定对外访问的规则名。
---- huadong(config)#access-list 150 deny 172.17.1.0 0.0.0.255 172.16.0.0 0.0.255.255
---- huadong(config)#access-list 150 deny 172.17.1.0 0.0.0.255 172.17.2.0 0.0.0.255
---- huadong(config)#access-list 150 deny 172.17.1.0 0.0.0.255 172.17.3.0 0.0.0.255
---- huadong(config)#access-list 150 permit ip 172.17.1.0 0.0.0.255 any
---- 以上命令的作用是指定对外访问的规则内容。例如,禁止利用NAT对其他内部网络直接访问(当然,专用地址本来也不能在
Internet上使用),和允许内部计算机利用NAT技术访问Internet(与IPSec无关)。
---- huadong(config)#ip nat inside source route-map abc interface serial0/0 overload
---- 上述命令的作用是声明使用串口的注册IP地址,在数据包遵守对外访问的规则的情况下,使用PAT技术。
---- 以下是测试命令,通过该命令,可以判断配置是否有根本的错误。例如,在命令的输出中,说明了内部接口和外部接口。并注意检查输出与实际要求是否相符。
---- huadong#show ip nat stat
11
---- Total active translations: 0 (0 static, 0 dynamic; 0 extended)
---- Outside interfaces:
---- Serial0/0
---- Inside interfaces:
---- Ethernet0/0
---- ??
---- 在IP地址为172.17.1.100的计算机上,执行必要的测试工作,以验证内部计算机可以通过PAT访问Internet。
---- c:>ping 210.75.32.10
---- Reply from 210.75.32.10: bytes=32 time=1ms TTL=255 ---- c:>ping
---- Reply from 211.100.15.36: bytes=32 time=769ms TTL=248
---- 此时,在路由器上,可以通过命令观察PAT的实际运行情况,再次验证PAT配置正确。
---- huadong#show ip nat tran
---- Pro Inside global Inside local Outside local Outside global
---- icmp 210.75.32.9:1975 172.17.1.100:1975
210.75.32.10:1975 210.75.12.10:1975
---- ??
12
---- 以上测试过程说明,NAT配置正确。内部计算机可以通过安全的途径访问Internet。当然,如果业务要求,不允许所有的内部员工/计算机,或只允许部分内部计算机访问Internet,那么,只需要适当修改上述配置命令,即可实现。
---- 3. 配置ESP-DES IPSec并测试
---- 以下配置是配置VPN的关键。首先,VPN隧道只能限于内部地址使用。如果有更多的内部网络,可在此添加相应的命令。
---- huadong(config)#access-list 105 permit ip 172.17.1.0 0.0.0.255 172.16.0.0 0.0.255.255
---- huadong(config)#access-list 106 permit ip 172.17.1.0 0.0.0.255 172.17.2.0 0.0.0.255
---- huadong(config)#access-list 107 permit ip 172.17.1.0 0.0.0.255 172.17.3.0 0.0.0.255
---- 加密。指定VPN在建立连接时协商IKE使用的策略。方案中使用sha加密算法,也可以使用md5算法。在IKE协商过程中使用预定义的码字。
---- huadong(config)#crypto isakmp policy 10
---- huadong(config-isakmp)#hash sha
---- huadong(config-isakmp)#authentication pre-share ---- huadong(config-isakmp)#exit
---- 针对每个VPN路由器,指定预定义的码字。可以一样,也可以不一样。但为了简明起见,建议使用一致的码字。
13
---- huadong(config)#crypto isakmp key abc2001 address 211.157.243.130
---- huadong(config)#crypto isakmp key abc2001 address 202.96.209.165
---- huadong(config)#crypto isakmp key abc2001 address 192.18.97.241
---- 为每个VPN(到不同的路由器,建立不同的隧道)制定具体的策略,并对属于本策略的数据包实施保护。本方案包括3个VPN隧道。需要制定3个相应的入口策略(下面只给出1个)。
---- huadong(config)#crypto map abc 20 ipsec-isakmp
---- huadong(config-crypto-map)#set peer 211.157.243.130 ---- huadong(config-crypto-map)#set transform-set abc-des ---- huadong(config-crypto-map)#match address 105 (普通的150不可访问,必须通过加密的105访问)
---- huadong(config-crypto-map)#exit
---- 使用路由器的外部接口作为所有VPN入口策略的发起方。与对方的路由器建立IPSec。
---- huadong(config)#crypto map abc local-address serial0 ---- IPSec使用ESP-DES算法(56位加密),并带SHA验证算法。 ---- huadong(config)#crypto ipsec transform-set abc-des esp-des esp-sha-hmac
14
---- 指明串口使用上述已经定义的策略。
---- huadong(config)#inter serial0/0
---- huadong(config-if)#crypto map abc
---- 在IP地址为172.17.1.100的计算机上验证:
---- c:>ping 172.16.1.100
---- Reply from 172.16.1.100: bytes=32 time=17ms TTL=255 ---- huadong#show crypto engine conn acti
---- ID Interface IP-Address State Algorithm Encrypt Decrypt ---- 1 < none > < none > set HMAC_SHA+DES_56_CB 0 0
---- 2000 Serial0/0 210.75.32.9 set HMAC_SHA+DES_56_CB 0 452 ---- 2001 Serial0/0 210.75.32.9 set HMAC_SHA+DES_56_CB 694 0 ---- 同时,这种连接使用了IPSec,而没有使用NAT技术。
三、测试
---- 将所有路由器按照上述过程,根据具体的环境参数,做必要修改后,完成VPN的配置。网络部分任务完成,可以顺利开展业务应用了。
---- 在调试时,需要注意,在对应路由器上也执行相应的调试命令。然后,在一台客户机(172.17.1.100)上执行如下命令:
---- c:>ping 172.16.1.100 -n 1
---- 最后,对比2个路由器的输出,观察出现问题的提示——这是隧道不能建立的主要原因。针对此提示,做必要的修改工作,便可圆满完成VPN的配置计划。
15
16