Debian搭建vpn服务器

搭建 VPN 服务器的方法非常多,比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN。这三种方式中后两者的安全性比较好,但配置较麻烦,PPTP 是这三者中配置最容易的方式,而且 Windows/Mac 系统中都内建相应的客户端。 1、安装pptp,这是个vpn的服务端软件

sudo apt-get install pptpd

系统会自动解决依赖关系,安装好后,需要进行一番设置。 2、编辑 /etc/pptpd.conf

sudo vi /etc/pptpd.conf

去掉文件最末端的 localip 和 remoteip 两个参数的注释,并进行相应修改。这里,localip 是 VPN 连通后服务器的 ip 地址,而 remoteip 则是客户端的可分配 ip 地址,自己设置置。 3、这里绝大多数参数只需维持原来的默认值即可,我们只需要改变其中的 ms-dns 选项,为 VPN 客户端指派 DNS 服务器地址,可以修改为google提供的DNS server或其他DNS:

ms-dns 8.8.8.8
ms-dns 8.8.4.4

4、 修改文件 /etc/ppp/chap-secrets,第一列是用户名,第二列是服务器名(默认写 pptpd 即可,如果在 pptpd-options 文件中更改过的话,注意这里保持和文件中的name行一致),第三列是密码,第四列是 IP 限制(不做限制写 * 即可)如创建一个名为user,密码为userpasswd,不限制登录IP的VPN账号:

user pptpd userpasswd *

全部搞定后,我们需要重启 pptpd 服务使新配置生效:

sudo /etc/init.d/pptpd restart

如果这时候尝试连接的话是可以连上的,但是只能访问机器资源,不能上网,想上网的话需要继续配置。 6、修改文件 /etc/sysctl.conf,去掉这一行 #net.ipv4.ip_forward=1 的#号,开启ipv4 forward,然后运行命令:

sudo sysctl –p

运行后会显示 net.ipv4.ip_forward = 1,就表示修改生效了。有些时候,经过这样设置,客户端机器就可以上网了,如果还不行的话,继续配置 7、使用iptables来建立NAT,先安装iptables:

sudo apt-get install iptables

装好后,我们向 nat 表中加入一条规则:

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

上面的24表示子网掩码,代表24个1. eth0是网卡名字,可以通过命令 ifconfig 查看,iptables 的规则会在下次重启时被清除,为防止重启机器后iptables丢失,先运行:

sudo iptables-save > /etc/iptables-rules

然后修改 /etc/network/interfaces 文件,找到 eth0 那一节,在对 eth0 的设置最末尾加上下面这句:

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

这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。PPTP 服务需要使用 1723(tcp) 端口和 gre 协议,因此确保防火墙设置允许这两者通行。测试是否可以解析DNS:

nslookup google.com

配置完后重启pptpd

发表评论

电子邮件地址不会被公开。 必填项已用*标注