|
一、安装PPP和TUN
TUN设备是Linux下的虚拟网卡,首先检查你VPS的PPP和TUN有没有启用:
[mw_shl_code=bash,true]cat /dev/ppp
cat: /dev/ppp: No such device or address[/mw_shl_code][mw_shl_code=bash,true]
cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state
[/mw_shl_code]
如上显示表明通过,上述两条只要有一个没通过都不行。如果没有启用,你可以给VPS提供商Submit 一个 Ticket请求开通:
Hello
Could you enabled TUN-TAP for me? I want run pptp-vpn on my VPS.
Thank you.
确认PPP和TUN启用后,开始安装ppp和iptables:
二、安装ppp、iptables和pptp:
[mw_shl_code=bash,true]apt-get update
apt-get install ppp iptables pptpd[/mw_shl_code]
三、配置pptp
pptp协议使用基于Microsoft点到点加密技术MPPE。编辑/etc/pptpd.conf文件:
[mw_shl_code=bash,true]vi /etc/pptpd.conf[/mw_shl_code]
把下面字段前面的#去掉:
[mw_shl_code=bash,true]localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245[/mw_shl_code]
关键点:pptpd.conf这个配置文件必须保证最后是以空行结尾才行,否则会导致启动pptpd服务时,出现“Starting pptpd:”,一直卡着不动的问题,无法启动服务,切记呀!(相关文档可以查看:Starting pptpd: 运行不下去的原因)
四、配置ppp
pptp协议使用基于ppp协议的身份验证方式。编辑/etc/ppp/options文件:
[mw_shl_code=bash,true]vi /etc/ppp/options[/mw_shl_code]
去掉ms-dns前面的#,并使用Google的DNS服务器,修改成如下字段:
[mw_shl_code=bash,true]ms-dns 8.8.8.8
ms-dns 8.8.4.4[/mw_shl_code]
五、设置VPN账号密码
编辑/etc/ppp/chap-secrets这个文件:
[mw_shl_code=bash,true]vi /etc/ppp/chap-secrets[/mw_shl_code]
添加内容:
[mw_shl_code=bash,true]freedom pptpd 123456 *[/mw_shl_code]
其中freedom为VPN用户名,123456为密码,*表示允许所有IP。
六、修改内核设置,开启IPv4转发
编辑/etc/sysctl.conf 文件:
[mw_shl_code=bash,true]vi /etc/sysctl.conf[/mw_shl_code]
将“net.ipv4.ip_forward”的值改为1:
[mw_shl_code=bash,true]net.ipv4.ip_forward=1[/mw_shl_code]
同时,在“net.ipv4.tcp_syncookies = 1”前面加#
[mw_shl_code=bash,true]# net.ipv4.tcp_syncookies = 1[/mw_shl_code]
使sysctl.conf配置文件生效,命令
[mw_shl_code=bash,true]sysctl -p[/mw_shl_code]
七、添加iptables转发规则:
[mw_shl_code=bash,true]iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 188.10.10.100[/mw_shl_code]
其中,192.168.0.0对应的是第三步localip网段,188.10.10.100为你VPS的公网IP地址。
然后保存iptables转发规则:
[mw_shl_code=bash,true]iptables-save[/mw_shl_code]
重启pptp服务:
[mw_shl_code=bash,true]/etc/init.d/pptpd restart[/mw_shl_code]
如果要开机启动将最后三条命令写入:/etc/rc.local文件中
至此,Linux VPS架设VPN完成
|
|