檢查當(dāng)前系統(tǒng)是否支持MPPE模塊
sudo modprobe ppp-compress-18 && echo MPPE is ok
輸出:MPPE is ok宜狐,則說明內(nèi)核支持MPPE模塊,否則需升級內(nèi)核到2.6.15以上版本
安裝PPTP
sudo apt-get install -y pptpd
配置/etc/pptpd.conf
# (Recommended)
localip 192.168.0.251 # 填寫本地服務(wù)器IP地址
remoteip 192.168.100.1-10 # 填寫遠(yuǎn)程連接待分配地址段
# or
#localip 192.168.0.234-238,192.168.0.245
#remoteip 192.168.1.234-238,192.168.1.245
配置/etc/ppp/chap-secrets
此步驟需要配置遠(yuǎn)程登錄pptp的用戶信息
# Secrets for authentication using CHAP
# client server secret IP addresses
admin pptpd admin123 *
配置DNS解析, /etc/ppp/pptpd-options
# Network and Routing
...
...
# client. See KB311218 in Microsoft's knowledge base for more information.
ms-dns 119.29.29.29 # 取消注釋, 并配置DNS服務(wù)器
ms-dns 223.5.5.5 # 取消注釋, 并配置DNS服務(wù)器
開啟轉(zhuǎn)發(fā)功能
編輯 /etc/sysctl.conf
取消以下內(nèi)容的注釋(打開內(nèi)核ip轉(zhuǎn)發(fā))
net.ipv4.ip_forward=1
更新配置
sudo sysctl -p
配置iptables (方法一)
開啟gre協(xié)議并打開服務(wù)器47,1723號端口
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
開啟NAT轉(zhuǎn)發(fā)
sudo iptables -t nat -A POSTROUTING -s 192.168.100.1/24 -o eth0 -j MASQUERADE
- 192.168.100.1/24, 為遠(yuǎn)程連接所分配的IP地址段, 需根據(jù)真實(shí)情況配置
- eth0, 為當(dāng)前服務(wù)器的網(wǎng)卡
保存配置
sudo iptables-save
配置iptables (方法二)
在/etc下創(chuàng)建一個(gè)名為iptables-rules的文件, 并寫入下面的內(nèi)容
# Generated by iptables-save v1.6.0 on Sat Jul 18 08:21:09 2020
*nat
:PREROUTING ACCEPT [20:8123]
:INPUT ACCEPT [9:7057]
:OUTPUT ACCEPT [48:3089]
:POSTROUTING ACCEPT [48:3089]
-A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Jul 18 08:21:09 2020
# Generated by iptables-save v1.6.0 on Sat Jul 18 08:21:09 2020
*filter
:INPUT ACCEPT [171:179716]
:FORWARD ACCEPT [10:2032]
:OUTPUT ACCEPT [137:14828]
-A INPUT -p gre -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 47 -j ACCEPT
-A FORWARD -i ppp+ -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 1356
COMMIT
# Completed on Sat Jul 18 08:21:09 2020
執(zhí)行以下命令 (此命令會覆蓋之前手動配置的iptables規(guī)則)
iptables-restore < /etc/iptables-rules