如何配置和使用 VPN 网关接入 Internet

有些时候我们需要使用 VPN 服务器作为网关接入 Internet。下面我们来说一下服务器端(Linux)和客户端具体如何配置。

服务器端
服务器端我们以 Ubuntu 操作系统为例,其它发行版也都类似。
安装PPTP服务器软件

$ sudo apt-get install pptpd

配置服务器端
设置 localip 和 remoteip。

$ sudo vim /etc/pptpd.conf
# (Recommended)
localip 192.168.10.1            # VPN 连接后的服务器(网关)地址
remoteip 192.168.10.2-200  # VPN连接后给客户端分配的地址段

设置账号

sudo vim /etc/ppp/chap-secrets
"username" pptpd "password" "*"   # username (用户名) password(密码)

配置防火墙(iptables) 放行 VPN 数据包
PPTP 使用 1723 端口和编号为47的IP协议(GRE常规路由封装),我们需要让防火墙里放行。

$ sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
$ sudo iptables -A INPUT -p gre -j ACCEPT

启动内核转发数据包

$ sudo sysctl net.ipv4.ip_forward=1

写入配置文件,每次启动都生效。

$ sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1

配置防火墙(iptables)使用NAT
在这个例子里,服务器接入 Internet 的网络接口是 eth0,需要根据自己的实际需要修改。

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

写入脚本,每次启动都生效。

$ sudo vim /etc/rc.local
/sbin/iptables  -t nat -A POSTROUTING -o eth0 -j MASQUERADE
exit 0

客户端
Windows
在“控制面板”里打开“网络连接”

在“网络连接”的“文件”菜单里选择“新建连接”

下一步,选择如下图

下一步,选择如下图

下一步,输入“名称”

下一步,输入服务器“地址”或“域名”

下一步,完成。

这时的连接还不可以直接连接,还需要设置DNS服务器地址。
打开新建的VPN连接的“属性”,转到“网络”面页

打开“TCP/IP协议”的“属性”,设置“DNS服务器”

现在就可以打开新建的VPN连接,输入“用户名”和“密码”连接了。

Linux
Linux 客户端也是差不多的设置,同样需要设置DNS服务器。
具体见 如何使用 Ubuntu VPN

Leave a Reply

Your email address will not be published. Required fields are marked *