PPTP 站点到站点 ×××
PPTP 站点到站点 ×××
某公司有两个站点,如下图所示。
现在需要使用PPTP ××× 在这两个站点之间实现站点到站点×××。
下面描述实现步骤:
一. 安装和配置 Linux PPTP ××× 服务器
由于服务器已经装好了,这里就不说具体的安装步骤了。
1. 在 /etc/ppp/chap-secrets 文件里面新建一个帐号。站点一网关将使用该账号来拨×××。
# vi chap-secrets
"site1-gateway" pptpd "password-for-site1-gateway" 10.1.1.2
其中:
“site1-gateway” 和 “password-for-site1-gateway”分别是站点一拨本×××服务器时
使用的用户名和密码;
“pptpd” 对应于
# cat /etc/ppp/options.pptpd | grep name
name pptpd <---- "pptpd"
name pptpd <---- "pptpd"
“10.1.1.2” 表示给站点一的网关拨号后分配这个IP;
2. 添加一条路由,以便让××× 服务器知道该怎样路由到达站点一的数据包。
# ip route add 10.0.0.0/16 via 10.1.1.2。
这里假设站点一网关拨号后获得的IP地址为10.1.1.2 , 跟上面为站点一网关建立的帐号
2. 添加一条路由,以便让××× 服务器知道该怎样路由到达站点一的数据包。
# ip route add 10.0.0.0/16 via 10.1.1.2。
这里假设站点一网关拨号后获得的IP地址为10.1.1.2 , 跟上面为站点一网关建立的帐号
所列的IP要一致。
注意:是否要添加路由,其实是由站点一的 Linux PPTP ××× 客户端的配置决定的,如果在客户端做 SNAT 的话(也就是把来自站点一的 源地址为10.0.0.0/16的数据包的源地址NAT为该客户端拨×××后所分配的IP地址,即是10.1.1.2),那么此处就不需要手工添加路由了。笔者认为用 SNAT 的方式更好一些,因为这样方便对 ××× 的监控。
二. 安装和配置 Linux PPTP ××× 客户端
1. 确认已经安装了 PPP 软件包。
# which pppd
/usr/sbin/pppd
如果提示找不到,那就需要安装 PPP 软件包了。
2.下载 PPTP 客户端软件:
# wget [url]http://jaist.dl.sourceforge.net/sourceforge/pptpclient/pptp-1.7.1.tar.gz[/url]
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" *
# cd /etc/ppp
# vi chap-secrets
# Secrets for authentication using CHAP
# client server secret addresses
"site1-gateway" pptpd "passwdforsite1gateway" *
其中前面3个字段要与在站点二×××服务器上建立的帐号的相应字段一致,
第4个字段可以用 * 号填充,表示地址由服务器端的配置决定。
2) 配置拨号属性:
2) 配置拨号属性:
# vi peers/t5
pty "pptp 59.xxx.xx.xx --nolaunchpppd"
pty "pptp 59.xxx.xx.xx --nolaunchpppd"
# 59.xxx.xx.xx 指站点二的×××服务器的公网IP
name "site1-gateway"
remotename "pptpd"
name "site1-gateway"
remotename "pptpd"
# 这两个name的配置要与 /etc/ppp/chap-secrets 文件里相应项的信息一致
require-mppe-128
require-mppe-128
#如果站点二×××服务器要求加密,使用该语句,如果不要求加密,
# 注释掉该语句
noauth
5.拨 ×××并添加相应路由:
# 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
noauth
5.拨 ×××并添加相应路由:
# 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 ××× 服务器配置文件的
# 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
添加一条到达站点二的路由,以便网关知道该怎么路由到达站点二的数据包
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,从而避免在站点二 ××× 服务器上手工添加路由:
# 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 # 站点二××× 服务器的本地 ××× IP
4 34 ms 34 ms 34 ms 10.1.2.1 # 站点二的目标 IP
Trace complete.
上面的10.1.1.1对应于PPTP ××× 服务器配置文件的
# cat /etc/pptpd.conf | grep local
localip 10.1.1.1 <----- "10.1.1.1"
localip 10.1.1.1 <----- "10.1.1.1"
最后,别忘了将启动配置写入 /etc/rc.local 文件。
转载于:https://blog.51cto.com/zoukejian/56995