Linux VPN 服務
實驗場景 通過將Linux配置VPN服務器允許遠程計算機能夠訪問內網。
我的目的:
現在需要開發第三方接口,而第三方接口有服務器IP地址鑒權配置,這樣在本地開發出來的程序每次都要發布到服務器上測試,如果是調試過程中每次這樣比較麻煩,所以需要能直接通過VPN撥到這個服務器上,這個本地就可以直接開發調試了。
一、下載並安裝VPN服務
1、下載所需安裝包
輸入:wget http://poptop.sourceforge.NET/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm
輸入:wget http://poptop.sourceforge.Net/yum/stable/packages/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
輸入:http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.x86_64.rpm
因為上面的包官方會經常升級變動,如果下載不到,則根據名稱到 http://poptop.sourceforge.net/yum/stable/packages/ 下載
2、依次安裝
● 安裝gcc,這是c編譯類庫(如果服務器已經有則不需要安裝)
yum -install gcc
如果服務器配置配置好yum,參考我另一篇博客有配置,或網上查找資料配置yum。
● 安裝 dkms-2.0.17.5-1.noarch.rpm
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
● 安裝 kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
● 安裝 pptpd-1.3.4-2.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm
二、配置VPN服務器
1、配置主配置文件
vi /etc/pptpd.conf
在最後追加內容:
debug
ppp /usr/sbin/pppd
option /etc/ppp/options.pptpd
localip 117.34.78.222
remoteip 192.168.0.2-4
2、配置賬號文件
vi /etc/ppp/chap-secrets
編輯內容為(IP中*號代表所有):
# Secrets for authentication using CHAP
# client server secret IP addresses
用戶名 pptpd 密碼 *
用戶名 pptpd 密碼 192.168.0.3
用戶名 pptpd 密碼 192.168.0.4
3、啟動服務
service pptpd start
4、查看端口 PPTP使用的1723端口偵聽
netstat -ntpl
5、設置NAT並打開Linux內核路由功能
依次執行如下命令:
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 192.168.0.2/24 -j SNAT --to 117.34.78.222
echo 1 > /proc/sys/net/ipv4/ip_forward
6、配置VPN自動啟動
執行命令:ntsysv
7、設置iptables允許VPN連接(或禁用防火墻)
依次執行命令:
iptables -I INPUT -p tcp --dport 1723 -j ACCEPT
iptables -I INPUT -p tcp --dport 47 -j ACCEPT
iptables -I INPUT -p gre -j ACCEPT
三、使用VPN客戶端接入
服務器IP地址就是我們上面配置的117.34.78.22,賬號和密碼也是配置文件中設置的(我上面用紅色塗改液塗改掉的部分,那裏自己配置即可)
關於win7如何撥號連接VPN這裏就不做詳細說明了。
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
結束
Linux VPN 服務