什么是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