本文收錄在企業項目實戰系列 一、VPN 介紹 1、介紹 虛擬私人網路(英語:Virtual Private Network,縮寫為VPN)是一種常用於連接中、大型企業或團體與團體間的私人網路的通訊方法。虛擬私人網路的訊息透過公用的網路架構(例如:互聯網)來傳送內部網的網路訊息。它利用已加密的通道協議 ...
本文收錄在企業項目實戰系列
一、VPN 介紹
1、介紹
虛擬私人網路(英語:Virtual Private Network,縮寫為VPN)是一種常用於連接中、大型企業或團體與團體間的私人網路的通訊方法。虛擬私人網路的訊息透過公用的網路架構(例如:互聯網)來傳送內部網的網路訊息。它利用已加密的通道協議(Tunneling Protocol)來達到保密、發送端認證、消息準確性等私人消息安全效果。這種技術可以用不安全的網路(例如:互聯網)來發送可靠、安全的消息。需要註意的是,加密消息與否是可以控制的。沒有加密的虛擬專用網消息依然有被竊取的危險。
VPN的實質就是利用加密技術在公用網上面封裝出一個數據通訊隧道。
以日常生活的例子來比喻,虛擬專用網就像:甲公司某部門的A想寄信去乙公司某部門的B。A已知B的地址及部門,但公司與公司之間的信不能註明部門名稱。於是,A請自己的秘書把指定B所屬部門的信(A可以選擇是否以密碼與B通信)放在寄去乙公司地址的大信封中。當乙公司的秘書收到從甲公司寄到乙公司的信件後,該秘書便會把放在該大信封內的指定部門信件以公司內部郵件方式寄給B。同樣地,B會以同樣的方式回信給A。
在以上例子中,A及B是身處不同公司(內部網路)的電腦(或相關機器),通過一般郵寄方式(公用網路)寄信給對方,再由對方的秘書(例如:支持虛擬專用網的路由器或防火牆)以公司內部信件(內部網路)的方式寄至對方本人。請註意,在虛擬專用網中,因應網路架構,秘書及收信人可以是同一人。許多現在的操作系統,例如Windows及Linux等因其所用傳輸協議,已有能力不用通過其它網路設備便能達到虛擬專用網連接。
2、vpn分類
VPN的隧道協議主要有三種,PPTP、L2TP和IPSec,其中PPTP和L2TP協議工作在OSI模型的第二層,又稱為二層隧道協議;IPSec是第三層隧道協議。
① Access VPN(遠程接入VPN):客戶端到網關,使用公網作為骨幹網在設備之間傳輸VPN數據流量;
② Intranet VPN(內聯網VPN):網關到網關,通過公司的網路架構連接來自同公司的資源;
③ Extranet VPN(外聯網VPN):與合作伙伴企業網構成Extranet,將一個公司與另一個公司的資源進行連接。
網路設備提供商針對不同客戶的需求,開發出不同的VPN網路設備,主要為交換機、路由器和防火牆:
① 路由器式VPN:路由器式VPN部署較容易,只要在路由器上添加VPN服務即可;
① 重疊VPN:此VPN需要用戶自己建立端節點之間的VPN鏈路,主要包括:GRE、L2TP、IPSec等眾多技術。
② 對等VPN:由網路運營商在主幹網上完成VPN通道的建立,主要包括MPLS、VPN技術。
3、VPN的實現方式有很多種方法,常用的有以下四種
(1)VPN伺服器:在大型區域網中,可以在網路中心通過搭建VPN伺服器的方法來實現。
(4)集成VPN:很多的硬體設備,如路由器,防火牆等等,都含有VPN功能,但是一般擁有VPN功能的硬體設備通常都比沒有這一功能的要貴。
二、實驗—搭建pptp
1、檢查系統是否支持ppp
[root@centos6 ~]# cat /dev/ppp
cat: /dev/ppp: No such device or address
如果出現以上提示則說明ppp是開啟的,可以正常架設pptp服務,若出現Permission denied等其他提示,你需要先去VPS面板里看看有沒有enable ppp的功能開關。
2、設置內核轉發,開啟路由轉發
[root@centos6 ~]# vim /etc/sysctl.conf
[root@centos6 ~]# sysctl -p 查看
3、安裝pptp
[root@centos6 ~]# yum -y install pptpd
4、配置pptp
[root@centos6 ~]# cp /etc/pptpd.conf{,.bak} 配置前備份
[root@centos6 ~]# vim /etc/pptpd.conf
option /etc/ppp/options.pptpd logwtmp localip 39.106.xxx.xxx #本機公網ip remoteip 192.168.1.100-110 #分配給VPN 客戶端的地址,一般是內網網段地址
[root@along ~]# vim /etc/ppp/chap-secrets
client(客戶端登錄賬號) server(服務) secret(密碼) IP addresses(ip範圍)
[root@along ~]# systemctl start pptpd
[root@along ~]# ps -ef |grep pptpd
[root@along ~]# ss -nutlp |grep pptpd 打開的埠是1723
5、設置SNAT 規則
[root@along ~]# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
6、client 端連接vpn
8、查看日誌,看是否有client 端連接
[root@along ~]# tail -200 /var/log/messages 確實有client 連接
9、連接後的配置
10、測試連接後IP