Ubuntu下配置PPTP VPN

Configure PPTP VPN in Ubuntu

安装pptpd

$ sudo apt-get install pptpd

配置

编辑pptpd.conf

$ sudo vi /etc/pptpd.conf

修改如下两行:

localip xxx.xxx.xxx.xxx
remoteip 192.168.1.100-200

localip: Ubuntu主机的IP

remoteip: 分配给Client的IP段

设置Windows Client的DNS

$ sudo vi /etc/ppp/pptpd-options

修改ms-dns,修改为google的dns:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

设置账号

$ sudo vi /etc/ppp/chap-secrets

添加一行,依次为:用户名,服务,密码,限制ip:

"user" pptpd "user" *

username * password *

重启服务

$ sudo /etc/init.d/pptpd restart

执行以上步骤后VPN即可连接上了,但是还无法上网。

设置IP转发

允许转发

$ sudo vi /etc/sysctl.conf

去掉文件中这一行的注释:

net.ipv4.ip_forward=1

使设置生效:

$ sudo sysctl -p

设置NAT

$ sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

设置MTU,防止包过大:

$ sudo iptables -A FORWARD -s 192.168.1.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1200

保存设置

$ sudo iptables-save

将输出保存到以下文件中

$ sudo /etc/iptables-rules

自动加载规则

编辑网卡文件,加载网卡时自动加载规则

$ sudo vi  /etc/network/interfaces

添加一行:

pre-up iptables-restore < /etc/iptables-rules

Fin