
2008年01月18日 14:24:12
PPTP 站点到站点 VPN
|
某公司有两个站点,如下图所示:
现在需要使用PPTP VPN 在这两个站点之间实现站点到站点VPN。 其中: “site1-gateway” 和 “password-for-site1-gateway”分别是站点一拨本VPN服务器时 使用的用户名和密码; “pptpd” 对应于 # cat /etc/ppp/options.pptpd | grep name name pptpd <---- "pptpd" “10.1.1.2” 表示给站点一的网关拨号后分配这个IP; 2. 添加一条路由,以便让VPN 服务器知道该怎样路由到达站点一的数据包。 # ip route add 10.0.0.0/16 via 10.1.1.2。 这里假设站点一网关拨号后获得的IP地址为10.1.1.2 , 跟上面为站点一网关建立的帐号 所列的IP要一致。 注意:是否要添加路由,其实是由站点一的 Linux PPTP VPN 客户端的配置决定的,如果在客户端做 SNAT 的话(也就是把来自站点一的 源地址为10.0.0.0/16的数据包的源地址NAT为该客户端拨VPN后所分配的IP地址,即是10.1.1.2),那么此处就不需要手工添加路由了。笔者认为用 SNAT 的方式更好一些,因为这样方便对 VPN 的监控。 二. 安装和配置 Linux PPTP VPN 客户端 1. 确认已经安装了 PPP 软件包。 # which pppd /usr/sbin/pppd 如果提示找不到,那就需要安装 PPP 软件包了。 2.下载 PPTP 客户端软件: # wget http://jaist.dl.sourceforge.net/sourceforge/pptpclient/pptp-1.7.1.tar.gz 3.安装 PPTP 客户端软件: # tar -zxvf pptp-1.7.1.tar.gz # cd pptp-1.7.1 # make & make install 4.配置 PPTP 客户端: 1) 给PPTP 客户端配置拨号时使用的帐号信息: # cd /etc/ppp # vi chap-secrets # Secrets for authentication using CHAP # client server secret addresses "site1-gateway" pptpd "passwdforsite1gateway" * 其中前面3个字段要与在站点二VPN服务器上建立的帐号的相应字段一致, 第4个字段可以用 * 号填充,表示地址由服务器端的配置决定。 2) 配置拨号属性: # vi peers/t5 pty "pptp 59.xxx.xx.xx --nolaunchpppd" # 59.xxx.xx.xx 指站点二的VPN服务器的公网IP name "site1-gateway" remotename "pptpd" # 这两个name的配置要与 /etc/ppp/chap-secrets 文件里相应项的信息一致 require-mppe-128 #如果站点二VPN服务器要求加密,使用该语句,如果不要求加密, # 注释掉该语句 noauth 5.拨 VPN并添加相应路由: # pppd call m5; tail -f /var/log/messages 如果你看到下面的消息,表示拨号成功了 mail1 kernel: PPP MPPE Compression module registered mail1 pppd[2227]: MPPE 128-bit stateless compression enabled mail1 pppd[2227]: local IP address 10.1.1.1 mail1 pppd[2227]: remote IP address 10.1.1.2 上面的10.1.1.1对应于PPTP VPN 服务器配置文件的 # cat /etc/pptpd.conf | grep local localip 10.1.1.1 <----- "10.1.1.1" # ip addr l # 检查是否已经建立了拨号接口 # ip route add 10.1.0.0/16 via 10.1.1.1 添加一条到达站点二的路由,以便网关知道该怎么路由到达站点二的数据包 6. 可以选择配置 SNAT,从而避免在站点二 VPN 服务器上手工添加路由: # iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -d 10.1.0.0/16 -j SNAT --to-source 10.1.1.2 三. 验证 在站点一的任意一台电脑上去tracert 站点二的某台机器, 看路由是否正确。 C:\Documents and Settings\Administrator>tracert 10.1.2.1 Tracing route to 10.1.2.1 over a maximum of 30 hops 1 <1 ms <1 ms <1 ms 10.0.1.1 # 交换机上的SVI IP 2 <1 ms <1 ms <1 ms 10.0.0.1 # 站点一网关的内网 IP 3 34 ms 34 ms 34 ms 10.1.1.2 # 站点二VPN 服务器的本地 VPN IP 4 34 ms 34 ms 34 ms 10.1.2.1 # 站点二的目标 IP Trace complete. 上面的10.1.1.1对应于PPTP VPN 服务器配置文件的 # cat /etc/pptpd.conf | grep local localip 10.1.1.1 <----- "10.1.1.1" 最后,别忘了将启动配置写入 /etc/rc.local 文件。 |

一共有 1 条评论