我先贴出来自己的配置,请它配置网上很多,我在下方也贴出来了,可以参考:
路径:“/etc/ppp/peers” 注意该配置会打印调试信息
pty "pptp 10.10.2.59 --nolaunchpppd"
lock
#noauth
nodetach
debug
lock
noauth
user kj
password 123456
nobsdcomp
nodeflate
defaultroute
ipparam vpn_bbbj
require-mppe-128
refuse-pap
refuse-chap
refuse-eap
refuse-mschap
lcp-echo-interval 36
配置环境:
服务器和客户端均为:
ubuntu 11
服务器端:
- sudo apt-get install pptpd
编辑 /etc/pptpd.conf
- # TAG: option
- # Specifies the location of the PPP options file.
- # By default PPP looks in '/etc/ppp/options'
- #
- option /etc/ppp/pptpd-options
- #设置本地服务器 IP 地址与客服端 DHCP 分配地址范围
- localip 10.0.0.1
- remoteip 10.0.0.2-10
- #地址也可以配置为192.168.1.1什么的,这个文件其实可以不动,默认的配置文件也可以使用。
- # 建议把logwtmp前的注释给删了,当连接建立以后,可以参看log。
编辑 /etc/ppp/pptpd-options
- #设置客服端DNS
- ms-dns 8.8.8.8 #该DNS为Google免费DNS服务器
编辑 /etc/ppp/chap-secrets (这个文件在以后的文章也要频繁涉及,所有涉及ppp挑战握手认证的配置,都要修改这个文件。这个文件就是用于存放用户名密码的。)
- # Secrets for authentication using CHAP
- # client server secret IP addresses
- test * “password” *
(用户名为test,密码为password,对服务器名和IP没有任何指定)
如果是在局域网中测试,以下步骤可以忽略。
开启 ipv4 forward
编辑 /etc/sysctl.conf
- net.ipv4.ip_forward=1
- sudo sysctl -p
使修改生效
开启NAT
运行
- sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o eth0 -j MASQUERADE
可以使用
- sudo iptables-save > /etc/iptables-rules
保存配置,然后在 /etc/network/interfaces 文件中对应接口添加如下:
- pre-up iptables-restore < /etc/iptables-rules
如果有打开ufw防火墙
需要编辑 /etc/default/ufw ,设置:
- DEFAULT_FORWARD_POLICY=”ACCEPT”
然后运行
- sudo /etc/init.d/ufw restart
- sudo service pptpd restart
客户端:
安装客户端软件:
- apt-get install pptp-linux
编辑/etc/ppp/chap-secrets
- # Secrets for authentication using CHAP
- # client server secret IP addresses
- test * password *
创建一个/etc/ppp/peers/pptpVPN文件,输入以下内容:
- pty "pptp $SERVER --nolaunchpppd"
- name test
- remotename pptpVPN
- require-mppe-128
- file /etc/ppp/options.pptp
- ipparam pptpVPN
客户端/etc/ppp/options.pptp可以不修改,下面的文件仅仅提供参考:
- lock noauth nobsdcomp nodeflate
最后在终端输入:
- pon pptpVPN
建立连接,或者输入
- pon pptpVPN debug dump logfd 2 nodetach
可以在建立连接时得到更多的调试信息。
那么如何确认连接已经建立了呢?
可以通过
- ifconfig
如果要进一步查看数据包是否以加密格式传送,可以使用wireshark这个工具。
在filter文本框内输入:pptp,或者直接ip.src==$CLIENT_IP就可以截获通信的数据包了,具体操作可以参考wireshark的教材。
客户端配置资料:参考资料:
http://pptpclient.sourceforge.net/howto-debian.phtml#configure_by_hand
服务器端配置资料:
http://goday.net/software/170.html
抓包工具wireshark的教材可以参考:
《practical packet analysis using wireshark to solve real-world network problems》