CentOS下單網卡安裝配置PPTP VPN

來源:互聯網
上載者:User

VPN(Virtual Private Network,虛擬私人網路)是專用網路的延伸,它可以通過共用Internet或公用網路連接類比點對點專用連線的方式,在本機電腦和遠端電腦之間發送資料。

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

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

網路實驗環境:

伺服器版本:CentOS 5.9

VPN伺服器:eth0=199.68.199.121

內網IP地址:192.168.1.100-200(通過NAT分配給使用者)

外網IP地址:199.68.199.121

一、檢查伺服器是否有必要的支援。

如果檢查結果沒有這些支援的話,是不能安裝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再運行,不然是結果0)

用以下命令檢查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是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 199.68.199.121

remoteip 192.168.1.100-200

注意,這裡的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 -o eth0 -s 192.168.1.0/24 -j SNAT –to 199.68.199.121

需要注意的是,這個指令中的“192.168.1.0/24”是根據之前的設定檔中的“remoteip”網段來改變的,比如你設定的 “10.0.0.1”網段,則應該改為“10.0.0.0/24”。此外還有一點需要注意的是eth0,如果你的外網網卡不是eth0,而是eth1(比如SoftLayer的伺服器就是這樣的情況,你可以用ifconfig命令來查看乙太網路口名稱),那麼請記得將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

十、各種裝置裡面怎麼連我就不多說了

osx下就這樣子:

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.