歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> 關於Linux >> CentOs 5.5下pptp vpn安裝與配置

CentOs 5.5下pptp vpn安裝與配置

日期:2017/3/3 16:17:37   编辑:關於Linux

VPN(Virtual Private Network,虛擬專用網絡)是專用網絡的延伸,它可以通過共享Internet或公共 網絡連接模擬點對點專用連接的方式,在本地計算機和遠程計算機之間發送數據。

它具有良好的保 密性和不受干擾性,使雙方能夠進行自由而安全的點對點連接。

Linux下常用的VPN服務有兩個,一個 是pptp,另一個則是openvpn。前者更簡單一些,但是只有獨立服務器和XEN VPS可以搭建;後者則沒有 任何限制。前者搭建出來的VPN,不需要特殊的VPN客戶端,直接在Windows下創建VPN撥號連接即可;而 後者需要安裝一個客戶端來進行撥號

網絡實驗環境:

服務器版本:CentOs 5.5

VPN服 務器:eth0=192.168.1.241 eth0:1=192.168.20.241

內網IP地址:192.168.20.241

外網IP地 址:192.168.1.241

一、檢查服務器是否有必要的支持。

如果檢查結果沒有這些支持的話 ,是不能安裝pptp的。執行指令:

#modprobe ppp-compress-18 && echo ok

這 條執行執行後,顯示“ok”則表明通過。不過接下來還需要做另一個檢查,輸入指令:

#cat /dev/net/tun

如果這條指令顯示結果為下面的文本,則表明通過:

cat: /dev/net/tun: File descriptor in bad state

上述兩條均通過,才能安裝pptp。否則就只能考慮openvpn,或 者請你的服務商來解決這個問題。

Cent os 5.5內核版本在2.6.15以上,因此下面檢查可以忽略 :

檢查PPP是否支持MPPE

用以下命令檢查PPP是否支持MPPE:

#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines

如果以上命令輸出為“0”則表示不支持 ;輸出為“30”或更大的數字就表示支持,MPPE(Microsoft Point to Point Encryption,微軟點對點 加密)。

二、安裝ppp和iptables。

默認情況下,完整的CentOS是帶有這兩個組件的,但 是精簡版的系統可能沒有。我們輸入下面的命令來確認,如果沒有則進行安裝,有的話系統不會做任何 動作:

#yum install -y ppp iptables

三、安裝pptp。

這個軟件在yum源裡是沒 有的,我們需要手動下載。我們先切換到tmp目錄:

#cd /tmp

然後執行下面的命令來下載 pptp安裝包:

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系統使用)

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4- 1.rhel5.1.x86_64.rpm (64位系統使用)

CentOS 6以上的系統請下載:wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm (64為系統使 用)

如果你的CentOS是32位的,則執行32位的那條指令;如果是64位的CentOS,則執行64位的那 條指令。注意不要搞錯了,搞錯後面會報錯客戶端連接不上619或者800,並提示pptpd-logwtmp.so找不 到。

接下來安裝pptp,同樣分32位和64位系統:

#rpm -ivh pptpd-1.3.4- 1.rhel5.1.i386.rpm (32位系統使用)

#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位 系統使用)

四、配置pptp。

首先我們要編輯/etc/pptpd.conf文件:

#vim /etc/pptpd.conf

找到“locapip”和“remoteip”這兩個配置項,將前面的“;”注釋符去掉, 更改為你期望的IP段值。localip表示服務器的IP,remoteip表示分配給客戶端的IP地址,可以設置為區 間。這裡我們使用pptp默認的配置:

localip 192.168.1.241

remoteip 192.168.20.9- 238

注意,這裡的IP段設置,將直接影響後面的iptables規則添加命令。請注意匹配的正確性, 如果你嫌麻煩,建議就用本文的配置,就可以一直復制命令和文本使用了。

接下來我們再編 輯/etc/ppp/options.pptpd文件,為VPN添加Google DNS:

#vim /etc/ppp/options.pptpd

在末尾添加下面兩行:

一般只需修改ms-dns,分配給VPN客戶端 的DNS服務器IP地址

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require- mschap-v2

require-mppe-128

proxyarp

lock

nobsdcomp

novj

novjccomp

nologfd

idle 2592000 72個小時空閒斷開

ms-dns 8.8.8.8

五、設置pptp VPN賬號密 碼。

我們需要編輯/etc/ppp/chap-secrets這個文件:

#vim /etc/ppp/chap- secrets

在這個文件裡面,按照“用戶名 pptpd 密碼 *”的形式編寫,一行一個賬號和密碼。比 如添加用戶名為test,密碼為1234的用戶,則編輯如下內容:

test pptpd 1234 *(指定分配給 test用戶的ip)

六、修改內核設置,使其支持轉發。

編輯/etc/sysctl.conf文件:

#vim /etc/sysctl.conf

將“net.ipv4.ip_forward”改為1,變成下面的形式:

net.ipv4.ip_forward=1

保存退出,並執行下面的命令來生效它:

#sysctl - p

七、添加iptables轉發規則。

經過前面的6個步驟,我們的VPN已經可以撥號了,但是還 不能訪問任何網頁。最後一步就是添加iptables轉發規則了,輸入下面的指令:

#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE

需要注意的是,這個指令中的 “192.168.0.0/24”是根據之前的配置文件中的“localip”網段來改變的,比如你設置的 “10.0.0.1 ”網段,則應該改為“10.0.0.0/24”。此外還有一點需要注意的是eth0,如果你的外網網卡不是eth0, 而是eth1(比 如SoftLayer的服務器就是這樣的情況),那麼請記得將eth0也更改為對應的網卡編號, 不然是上不了網的!

然後我們輸入下面的指令讓iptables保存我們剛才的轉發規則,以便重啟系 統後不需要再次添加:

#/etc/init.d/iptables save

然後我們重啟iptables:

#/etc/init.d/iptables restart

八、重啟pptp服務。

輸入下面的指令重啟pptp :

#/etc/init.d/pptpd restart

現在你已經可以連接自己的VPN並浏覽網頁了。不過我們 還需要做最後的一步。

九、設置開機自動運行服務。

我們最後一步是將pptp和iptables 設置為開機自動運行,這樣就不需要每次重啟服務器後手動啟動服務了。當然你不需要自動啟動服務的 話可以忽略這一步。輸入指令:

#chkconfig pptpd on

#chkconfig iptables on

十、 VPN客戶端的配置

1、建立VPN連接,鼠標右鍵單擊桌面的“網上鄰居”圖標,選擇快捷菜單中的“屬 性”命令。 雙擊“新建連接向導”圖標。 在出現的“歡迎使用新建連接向導”對話框中單擊“下一步 ”按鈕。

2、選擇如下:

3、輸入連接的名稱

4 、輸入VPN服務器的域名或IP地址

 

5、雙擊“VPN連接圖標”圖標 ,在出現的連接對話框中輸入登錄VPN服務器的用戶名和密碼,然後單擊“連接”按鈕。

6 、VPN連接成功。

7、測試VPN客戶端ping內網服 務器。

8、如果撥通vpn後本地無 法浏覽網頁,請關掉下面選項:

Copyright © Linux教程網 All Rights Reserved