Ubuntu 12.04 搭建PPTPD VPN服务器

2014-08-19 23:27
Ubuntu PPTPD VPN iptables
摘要:需要一台 VPN 服务器时,我习惯用 PPTPD,整理一份 Ubuntu 12.04 上的搭建步骤,包括认证、IP 转发和 iptables NAT。

一、安装PPTPD

sudo apt-get install pptpd

二、编辑/etc/ppp/pptpd-options 找到

refuse-pap
refuse-chap
refuse-mschap

注释掉这三行,即在前面加# 三、在同一文件中(/etc/ppp/pptpd-options)修改DNS

ms-dns 8.8.8.8
ms-dns 8.8.4.4

四、修改/etc/pptpd.conf

localip 10.99.99.99
remoteip 10.99.99.100-199

localip建议修改为不常见网段的IP地址,如10.100.55.1等都可以。相应的将remoteip改为与之同网段的一段IP地址,如:10.100.55.100-200。 五、编辑/etc/ppp/chap-secrets 添加用户和密码,格式为:

[Username] [Service] [Password] [Allowed IP Address]

如:

test pptpd 123456 *

六、重启pptpd

sudo /etc/init.d/pptpd restart

以上我们完成了基本的pptpd的配置,只要这些配置生效后用户就可以进行VPN拨号,但拨号后只能访问服务器不能访问Internet。所以我们要继续如下的步骤: 一、编辑/etc/sysctl.conf

net.ipv4.ip_forward=1

去掉此行注释 立即生效:

sudo sysctl -p

二、安装iptables

sudo apt-get install iptables

向iptables添加NAT规则:

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

10.99.99.0对照上面第四步,这是分配给VPN拨入者的IP地址段。注意eth0,这个代表网卡。可以ifconfig一下,看看VPS供应商给的IP地址到底在哪个网卡上(有的是eth0有的是venet0),给哪个写哪个。 OK了,连接一下试试吧。