服務器系統版本:
CentOS / 7.3 x86_64 (64bit)
准備工作:
搭建PPTP服務和搭建L2TP/IPSec服務均需要設置內核支持轉發
編輯sysctl.conf
vim /etc/sysctl.conf
在末尾添加:
net.ipv4.ip_forward = 1
保存並退出,執行以下命令使其生效
sysctl -p
搭建PPTP服務
一、檢測PPP服務是否開啟
cat /dev/ppp
結果顯示:
cat: /dev/ppp: No such file or directory 或者 cat: /dev/ppp: No such device or address
可以繼續
二、安裝PPP、PPTPD、Iptables組件
yum install -y ppp iptables pptpd
安裝之前,可以更新yum源
三、編輯配置文件
1、編輯pptpd.conf
vim /etc/pptpd.conf
添加或去掉“#”以下字段並保存退出:
localip 172.100.127.1 本機內網ip remoteip 172.100.127.100-120,172.100.127.245 VPN分配網段
2、編輯options.pptpd
vim /etc/ppp/options.pptpd
找到ms-dns,去掉#號注釋修改為
ms-dns 114.114.114.114 ms-dns 8.8.4.4
保存並退出
3、編輯chap-secrets設置VPN用戶名密碼
vim /etc/ppp/chap-secrets
添加一行(注意:用戶名密碼區分大小寫)
# client server(/etc/ppp/options.pptpd 中對應的name pptpd) secret IP addresses root pptpd 123456 *
四、防火牆配置及設置nat轉發
1、啟動防火牆
systemctl start firewalld
2、啟用NAT轉發(必須啟用此功能)
firewall-cmd --permanent --add-masquerade
3、開啟47及1723端口
firewall-cmd --permanent --zone=public --add-port=47/tcp firewall-cmd --permanent --zone=public --add-port=1723/tcp
4、設置規則
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 filter OUTPUT 0 -p gre -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 FORWARD 0 -i ppp+ -o eth0 -j ACCEPT firewall-cmd --permanent --direct --add-rule ipv4 FORWARD 0 -i eth0 -o ppp+ -j ACCEPT firewall-cmd --permanent --direct --passthrough ipv4 -t nat -I POSTROUTING -o eth0 -j MASQUERADE -s 172.100.127.0/24 (內網網段)
5、重啟防火牆
firewall-cmd --reload
五,使用firewall-config配置nat (四,五 任選其一)
1,安裝firewall-config,需重新打開命令行終端
yum -y install firewall-config
2, 打開firewall-config,xshell 需要使用xmanager
firewall-config
3,切換到permanent模式
4,打開public zone的gre服務:
5,添加端口1723和47
6,打開net轉發:
7,添加富規則,配置轉發:
六、啟動PPTP服務
systemctl start pptpd
查看服務狀態
systemctl status pptpd
設置pptpd服務開機自啟
systemctl enable pptpd
至此,PPTP服務已搭建完成,可以使用Windows或Mac通過VPN連接。
搭建L2TP服務
一、安裝EPEL源
yum install -y epel-release
二、安裝Xl2TPD等服務
yum install -y xl2tpd libreswan lsof
三、編輯配置文件
1、編輯xl2tpd.conf
vim /etc/xl2tpd/xl2tpd.conf
修改以下內容
[lns default] ip range = 172.100.112.100-172.100.112.125 VPN 分配的網段 local ip = 172.100.112.1 本機內網IP require chap = yes refuse pap = yes require authentication = yes name = LinuxVPNserver ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes
2、編輯options.xl2tpd
vim /etc/ppp/options.xl2tpd
修改以下內容
ipcp-accept-local ipcp-accept-remote ms-dns 114.114.114.114 ms-dns 8.8.8.8 # ms-dns 192.168.1.1 # ms-dns 192.168.1.3 # ms-wins 192.168.1.2 # ms-wins 192.168.1.4 noccp auth #obsolete: crtscts idle 1800 mtu 1410 mru 1410 nodefaultroute debug #obsolete: lock proxyarp connect-delay 5000
3、編輯l2tp-ipsec.conf(沒有則新建)
vim /etc/ipsec.d/l2tp-ipsec.conf
添加或修改以下內容
config setup nat_traversal=yes virtual_private=%v4:10.0.0.0/8,$v4:192.168.0.0/16,%v4:172.16.0.0/12 oe=off protostack=netkey conn L2TP-PSK-NAT rightsubnet=vhost:%priv also=L2TP-PSK-noNAT conn L2TP-PSK-noNAT authby=secret pfs=no auto=add keyingtries=3 rekey=no ikelifetime=8h keylife=1h type=172.100.112.1 leftprotoport=17/1701 right=%any rightprotoport=17/%any
4、編輯chap-secrets設置VPN用戶名密碼
這個配置文件和PPTPD的用戶名密碼配件文件共用,參考PPTP的設置
四、防火牆設置
1、允許ipsec服務
firewall-cmd --permanent --add-service=ipsec
2、允許1701、4500端口
firewall-cmd --permanent --add-port=1701/upd firewall-cmd --permanent --add-port=4500/upd
3、啟用NAT轉發
搭建PPTP時,如果已開啟可忽略
firewall-cmd --permanent --add-masquerade
4、重啟防火牆
firewall-cmd --reload
五、修改內核參數
vim /etc/sysctl.conf
添加以下內容
net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.all.send_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.default.send_redirects = 0 net.ipv4.conf.eth0.accept_redirects = 0 net.ipv4.conf.eth0.rp_filter = 0 net.ipv4.conf.eth0.send_redirects = 0 net.ipv4.conf.eth1.accept_redirects = 0 net.ipv4.conf.eth1.rp_filter = 0 net.ipv4.conf.eth1.send_redirects = 0 net.ipv4.conf.eth2.accept_redirects = 0 net.ipv4.conf.eth2.rp_filter = 0 net.ipv4.conf.eth2.send_redirects = 0 net.ipv4.conf.ip_vti0.accept_redirects = 0 net.ipv4.conf.ip_vti0.rp_filter = 0 net.ipv4.conf.ip_vti0.send_redirects = 0 net.ipv4.conf.lo.accept_redirects = 0 net.ipv4.conf.lo.rp_filter = 0 net.ipv4.conf.lo.send_redirects = 0 net.ipv4.conf.ppp0.accept_redirects = 0 net.ipv4.conf.ppp0.rp_filter = 0 net.ipv4.conf.ppp0.send_redirects = 0
使其修改生效
sysctl -p
六、啟動ipsec及xl2tp服務
1、啟動ipsec服務
systemctl start ipsec
2、檢查ipsec配置
ipsec verify
3、設置ipsec開機自啟
systemctl enable ipsec
4、啟動xl2tp服務
systemctl start xl2tp
5、設置xl2tp開機自啟
systemctl enable xl2tpd
至此,L2TP/IPSec服務已搭建完成,可以使用Windows或Mac通過VPN連接。
————————————————
版權聲明:本文為CSDN博主「程序梗」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/iruier_/article/details/104294045