SUSE Linux下使用PPTP VPN拔号的实现
环境:SUSE Linux
1. PPTP VPN 客户端软件
我使用的PPTP客户端软件的名称就叫作“PPTP Client”。
软件的主页是 http://pptpclient.sourceforge.net/
2、安装
源代码编译安装,这样干净利索。
shell> tar pptp-1.7.1.tar.gz
shell> cd pptp-1.7.1
shell> more INSTALL
...
shell> make
shell> make install
shell> cp /usr/share/doc/packages/ppp/scripts/pon /usr/sbin
shell> cp /usr/share/doc/packages/ppp/scripts/poff /usr/sbin
shell> chmod +x /usr/sbin/pon /usr/sbin/poff
安装前看看INSTALL和README是个好习惯。
pon和poff命令可在ppp源码目录下的scripts目录中找到(find /usr/share -name pon)。
3、建立拔号连接
长话短说吧,我选择在命令行下直接配置拔号连接,而没有采用图形工具配置。因为图形配置工具需要单独安装,我们的基本目标是建立PPTP连接,而它并不是决定能否成功的关键因素。
环境描述:
PPTP-Server.IP: 202.202.202.202
Client.IP: 10.10.10.10/24
Client.Gateway: 10.10.10.1
Client.Hostname: dream
pptp.uid: jack
pptp.pwd: rose
pptp.dial-name: titanic
配置描述:
默认情况下,pptp client 1.7.1 安装后的配置文件存放在 /etc/ppp 目录中。
3.1 设置拔号使用的用户名和口令
编辑/etc/ppp/chap-secrets或/etc/ppp/pap-secrets,加入以下内容
"jack" "titanic" "rose" *
"titanic" "jack" "rose" *
chap-secrets和pap-secrets分别在什么情况下使用呢?
默认情况的PPTP认证都会使用ms-chap或ms-chap2,这时使用chap-secrets。
但如果PPTP VPN服务器配置了radius等认证就会采用pap认证模式,这时使用pap-secrets。
3.2 创建拔号使用的连接文件(profile)
shell> touch /etc/ppp/peers/titanic
shell> vi /etc/ppp/peers/titanic
pty "pptp 202.202.202.202 --nolaunchpppd"
name jack
remotename titanic
file /etc/ppp/options.pptp
ipparam connect
4、拔号
需要以root身份执行
shell> /usr/sbin/pon titanic &
[1] 5065
dream:shell # Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
CHAP authentication succeeded
local IP address 192.168.0.236
remote IP address 192.168.0.129
Script /etc/ppp/ip-up finished (pid 5078), status = 0x0
shell>
上面的提示信息基本表明PPTP拔号成功,根据提示信息检查一下ppp0的状态:
shell> ifconfig ppp0
ppp0 Link encap:Point-to-Point Protocol
inet addr:192.168.0.236 P-t-P:192.168.0.129 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:199 (199.0 b) TX bytes:97 (97.0 b)
shell>
OK,PPTP拔号成功。