作为经典科学上网工具,VPN 有着广泛的平台兼容性。下面给大家简单介绍 Debian PPTP 配置方法,以供参考查阅。
在 VPS 上安装之前需要运行以下命令以确定 PPP/TUN 支持:
- 执行:cat /dev/ppp
- 回显:cat: /dev/ppp: No such device or address
- 执行:cat /dev/net/tun
- 回显:cat: /dev/net/tun: File descriptor in bad state
只有确认回显内容与上述一致,才能够进行 PPTP VPN 安装配置。
安装PPTP VPN
依次执行下列命令,以更新服务器并安装 PPTP 服务
- apt-get update
- apt-get upgrade
- apt-get install pptpd
配置 PPTP IP
在配置好 PPTP 服务后,需要对服务器 ip 进行配置。使用vi编辑器打开 /etc/pptpd.conf
- vi /etc/pptpd.conf
找到 #localip 以及 #remoteip 行,删除#并设置 ip 地址
- localip 192.168.10.1
- remoteip 192.168.10.100-200
其中 localip 为pptp 网关 ip,remoteip 为 pptp 服务端 ip,可按需任意设置子网段 ip 地址。
编辑 /etc/sysctl.conf,开启 ipv4 转发:
- vi /etc/sysctl.conf
将 #net.ipv4.ip_forward=1 修改为 net.ipv4.ip_forward=1
修改完成后执行:
- sysctl -p
如无回显表明设置成功,如报错”error: permission denied on key ‘net.nf_conntrack_max'”等需执行以下命令后再次执行”sysctl -p”:
- rm -f /sbin/sysctl
- ln -s /bin/true /sbin/sysctl
配置 PPTP DNS
在设置好ip后,还需要设置 PPTP DNS 地址。该 DNS 地址将覆盖 PPTP 客户端 DNS,推荐使用中华电信DNS:168.95.1.1
- vi /etc/ppp/pptpd-options
找到#ms-dns行,删除#并设置 DNS
- ms-dns 168.95.1.1
- ms-dns 223.5.5.5
配置 PPTP 账号
使用以下命令添加 PPTP 账号:
- vi /etc/ppp/chap-secrets
格式为:
- username1 pptpd password *
- username2 pptpd password 192.168.10.105
第一行格式为不固定客户端ip地址,第二行格式为固定客户端ip地址。
iptables 防火墙设置
依次运行:
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 服务器ip
iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
iptables-save > /etc/iptables.pptp
设置开机自动加载:
在路径 /etc/network/if-up.d/ 创建 iptables 文件
- vi /etc/network/if-up.d/iptables
文件内容如下:
- #!/bin/sh
- iptables-restore < /etc/iptables.pptp
保存后运行:
- chmod +x /etc/network/if-up.d/iptables
如果在设置 PPTP 时选择了不同的 ip 地址,在设置 iptables 时需要对应修改。
部分 VPS 还需要运行以下命令安装 ppp 设备:
- mknod /dev/ppp c 108 0
至此配置完成,运行以下命令启动 PPTP 服务:
- /etc/init.d/pptpd restart
随后使用配置好的 PPTP 用户名以及密码连接即可,默认加密方式为 MPPE-128。
以上配置在搬瓦工测试通过。
你好,
请问
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT -–to-source 服务器ip
中的服务器IP是VPS的IP地址吗?
还有
iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356这一句显示
bad argument ‘1356’
这是怎么回事?
谢谢。
-–to-source这里跟的就是VPS IP
–set-mss这里报错问题不大,可以试试PPTP能否使用
看不懂,不如送个账号?
请和谐上网
来试试,谁让你不给我一个
看到你这篇文章很好!试着做了,但是不能重启VPS 重启后能连上但是就不能上网了,请问是怎么回事
感谢指正,防火墙部分没有设置开机启动,所以重启就不能上网了
文章已更新,把防火墙部分重新做一次就好了
收藏备用哈。
iptables防火墙设置那里的命令目测有问题,望博主更正。另,参考你的文章,已成功连接上vpn
我这里测试是正常的,所以恳请指正
照着上面做,能连上VPN,但是也是上不了网,是“iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT -–to-source 服务器ip”的IP范围跟remoteip范围不一致吗?
执行“iptables -I FORWARD -p syn -i ppp+ -j set-mss 1356TCPMSS tcp”会出错:
iptables v1.4.14: unknown protocol “syn” specified
TCPMSS 这一行其实不是必需,不操作也可以的。
能连接不能上网最好重新做一下ipv4转发和SNAT的设置
iptables -I FORWARD -p tcp –syn -i ppp+ -j TCPMSS –set-mss 1356
因为你的 — 变成了全角
所以他们都说报错
感谢指正,似乎是wordpress的问题
执行sysctl -p命令后回显
net.ipv4.ip_forward = 1
是这样的回显,正常。