PPTP(點到點隧道協議)是一種用於讓遠程用戶撥號鏈接到本地的ISP,經過因特網安全遠程訪問公司資源的新型技術。它能將PPP(點到點協議)幀封裝成IP數據包,以便可以在基於IP的互聯網上進行傳輸。PPTP使用TCP(傳輸控制協議)鏈接的建立,維護,與終止隧道,並使用GRE(通用路由封裝)將PPP幀封裝成隧道數據。被封裝後的PPP幀的有效載荷能夠被加密或者壓縮或者同時被加密與壓縮。咱們常見的PPTP都是在路由器上配置的,不過linux下也能夠實現PPTP服務器的功能,下面就來看下linux下的PPTP ×××配置過程吧。
在配置PPTP以前,首先安裝如下軟件包,PPTP默認不是自帶的
ppp-2.4.4-2.e15.rpm
pptpd-1.3.4-1.rhel5.1.i386.rpm linux
#下載地址:http://poptop.sourceforge.net/yum/stable/rhel5/i386/pptpd-1.3.4-2.rhel5.i386.rpmwindows
dkms-2.05-1.noarch.rpm
#動態內核模塊支持的RPM安裝包 安全
kernel_ppp_mppe
#MPPE加密協議的內核補丁的RPM安裝包服務器
安裝以前檢查系統兼容性。
1)檢查內核MPPE補丁
用如下命令檢查內核是否支持MPPE補丁:
# modprobe ppp-compress-18 && echo ‘ok!!!’
若結果顯示「ok!!!」則表示支持。
2)檢查PPP是否支持MPPE
# strings '/usr/sbin/pppd'|grep -i mppe|wc -l
若結果顯示0則表示不支持,而30或更大的數字就表示支持。網絡
編輯 /etc/pptpd.conf文件,配置如下經常使用選項:
option /etc/ppp/options.pptpd ----pptp加密選項文件路徑
stimeout 120 ----開始PPTP控制鏈接的超時時間,以秒計;
debug ----把全部debug信息記入系統日誌/var/log/messages;
localip ----服務器×××虛擬接口將分配的IP地址,可設置爲與×××服務器內網地址相同網段的IP,也能夠設置爲另外一網段的IP;
remoteip ----客戶端×××鏈接成功後將分配的IP地址段,一樣可設置爲與×××服務器內網地址相同網段的IP地址段,也能夠設置爲另外一網段的IP地址段;
注意:關閉logwmpt功能,不然會與ppp協議衝突引發×××撥號失敗!在RHEL4中沒有問題,而在RHEL5中必須關閉!
tcp
設置地址池爲192.168.100.10——192.168.100.20,localip爲本機IP,remoteip爲地址池,不建議設爲同一網段
設置完成後保存,進入/etc/ppp/options.pptpd,查看加密和認證類型
ide
默認拒絕使用pap、chap和mschap認證,而採用mschap-v2進行認證,加密採用128位的mppe方式加密。
最後來查看pptpd口令文件,所謂口令就是×××帳號,它存儲於/etc/ppp/chap-secrets文件中
測試
hujw //用戶帳號,須要用雙引號包含
* //表明自動識別當前服務器主機名,也能夠手動配置
123456 //用戶密碼,須要用雙引號包含
* //表明自動分配可用的IP地址,可根據須要指定IP地址
除了上面直接編輯配置文件的方式,還可使用***user命令來進行配置:
# ***user add hujw 123456 //添加一個hujw用戶
# ***user del hujw //刪除hujw用戶。加密
****************************************************
對於開啓了iptables過濾的主機,須要開放×××服務的端口
# iptables -A RH-Firewall-1-INPUT -p gre -j ACCEPT
# iptables -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 47 -j ACCEPT
# iptables -A RH-Firewall-1-INPUT –p tcp –m state –state NEW –m tcp –dport 1723 –j ACCEPT
****************************************************
pptpd配置完成,如今開啓pptpd服務
service pptpd start
開啓路由功能
echo 1 > /proc/sys/net/ipv4/ip_forward
配置一條通往外網的默認路由
router add –net 0.0.0.0 netmask 0.0.0.0 gw 198.2.3.1spa
如今來到windows主機上測試,首先保證網絡是通的,可以ping通GW的外網接口。
建立×××撥號鏈接
這時再來查看linux網關,發現多了一個ppp0的接口,即×××虛擬接口