什么是V-P-N
V-P-N即虛擬專用網絡,它的功能是:在公用網絡上建立專用網絡,進行加密通訊。
V-P-N網關通過對數據包的加密和數據包目標地址的轉換實現遠程訪問。V-P-N有多種分類方式,主要是按協議進行分類。
V-P-N可通過服務器、硬件、軟件等多種方式實現。本文記錄的是 Linux 系統下V-P-N服務器的搭建。
實驗環境
- VMware Workstations
- 一台最小化安裝的CentOS7,內網IP(僅主機模式):192.168.50.128,外網IP(NAT模式):192.168.204.133
- 一台Windows7,內網IP(僅主機模式):192.168.50.129
檢查網絡連通性
CentOS上執行以下命令:
# 檢查centos到windows之間的網絡連通性
ping -c 4 192.168.50.129
# 檢查centos到互聯網的網絡連通性
ping -c 4 www.baidu.com

安裝pptpd軟件包
yum install -y epel*
yum install -y ppp pptpd
修改配置文件options.pptpd
vim /etc/ppp/options.pptpd
查找ms-dns選項,解除本行注釋,同時修改NDS地址

修改配置文件pptpd.conf
vim /etc/pptpd.conf
查找ppp選項,解除本行注釋

查找localip選項和remoteip選項
其中localip代表虛擬專用網絡的本機地址,remoteip代表虛擬專用網絡客戶端的地址池

修改chap-secrets配置文件,添加登錄用戶
vim /etc/ppp/chap-secrets
其中,client代表用戶名,secret表示密碼,IP addressses表示允許登錄的IP地址(*代表不限制登錄IP)

啟動服務
systemctl restart pptpd
systemctl status pptpd

關閉防火牆
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state
開啟Linux的路由功能
iptables -A FORWARD -i ens37 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
解釋(ens37為內網網卡,ens33為外網網卡):
第一條命令:讓發送至內網網卡的數據全部通過
第二條命令:修改數據報頭信息
第三條命令:開啟Linux的路由功能
第四條命令:查看是否啟用了路由功能,1代表啟用,0代表禁用
具體命令需要根據自己的網卡名稱進行修改
設置開機自啟
將 開啟Linux路由功能 的命令寫成shell腳本
vim /root/nat.service
添加如下內容(具體命令需要根據自己的網卡名稱進行修改):
#!/bin/bash
iptables -A FORWARD -i ens37 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
cat /proc/sys/net/ipv4/ip_forward
添加可執行限權
chmod +x /root/nat.service
將腳本添加到開機自啟目錄
echo -e "/bin/bash /root/nat.service" >> /etc/rc.local
chmod +x /etc/rc.local
添加pptpd服務開機自啟
systemctl enable pptpd
Windows7上配置連接V_P_N
右擊網絡,選擇屬性

設置新的連接或網絡

連接到工作區



填寫V-P-N服務器的IP地址(即V-P-N服務器的內網IP)



輸入用戶名密碼,點擊連接

查看連接狀態

查看IP信息(可見V-P-N連接分配的IP地址)

檢查互聯網的連通性

訪問網頁

本文鏈接:https://www.cnblogs.com/connect/p/linux-service-virtual-private-network.html
