值得参数的文章:https://qiita.com/ktonq/items/36a10a8961b8eb34c4f0
1、安装相应的包
sudo su
apt install -y pptpd iptables
2、修改配置文件
2.1 /etc/pptpd.conf
vi /etc/pptpd.conf
修改localip和remoteip
可以直接用sed 命令修改
sed -i 's/#localip 192.168.0.1/localip 10.9.0.1/g' /etc/pptpd.conf
sed -i 's/#remoteip 192.168.0.234-238,192.168.0.245/remoteip 10.9.0.100-238,10.9.0.245/g' /etc/pptpd.conf
2.2 /etc/ppp/pptpd-options
vi /etc/ppp/pptpd-options
sed -i 's/#ms-dns 10.0.0.1/ms-dns 8.8.8.8/g' /etc/ppp/pptpd-options
sed -i 's/#ms-dns 10.0.0.2/ms-dns 8.8.4.4/g' /etc/ppp/pptpd-options
还要修改以下内容:
#refuse-pap
#refuse-chap
#refuse-mschap #注释掉默认拒绝的方式
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#require-mschap-v2 #注释掉默认允许的方式
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 duri
require-chap #添加允许的方式
require-mschap
require-mschap-v2
require-mppe-128
3、修改配置文件/etc/ppp/chap-secrets(设置pptpd的账号等信息)
vi /etc/ppp/chap-secrets
输入以下内容
# Secrets for authentication using CHAP
# client server secret IP addresses
test pptpd 123456 *
4、配置完成,收尾
查看系统内核是否已经开启了路由转发(新装系统一般是开启的)
sudo cat /proc/sys/net/ipv4/ip_forward
#如果得到的值是1说明已经开启,如果没有就开启
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo vim /etc/sysctl.conf
#找到对应参数,修改成如下:
net.ipv4.ip_forward=1
#保存
sudo sysctl -p
4.2 配置也火墙规则
sudo iptables -A INPUT -p gre -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 47 -j ACCEPT
sudo iptables -t nat -A POSTROUTING -s 10.9.0.1/24 -o eth0 -j MASQUERADE
因为Ubuntu是不保存iptables规则的,重启电脑就失效了,有个比较方便省事的方法:
把上面的四个规则写入到/etc/rc.local中
sudo vi /etc/rc.local
4.3 解决mtu不稳定问题
sudo vim /etc/ppp/ip-up
在最后加上下面这条指令:
/sbin/ifconfig $PPP_IFACE mtu 1454
#默认值 1496
5、安装完
sudo systemctl enable pptpd
sudo systemctl start pptpd
sudo service pptpd restart
1.点对点隧道协议(PPTP)TCP 1723 、47
2.第2层隧道协议 (IPSec)UDP 500、4500、(L2TP)UDP 1701
如果客户端连接出问题,可以服务端查看日志:
sudo journalctl -u pptpd
sudo cat /var/log/syslog|grep pptpd
6、客户端连接
6.1、Windows 客户端连接方式
-
打开“网络和Internet"设置
image.png -
进入”网络和共享中心"
image.png -
设置新的连接或网络
image.png -
选择连接到工作区
image.png -
输入服务器IP
6.具体配置内容
-
然后就可以连接了
image.png
8.如果win10下连接失败,试一下改注册表
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent
下增加“AssumeUDPEncapsulationContextOnSendRule”项,值 为2
\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters
下增加 “ProhibitIpSec”的DWORD项,值为0
9.Linux下的连接方式
image.png