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