pptp VPN 配置

pptp VPN 可能是最简单的一种支持远程接入的 VPN 方式了,大部分 Linux 发行版都很容易进行配置支持。

Windows 则自带 pptp 客户端。

服务端安装配置

安装

$ sudo apt-get install pptpd

配置隧道网段

pptp 服务配置文件在 /etc/pptpd.conf,可以修改里面的隧道使用的 IP 子网和针对 Windows 客户端的 DNS 设置。

localip 192.168.0.1
remoteip 192.168.0.100-200
ms-dns 8.8.8.8
ms-dns 8.8.4.4

添加用户

修改 /etc/ppp/chap-secrets 文件。

# client        server  secret                  IP addresses
user1 pptpd password1 *

最后重启 pptpd 服务即可。

配置 iptables 规则

pptpd 是基于 GRE 的封包,因此要开启目的端口 1723 访问,并允许 GRE 协议。

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

上面是允许客户端经过封装访问到服务端,服务端还得把这些流量帮忙转发出去,不然客户端没法访问网络了。 一个是让系统开启转发功能。

sysctl -w net.ipv4.ip_forward=1

通过 iptables 配置 NAT,让私有网可以正常访问外网(如果只是内部私有网访问,则只需要配置正确路由即可)。

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

最后,为了避免隧道路径上的分片影响性能,调整 TCP 的 MSS 小一些。

iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356

参考

  • https://help.ubuntu.com/community/PPTPServer

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。