萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> 教您30分鐘打造Linux的VPN服務器

教您30分鐘打造Linux的VPN服務器

class="21588">

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

  它具有良好的保密性和不受干擾性,使雙方能夠進行自由而安全的點對點連接。下面介紹一種快速構建VPN服務器的方法。

  安裝軟件

  1.安裝PPP

  安裝PPP(Point-to-Point Protocol,點到點協議)2.4.2以上的版本,可以到http://sourceforge.net/project/showfiles.php?group_id=44827下載ppp-2.4.3-0.cvs_20040527.1.i386.rpm軟件包。

  安裝命令如下:

  #rpm -Uvh ppp-2.4.3-0.cvs_20040527.1.i386.rpm

  2.安裝內核MPPE補丁

  安裝內核MPPE(Microsoft Point to Point Encryption,微軟點對點加密)補丁需要根據內核選擇相應的版本。筆者使用的Linux內核是2.4.20-31.9版本,可以到http://pptpclient.sourceforge.net/mppe/kernel-mppe-2.4.20-31.9.i686.rpm下載相應的kernel-mppe-2.4.20-31.9.i686.rpm軟件包。安裝命令如下:

  #rpm -ivh kernel-mppe-2.4.20-31.9.i686.rpm

  用以下命令檢查內核MPPE補丁是否安裝成功:

  #modprobe ppp-compress-18


  3.檢查PPP是否支持MPPE

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

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

  如果以上命令輸出為“0”則表示不支持;輸出為“30”或更大的數字就表示支持。

  4.安裝PPTPD

  到http://sourceforge.net/project/showfiles.php?group_id=44827下載pptpd-1.1.4-b4.i386.rpm軟件包,並安裝。

  # rpm -ivh pptpd-1.1.4-b4.i386.rpm

  修改配置文件

  1.修改modules.conf文件

  編輯/etc/modules.conf配置文件,加入如下內容:

  alias net-pf-47 ip_gre

  2.修改pptpd.conf文件

  編輯/etc/pptpd.conf配置文件,添加如下內容,確定本地VPN服務器的IP地址和客戶端登錄後分配的IP地址范圍。

  debug
  option /etc/ppp/options.pptpd
  localip 192.168.0.254 #本地VPN服務器的IP
  remoteip 192.168.1.1-254 #客戶端被分配的IP范圍

  3.修改options.pptpd文件

  編輯/etc/ppp/options.pptpd配置文件,替換成如下內容:

  auth
  lock
  debug
  proxyarp
  lock
  name rh9vpn #VPN服務器的名字
  multilink
  refuse-pap
  refuse-chap
  refuse-mschap
  refuse-eap
  refuse-mschap-v2
  require-mppe
  ms-wins 192.168.1.2 #把想要在網絡鄰居中看到的機器的IP填寫到這裡
  ms-dns 192.168.1.2 #DNS服務器地址
  dump
  logfile /var/log/pptpd.log #日志存放的路徑

  4.修改chap-secrets文件

  編輯/etc/chap-secrets配置文件,添加如下內容:

  # client server secret IP addresses
  "[email protected]" * "test" *

  上面第二行代碼的四項內容分別對應第一行中的四項。“[email protected]”是Client端的VPN用戶名;“server”對應的是VPN服務器的名字,該名字必須和/etc/ppp/options.pptpd文件中指明的一樣,或者設置成“*”號來表示自動識別服務器;“secret”對應的是登錄密碼;“IP addresses”對應的是可以撥入的客戶端IP地址,如果不需要做特別限制,可以將其設置為“*”號。

  5.設置IP偽裝轉發

  只有設置了IP偽裝轉發,通過VPN連接上來的遠程計算機才能互相ping通,實現像局域網那樣的共享。用下面的命令進行設置:

  #echo 1 > /proc/sys/net/ipv4/ip_forward

  可以將這條命令放到文件/etc/rc.d/rc.local裡面,以實現每次開機時自動運行該命令。

  6.打開防火牆端口

  將Linux服務器的1723端口和47端口打開,並打開GRE協議。

  #/sbin/iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
  #/sbin/iptables -A INPUT -p tcp --dport 47 -j ACCEPT
  #/sbin/iptables -A INPUT -p gre -j ACCEPT

  到這裡Linux服務器的設置就完成了,下面將利用Windows客戶端進行測試。

  測試

  下面以Windows Server 2003為例來進行測試。

  1.新建連接

  單擊“開始→設置→網絡和撥號連接”打開“網絡和撥號連接”的窗口,再單擊“新建連接”打開“網絡連接向導”的窗口,然後依次選擇或填寫“連接到我的工作場所網絡→虛擬專用網絡連接→公司名(可以隨便填寫)→不撥初始連接→IP地址(填入VPN服務器的IP地址)”,最後單擊“確定”,就建立了一個新的連接。

  2. 修改連接屬性

  右擊剛才創建的連接,再依次單擊“屬性→網絡(選擇TCP/IP協議)→屬性→高級”,然後把“在遠程網絡上使用默認網關”前面的勾去掉後單擊“確定”。

  3.建立連接

  雙擊剛才建立好的連接,填入提前設置好的用戶名和密碼,單擊“確定”進行連接。如果連接成功,在連接的“詳細信息”裡應該可以看到服務器所分配的IP地址等信息。這時,就可以跟連接進入的局域網裡的其它計算機進行通信了。

  如果客戶端使用的仍然是Windows 95或Windows 98,則需要到http://support.microsoft.com/support/kb/articles/q285/1/89.asp下載相關的撥號程序。

copyright © 萬盛學電腦網 all rights reserved