07月16, 2018

Ubuntu下搭建VPN服务

一、第一步需要安装PPTP,以用来提供VPN服务.

sudo apt-get install pptpd

如果有问题的话比如提示找不到之类的,apt-get update 一下应该就可以了,然后再来一次就会自动完成安装。


二、装好了之后我们需要进行配置一下以让它可以使用.

sudo vim /etc/pptpd.conf

取消掉以下 2 行的注释:

localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

分别是通过VPN连接后主机和客户端所使用的IP,可以自行修改。注意这个IP在下面还会用的到。


三、然后我们需要分配账号给自己使用.

sudo vim /etc/ppp/chap-secrets

这个是用户列表文件,在里面添加账户按如下格式:

username  pptpd  "password"  *

username为你的用户名password为你的密码,密码用引号引起,最后的*号表示允许在任意IP连接到服务


四、至此服务弄好了,如果你sudo service pptpd restart一下,就应该已经能连接到该VPN了,但是连接了之后会发现还访问不了外网。然后我们需要让他能访问外网。首先,

sudo vim /etc/ppp/pptpd-options

找到ms-dns,取消掉注释,改成你喜欢的DNS比如:

ms-dns 223.5.5.5
ms-dns 223.6.6.6


五、然后我们要开启内核IP转发

sudo vim /etc/sysctl.conf

取消掉 net.ipv4.ip_forward=1 这一行的注释.然后执行:

sudo sysctl -p

使修改后的文件配置立即生效。


六、然后我们需要安装iptables,用来实现请求的NAT转发

sudo apt-get install iptables

然后开启NAT转发.

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

192.168.0.0/24是你在上面设置的IP段,让这个段转发

注意eth0是你连接外网的那块网卡,不一定是0也有可能是1或者看你的机器哪块网卡连的外网了。这样就以NAT的方式请求外网的东西了。不知道你的机器哪块网卡连的外网的话ifconfig一下看看哪个网卡是外网IP就知道了。

设置永久转发:

先将防火墙规则保存到/etc/iptables.up.rules文件中

iptables-save > /etc/iptables.up.rules

然后修改脚本/etc/network/interfaces,在对应网卡末尾添加一行,在网络启动时应用防火墙规则:

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


七、最后,我们需要重启服务,让配置生效 .

sudo service pptpd restart


本文链接:https://lxyit.com/article/show/145.html

-- EOF --