歡迎您光臨本站 註冊首頁

Redhat Linux 5.3 PPTP VPN Server的安裝配置

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

實驗環境(1) 公司所有game伺服器,只允許一個外網ip去訪問,需要維護伺服器,必須先撥號到指定外網ip. (2) 公司與總部通信都是走vpn通道,公司內部ip與vpn設備下是不同網段,需要在vpn設備下接一台雙網卡伺服器 解決方案:通過linux下的pptp協議,遠程用戶能通過支持點對點協議的所有操作系統,安全訪問網路. 實驗圖 根據方案,需在192.168.15.50搭建Poptop服務 關於Poptop介紹信息: Poptop是一個 PPTP 伺服器的開源實現,採用 C 預言開發,可運行在 x86 或者是摩托羅拉嵌入式ColdFire體系.可與微軟的 PPTP VPN 客戶端進行完全互操作. 點對點隧道協議(PPTP)是一種支持多協議虛擬專用網路的網路技術.通過該協議,遠程用戶能夠通過 Microsoft Windows NT 工作站、Windows 95 Windows 98 操作系統以及其它裝有點對點協議的系統安全訪問公司網路,並能撥號連入本地 ISP,通過 Internet 安全鏈接到公司網路.

PPTP 可以用於在 IP 網路上建立 PPP 會話隧道.在這種配置下,PPTP 隧道和 PPP 會話運行在兩個相同的機器上,呼叫方充當 PNS.PPTP 使用客戶機-伺服器結構來分離當前網路訪問伺服器具備的一些功能並支持虛擬專用網路.PPTP 作為一個呼叫控制和管理協議,它允許伺服器控制來自 PSTN ISDN 的撥入電路交換呼叫訪問並初始化外部電路交換連接. PPTP 只能通過 PAC PNS 來實施,其它系統沒有必要知道 PPTP.撥號網路可與 PAC 相連接而無需知道 PPTP.標準的 PPP 客戶機軟體可繼續在隧道

PPP 鏈接上操作. PPTP 使用 GRE 的擴展版本來傳輸用戶 PPP 包.這些增強允許為在 PAC PNS 之間傳輸用戶數據的隧道提供低層擁塞控制和流控制.這種機制允許高效使用隧道可用帶寬並且避免了不必要的重發和緩衝區溢出.PPTP 沒有規定特定的演算法用於低層控制,但它確實定義了一些通信參數來支持這樣的演算法工作. Poptop環境需要軟體包 1.Dkms 2.kernel_ppp_mppe MPPE Microsoft Point to Point Encryption,微軟點對點加密) 3.ppp  PPPPoint-to-Point Protocol,點到點協議) 4.pptpd 步驟如下:

1.查看還需安裝哪些軟體,由於RHEL 5 2.6.18 內核已經集成了MPPE和高版本的ppp [root@viong ~]# rpm -q ppp ppp-2.4.4-2.el5 [root@viong ~]# strings '/usr/sbin/pppd'|grep -i mppe|wc -l 42 檢查PPP是否支持MPPE,若結果顯示“0”則表示不支持,而“30”或更大的數字就表示支持. [root@viong ~]# modprobe ppp-compress-18 && echo ‘ok! MPPE was found !’ ok! MPPE was found ! 檢查內核MPPE補丁是否安裝成功:若結果顯示“ok! MPPE was found !”則表示成功. [root@viong ~]# rpm -q dkms

package dkms is not installed [root@viong ~]# rpm -q pptpd package pptpd is not installed 2. 安裝軟體 [root@viong soft]# rpm –ivh http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm [root@viong soft] rpm –ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.i386.rpm 3.修改pptpd.conf配置參數 [root@viong soft]# vi /etc/pptpd.conf 95 # (Recommended) 96 #localip 192.168.0.1 97 #remoteip 192.168.0.234-238,192.168.0.245 修改為: 95 # (Recommended) 96 localip 192.168.126.2 97 remoteip 192.168.126.100-200 : /etc/pptpd.conf 常用配置 option /etc/ppp/options.pptpd PPP組件將使用的配置文件; stimeout 120 開始PPTP控制連接的超時時間,以秒計; debug 把所有debug信息記入系統日誌/var/log/messages; localip 192.168.1.10 伺服器VPN虛擬介面將分配的IP地址,可設置為與VPN伺服器內網地址相同網段的IP,也可設置為另一網段的IP; remoteip 192.168.1.11-30 客戶端VPN連接成功后將分配的IP地址段,同樣可設置為與VPN伺服器內網地址相同網段的IP地址段,也可以設置為另一網段的IP地址段; logwtmp 該功能項的作用是“使用wtmp記錄客戶端的連接與斷開信息

4.修options.pptpd配置參數 /etc/ppp/options.pptpd 默認配置就ok 注:/etc/ppp/options.pptpd常用配置 name pptpd pptpd server 的名稱. refuse-pap 拒絕 pap 身份驗證模式. refuse-chap 拒絕 chap 身份驗證模式. refuse-mschap 拒絕 mschap 身份驗證模式. require-mschap-v2 在端點進行連接握手時需要使用微軟的 mschap-v2 進行自身驗證. require-mppe-128 MPPE 模塊使用 128 位加密. ms-dns 61.139.2.69 ms-dns 202.98.96.68 ppp 為 Windows 客戶端提供 DNS 伺服器 IP 地址,第一個 ms-dns 為 DNS Master,第二個為 DNS Slave. proxyarp 建立 ARP 代理鍵值. debug 開啟調試模式,相關信息同樣記錄在 /var/logs/message 中. lock 鎖定客戶端 PTY 設備文件. nobsdcomp 禁用 BSD 壓縮模式. novj novjccomp 禁用 Van Jacobson 壓縮模式. nologfd 禁止將錯誤信息記錄到標準錯誤輸出設備(stderr) 5.修chap-secrets配置參數 [root@viong soft]# vi /etc/ppp/chap-secrets # Secrets for authentication using CHAP # client server secret IP addresse viong * 123 * : viong 用戶賬號 *代表自動識別當前伺服器主機名,也可以手動配置 123 用戶密碼 *代表自動分配可用的IP地址,可根據需要指定IP地址 也可以使用vpnuser命令來進行配置: # vpnuser add viong 123 添加一個viong用戶 6.開啟路由轉發 VPN客戶端在撥號后實際是通過伺服器外網網卡進行數據通信的,那麼要訪問內網網段的地址就必須開啟數據包轉發,使外網網卡的數據包能夠轉發到內網網卡上 [root@viong soft]# vi /etc/sysctl.conf


6 # Controls IP packet forwarding 7 net.ipv4.ip_forward = 0 修改為: 6 # Controls IP packet forwarding 7 net.ipv4.ip_forward = 1 [root@viong soft]# sysctl -p /etc/sysctl.conf 路由轉發立即生效
7. 防火牆配置 對於默認開啟了SELinux認證: 需執行以下命令使pppd與pptp穿透SELinux [root@viong soft]# setsebool pppd_disable_trans 1 [root@viong soft]# setssebool pptp_diable_trans 1 附上關閉SELinux認證方法: 編輯vi /etc/sysconfig/selinux文件,配置以下選項 SELINUX=disabled 如果不重啟生效就執行以下命令使修改生效 [root@viong soft]# setenforce 0 對於開啟了iptables過濾的主機,需要開放VPN服務的埠:47 1723 和gre協議 編輯 /etc/sysconfig/iptables文件,加入以下規則 -A RH-Firewall-1-INPUT -p gre -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 47 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1723 -j ACCEPT [root@viong soft]# service iptables restart 重啟iptables直接生效 用Iptables做NAT服務
在VPN客戶端成功撥號以後,本地網路的默認網關會變為VPN伺服器的VPN內網地址,這樣會導致客戶端只能夠連接VPN伺服器及其所在的內網,而不能訪問互聯網; [root@viong ~]#iptables -t nat -A POSTROUTING -s 192.168.126.0/24 -j SNAT --to 192.168.15.50 [root@viong ~]#echo iptables -t nat -A POSTROUTING -s 192.168.126.0/24 -j SNAT --to 192.168.15.50 >>/etc/rc.local 加入到/etc/rc.local開機自動啟動 8.啟動pptp [root@viong ~]#service pptpd restart [root@viong ~]#

netstat -ntpl |grep 1723 tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN 2585/pptpd 9.測試撥號是否成功 客戶端:Win 7 C:Documents and SettingsAdministrator>ipconfig Windows IP Configuration Ethernet adapter 本地連接: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.15.253 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.15.1 PPP adapter test: Connection-specific DNS Suffix . : IP Address. . . . . . . . . . . . : 192.168.126.100 Subnet Mask . . . . . . . . . . . : 255.255.255.255 Default Gateway . . . . . . . . . : 192.168.126.100 C:Documents and SettingsAdministrator>ping 192.168.126.1 Pinging 192.168.126.1 with 32 bytes of data: Reply from 192.168.126.1: bytes=32 time=144ms TTL=127 Reply from 192.168.126.1: bytes=32 time=4ms TTL=127 C:Documents and SettingsAdministrator>ping www.baidu.com Pinging www.a.shifen.com [119.75.216.20] with 32 bytes of data: Reply from 119.75.216.20: bytes=32 time=33ms TTL=52 Reply from 119.75.216.20: bytes=32 time=27ms TTL=52 通過以上測試,說明已經成功生效了.

小插曲:每次寫一篇文章,都是追求把它整理得完美點來與大家分享.但也是比較累人.關於這次blog編輯器的升級,給我帶來一些歡喜.我不用整理從word複製到編輯的文本,文章篇幅不會被限得那麼死.謝謝51cto的努力,期待著圖片的直接黏貼功能...有時間,我會把平時工作關聯到的一些技術寫出來與大家分享,謝謝支持!


[火星人 ] Redhat Linux 5.3 PPTP VPN Server的安裝配置已經有862次圍觀

http://coctec.com/docs/linux/show-post-52025.html