在CentOS安裝pptpd以及部署
在使用CentOS系統(tǒng)的時候,對有些人也許會遇到在CentOS安裝pptpd的問題。下面就來介紹一下,如何在CentOS安裝pptpd。在CentOS安裝pptpd最省事的安裝就是下載rpm包pptpd-1.3.4-1.rhel5.1.i386.rpm,然后直接執(zhí)行 rpm –ivh pptpd-1.3.4-.rhel5.1.i386.rpm 。幸運的是這個包沒有其他依賴,因此CentOS安裝pptpd應(yīng)該是異常的順利。如果使用源碼安裝,會出現(xiàn)ppp版本高的情況,需刪除pppd2.3.4 再安裝pppp2.4.3,反而麻煩了。安裝完rpm包后,自動生成幾個配置文件,主配置文件/etc/pptpd.conf,選項文件/etc/ppp/options.pptpd, 帳號文件/etc/ppp/chapsecrets.后面配置pptpd主要就是對這幾個文件進行修改。
一、CentOS安裝pptpd (vpn)拓撲結(jié)構(gòu)
vpn的訪問邏輯上存在3個網(wǎng)絡(luò):
1、欲訪問的目標網(wǎng)絡(luò)。通常在vpn服務(wù)器所在的內(nèi)部網(wǎng)絡(luò)(vpn服務(wù)器有2個網(wǎng)卡,一個是公網(wǎng)的,一個是私有網(wǎng)絡(luò)的)
2、Vpn的公網(wǎng)網(wǎng)絡(luò)。
3、Vpn連接后與客戶端形成的虛擬網(wǎng)絡(luò)。建議單獨設(shè)置一個網(wǎng)絡(luò),這樣就不會占用vpn后面的私有網(wǎng)絡(luò)(目標網(wǎng)絡(luò))的ip資源/地址。
![]() |
圖1 |
當然vpn隧道網(wǎng)絡(luò)可以跟目標網(wǎng)絡(luò)是同一個網(wǎng)段,不過不推薦這樣。
二、CentOS安裝pptpd vpn服務(wù)器端的配置
(一)修改主配置文件/etc/pptpd.conf.只需要加入下面兩行:
localip 172.16.195.1
remoteip 172.16.195.101-200
Localip這行是給vpn服務(wù)器設(shè)置一個隧道ip
Remoteip是自動分配給客戶端的ip地址范圍。
(二)修改選項文件/etc/ppp/options.pptpd.需要設(shè)定分配給客戶端的dns,因此僅需把ms-dns前的注釋去掉,改成可用的dns如下:ms-dns 61.135.154.5 ms-dns 159.226.240.66
為了方便查看調(diào)試信息,把debug行前面的注釋取消即可。Dump前的注釋也取消。
(三)CentOS安裝pptpd 添加帳號。通過編輯文件/etc/ppp/chap-secrets逐行加入;一個賬號占一行。一行分4列,其表示如下:
用戶名
服務(wù)器名
密碼
ip
沒有字符數(shù)限制
Pptpd—都用這個,如果用其它的名稱,需要修改options.pptpd文件的name行的內(nèi)容
用雙引號的話,密碼就不能包含雙引號了
* 表示有pptpd隨機分配ip
三、CentOS安裝運行pptpd.執(zhí)行命令service pptpd start或者執(zhí)行/etc/init.d/pptpd 即可啟動它。
通過檢查進程、查看系統(tǒng)日志來確定pptpd是否正常。
四、客戶端配置(windows)。
這個應(yīng)該很容易了,就不再多費口舌。
五、撥號登錄。
撥號過程中,登錄到vpn服務(wù)器查看日志,會看到用戶的連接情況,下面是截取的一個片斷,供參考:
- Dec 19 17:16:01 max-vpn pppd[9833]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
- Dec 19 17:16:01 max-vpn pppd[9833]: pptpd-logwtmp: $Version$
- Dec 19 17:16:01 max-vpn pppd[9833]: pppd options in effect:
- Dec 19 17:16:01 max-vpn pppd[9833]: debug # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: logfile /etc/ppp/vpn.log # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: dump # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: plugin /usr/lib/pptpd/pptpd-logwtmp.so # (from command line)
- Dec 19 17:16:01 max-vpn pppd[9833]: require-mschap-v2 # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: refuse-pap # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: refuse-chap # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: refuse-mschap # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: name pptpd # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: pptpd-original-ip 200.199.118.72 # (from command line)
- Dec 19 17:16:01 max-vpn pppd[9833]: 115200 # (from command line)
- Dec 19 17:16:01 max-vpn pppd[9833]: lock # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: local # (from command line)
- Dec 19 17:16:01 max-vpn pppd[9833]: novj # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: novjccomp # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: ipparam 200.199.118.72 # (from command line)
- Dec 19 17:16:01 max-vpn pppd[9833]: ms-dns xxx # [don't know how to print value] # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: proxyarp # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:01 max-vpn pppd[9833]: 172.16.195.1:172.16.195.101-200 # (from command line)
- Dec 19 17:16:02 max-vpn pppd[9833]: nobsdcomp # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:02 max-vpn pppd[9833]: require-mppe-128 # (from /etc/ppp/options.pptpd)
- Dec 19 17:16:02 max-vpn pppd[9833]: pppd 2.4.4 started by root, uid 0
- Dec 19 17:16:02 max-vpn pppd[9833]: Using interface ppp0
- Dec 19 17:16:02 max-vpn pppd[9833]: Connect: ppp0 <--> /dev/pts/1
- Dec 19 17:16:02 max-vpn pptpd[9832]: CTRL: Ignored a SET LINK INFO packet with real ACCMs!
- Dec 19 17:16:02 max-vpn pppd[9833]: Unsupported protocol 'IPv6 Control Protovol' (0x8057) received
- Dec 19 17:16:02 max-vpn pppd[9833]: MPPE 128-bit stateless compression enabled
- Dec 19 17:16:04 max-vpn pppd[9833]: Cannot determine ethernet address for proxy ARP
- Dec 19 17:16:04 max-vpn pppd[9833]: local IP address 172.16.195.1
- Dec 19 17:16:04 max-vpn pppd[9833]: remote IP address 172.16.195.101
- Dec 19 17:16:04 max-vpn pppd[9833]: pptpd-logwtmp.so ip-up ppp0 sery 200.199.118.72
- [root@max-vpn ~]#
這段日志表明已經(jīng)有一個來自200.199.118.72連接到vpn服務(wù)器,其賬號為sery,分配給這個客戶端機器的vpn地址是172.16.195.101.在撥號的機器(windows)上查看其現(xiàn)在的網(wǎng)絡(luò)參數(shù):
- C:\Users\sery>ipconfig/all
- Windows IP 配置
- 主機名 . . . . . . . . . . . . . : sery-sony
- 主 DNS 后綴 . . . . . . . . . . . :
- 節(jié)點類型 . . . . . . . . . . . . : 混合
- IP 路由已啟用 . . . . . . . . . . : 否
- WINS 代理已啟用 . . . . . . . . . : 否
- DNS 后綴搜索列表 . . . . . . . . : maxthon.net
- PPP 適配器 VPN 連接:
- 連接特定的 DNS 后綴 . . . . . . . :
- 描述. . . . . . . . . . . . . . . : VPN 連接
- 物理地址. . . . . . . . . . . . . :
- DHCP 已啟用 . . . . . . . . . . . : 否
- 自動配置已啟用. . . . . . . . . . : 是
- IPv4 地址 . . . . . . . . . . . . : 172.16.195.101(首選)
- 子網(wǎng)掩碼 . . . . . . . . . . . . : 255.255.255.255
- 默認網(wǎng)關(guān). . . . . . . . . . . . . : 0.0.0.0
- DNS 服務(wù)器 . . . . . . . . . . . : 61.135.154.5
- 159.226.240.66
- TCPIP 上的 NetBIOS . . . . . . . : 已啟用
六、CentOS安裝pptpd設(shè)置路由及ip偽裝。
需要在這里可以登錄vpn服務(wù)器,但由于沒有設(shè)置相關(guān)的轉(zhuǎn)發(fā)規(guī)則,因此還是沒辦法訪問vpn后面的私有網(wǎng)絡(luò)或者通過vpn訪問互聯(lián)網(wǎng)(windows機器會在狀態(tài)欄的網(wǎng)絡(luò)連接圖標顯示一個黃色的感嘆號)。所以還需要完成下面幾步才算真正結(jié)束了—看了一些網(wǎng)上的文章,通常就是在這里結(jié)束了,看來作者只是登錄了一下虛擬環(huán)境。
(一)開啟ip轉(zhuǎn)發(fā)功能:修改配置文件/etc/sysctl.conf,使net.ipv4.ip_forward = 1
(二)寫個腳本文件,實現(xiàn)路由,其內(nèi)容大致如下:
- [root@max-vpn ~]# more /usr/local/bin/vpn_route.sh
- #!/bin/bash
- /sbin/iptables -t nat -A POSTROUTING -s 192.168.195.0/24 -o eth0 -j SNAT --to-source 61.135.251.50
- /sbin/iptables -t nat -A POSTROUTING -s 172.16.195.0/24 -o eth1 -j SNAT --to-source 192.168.195.166
- /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
目標網(wǎng)絡(luò)/vpn的內(nèi)部網(wǎng)絡(luò)為192.168.195.0/24,vpn服務(wù)器有2個網(wǎng)卡,其中一個連接公網(wǎng)(eth0),ip地址是61.135.251.51,另外一個網(wǎng)卡連私有網(wǎng)絡(luò),ip是192.168.195.166。這樣就能正常地路由所涉及的網(wǎng)絡(luò)了。手動執(zhí)行一下這個腳本,看客戶端(windows)是否能訪問目標網(wǎng)絡(luò)里的機器:最簡單的方法就是ping,假定目標網(wǎng)絡(luò)里有一個192.168.195.100的機器,并請允許icmp通過,ping 192.168.195.100 ,正常的話,再進一步訪問這個服務(wù)器(如遠程登錄)。沒有問題的話,把它加在開機自啟里面。為安全起見,你可以在這個腳本里加更多的iptables規(guī)則。
這樣就可以在CentOS安裝pptpd了。大家可以順利的使用pptpd了。
【編輯推薦】