PPTP V.P.N實戰
目錄
1 什麼是VPN
VPN(Virtual Private Network)虛擬專用網路。
依靠ISP和其他的NSP,在公共網路中建立專用的資料通訊網路的技術,可以為企業之間或者個人與企業之間提供安全的資料傳輸隧道服務。
在VPN中任意兩點之間的連線並沒有傳統專網所需的端到端的物理鏈路,而是利用公共網路資源動態組成的,可以理解為通過私有的隧道技術在公共資料網路上模擬出來的和專網有同樣功能的點到點的專線技術。
所謂虛擬是指不需要去拉實際的長途物理線路,而是借用了公共Internet網路實現。
類似VPN隧道:SSH、LVS、TUN(ipip)、IPsec、OpenVPN
1.1 VPN企業應用分類
1、遠端訪問VPN
員工個人電腦通過遠端撥號到企業辦公網路,如公司的OA系統
運維人員遠端撥號到IDC機房,遠端維護伺服器
2、企業內部網路之間VPN服務
公司分支機構的區域網和總公司的LAN之間的VPN連線。如各大超市之間的業務結算等
3、網際網路公司多IDC機房之間VPN服務
不同機房之間業務管理和業務訪問,資料流動
4、企業外部VPN
在供應商,合作伙伴的LAN和本公司的LAN之間建立的VPN服務。
5、訪問國外的網站
翻牆業務應用
1.2 常見隧道協議介紹
1、PPTP(Point to Point Tunneling Protocol,點對點隧道協議)預設埠號:1723,工作在第二層(資料鏈路層)。其是由包括微軟3Com等公司組成的PPTP論壇開發的一種點到點隧道協議,基於撥號使用PPP協議,使用PAP或CHAP之類的惡加密演算法,或者使用Microsoft的點對點加密短髮MPPE。其通過跨越基於TCP/IP的資料網路建立VPN實現了從遠端客戶端到專用企業伺服器之間資料的安全傳輸。PPTP支援通過公共網路(例如Internet)建立按需的、多協議的,虛擬專用網路。PPTP允許加密IP通訊,然後在要跨越公司IP網路或公共網路傳送的IP頭重對其進行封裝。典型的Linux平臺的開源軟體為pptp。其將控制包與資料包分開,控制包採用TCP控制。PPTP使用TCP協議,適合在沒有防火牆限制的網路中使用。比較適合遠端的企業使用者撥號到企業內部進行辦公等的應用。
2、L2TP
3、IPSEC
4、SSL VPN-> OpenVPN
1.3 常見實現VPN的開源軟體
1、PPTP VPN 最大優勢是Windows原生支援,不需要安裝客戶端;缺點是很多小區及園區網路裝置不支援pptp導致無法訪問。開源軟體PPTP。
2、SSL VPN 典型OpenVPN。不但適合用於pptp的場景,還適合對企業異地兩點總公司之間的VPN不間斷按需連線。缺點需要安裝客戶端。
3、IPSEC VPN 適合針對企業異地兩地總分公司或多個IDC機房之間VPN不間斷按需連線,並且在部署使用上更簡單方便。開源產品openswan。
對比:
易用性:PPTP > L2TP > OpenVPN
速度:PPTP > OpenVPN UDP> L2TP > OpenVPN TCP
安全性:OpenVPN > L2TP > PPTP
穩定性:OpenVPN > L2TP > PPTP
網路適用性:OpenVPN > PPTP > L2TP
2 配置pptp VPN
2.1 檢視系統是否開啟ppp
[root@m01 ~]# cat /dev/ppp
cat: /dev/ppp: No such device or address
- 1
- 2
如果出現以上提示則說明ppp是開啟的,可以正常架設pptp服務,若出現Permission denied等其他提示,你需要先去VPS面板裡看看有沒有enable ppp的功能開關,如果沒有則需要發個訊息給你的提供商,讓他們幫你開通,否則就不必要看下去了,100%無法成功配置PPTP。
2.2 配置pptp
#環境準備
[root@m01 ~]# setenforce 0 # 關閉selinux
[root@m01 ~]# getenforce # 檢視selinux狀態
Permissive
[root@m01 ~]# /etc/init.d/iptables stop
# 設定核心轉發功能
[root@m01 ~]# sysctl net.ipv4.ip_forward=1 # 臨時設定
net.ipv4.ip_forward = 1
[root@m01 ~]# sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf # 永久生效
[root@m01 ~]# sysctl -p
# 安裝pptp,要先有epel源
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install pptpd
# 配置pptp,編輯pptp的配置檔案
cat >>/etc/pptpd.conf<<EOF
localip 192.168.90.61
remoteip 172.16.1.2-254
EOF
# 解釋下這兩段,只需要改這兩段即可
localip(本機公網IP)
remoteip(分配VPN使用者的內網網段)
# 設定使用者與密碼
[root@m01 ~]# vim /etc/ppp/chap-secrets
rsq * 123 *
# 第一列設定使用者名稱,第二列基本不用,第三列設定使用者密碼,第四列可以指定分配給使用者的IP地址,這裡用*指定所有即可(看需求)
# 啟動pptpd服務
[root@m01 ~]# /etc/init.d/pptpd start
Starting pptpd: [ OK ]
[root@m01 ~]# tailf /var/log/messages # 可以檢視pptp日誌
May 12 09:12:26 m01 kernel: PPP generic driver version 2.4.2
May 12 09:20:34 m01 yum[36030]: Installed: ppp-2.4.5-10.el6.x86_64
May 12 09:20:34 m01 yum[36030]: Installed: pptpd-1.4.0-3.el6.x86_64
May 12 09:39:34 m01 pptpd[36486]: MGR: connections limit (100) reached, extra IP addresses ignored
May 12 09:39:34 m01 pptpd[36487]: MGR: Manager process started
May 12 09:39:34 m01 pptpd[36487]: MGR: Maximum of 100 connections available # 最大100個連線的數量
[root@m01 ~]# netstat -lntup |grep pptpd
tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 36487/pptpd
2.3 Windows客戶端測試
連線成功,但是會發現不能正常上網,是因為閘道器的問題,配置完VPN後需要把VPN網路選項中的 在遠端網路上使用閘道器
選項給取消即可
重新連線VPN即可正常上網
2.4 VPN連線報錯解決
在建立VPN連線後,點選連線會一直處於連線狀態,而後報錯連線失敗,請重試的資訊,這個問題可以在VPN屬性,安全中,修改一下VPN型別,有時候會有影響。
轉載至https://blog.csdn.net/mr_rsq/article/details/80399984
https://www.cnblogs.com/kevingrace/p/6329722.html
https://websistent.com/how-to-configure-a-linux-pptp-vpn-client/?spm=a2c4e.11155515.0.0.wAUtmn