1. 程式人生 > >CentOS 7 搭建 VPN 服務

CentOS 7 搭建 VPN 服務

rect 寫入 服務器 ets 添加 cto ubuntu 成功 工作區

檢查是否支持
若你使用XEN架構的VPS,下面的步驟不用執行
檢測PPP是否開啟:
cat /dev/ppp
開啟成功的標誌:cat: /dev/ppp: No such file or directory 或者 cat: /dev/ppp: No such device or address,可以繼續

安裝ppp
yum install -y ppp

安裝PPTP
yum install epel-release
yum install pptpd

安裝iptables:
systemctl stop firewalld
systemctl mask firewalld

yum install iptables iptables-services
systemctl enable iptables
service iptables start
service iptables save


編輯pptpd.conf:
vi /etc/pptpd.conf
搜索localip,去掉下面字段前面的#,然後保存退出
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
#這些是默認的,一般不需要去修改,分配給客戶端的ip就是234到238之間,你也可以往大了寫,看你的客戶端有多少。

配置options.pptpd
vi /etc/ppp/options.pptpd
搜索ms-dns,去掉搜索到的兩行ms-dns前面的#,並修改為下面的字段
ms-dns  8.8.8.8       #這是谷歌的
ms-dns  8.8.4.4

配置連接VPN客戶端要用到的帳號密碼
vi /etc/ppp/chap-secrets
添加一行,按照格式寫入你的用戶名和密碼(用 tab 鍵分割各參數)
vpnuser            pptpd            密碼            *

修改內核參數
vi /etc/sysctl.conf
在conf末尾添加下面的代碼,使內核支持轉發
net.ipv4.ip_forward=1

運行下面的命令使內核修改生效
sysctl -p


這個時候把iptables關閉的話是可以連接VPN了,之所以要把iptables關閉是因為沒有開放VPN的端口,客戶如果直接連接的話是不允許的。這裏還需要設置iptables的轉發規則,讓你的客戶端連接上之後能訪問外網。
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -I INPUT -p tcp --dport 47 -j ACCEPT
#iptables -A INPUT -p 47 -j ACCEPT
#iptables -A OUTPUT -p 47 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
註:eth0 為外網網卡

iptables -A INPUT -i ppp+ -j ACCEPT
iptables -A OUTPUT -o ppp+ -j ACCEPT

iptables -F FORWARD
iptables -A FORWARD -j ACCEPT

iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
iptables -A POSTROUTING -t nat -o ppp+ -j MASQUERADE
註:eth0 為外網網卡

service iptables save

保險起見,到了這裏應該重啟一下pptpd服務和iptables服務生效。
systemctl restart iptables
systemctl restart pptpd

systemctl enable pptpd.service


在 windows 8.1 創建VPN連接:
網絡和共享中心 -> 設置新的連接或網絡 -> 連接到工作區 -> 使用我的internet 連接(VPN) -> 輸入服務器IP地址

在Ubuntu創建VPN連接時需要勾選“使用點到點加密(MPPE)”,並檢查ufw防火墻設置
sudo tail -f /var/log/ufw.log
sudo vi /etc/ufw/before.rules
找到 # drop INVALID packets ...
在下面添加:
-A ufw-before-input -p 47 -j ACCEPT
sudo systemctl restart ufw

在Fedora創建VPN連接時需要勾選“使用點到點加密(MPPE)”,並檢查firewalld防火墻設置

CentOS 7 搭建 VPN 服務