歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

RHLinux9下面的VPNServer架設指南

  Server: Red Hat Linux 9 Kernel 2.6.10    Client: Win2000 Pro/Server SP4,WinXP SP2    Server所需要:  www.kernel.org  kernel: linux-2.6.10.tar.bz2    http://www.polbox.com/h/hs001/  kernel_patch: linux-2.6.10-mppe-mppc-1.2.patch.gz  pppd: ppp-2.4.3.tar.gz  pppd_patch: ppp-2.4.3-mppe-mppc-1.1.patch.gz  pptpd: pptpd-1.2.3.tar.gz    為了方便起見,可以把它們放在同一個目錄下    我不喜歡用RPM方式安裝,所以都是用的源碼方式編譯安裝    一、先給內核打補丁    # tar zjvf linux-2.6.10.tar.bz2  # gunzip linux-2.6.10-mppe-mppc-1.2.patch.gz  # patch -p0 -i linux-2.6.10-mppe-mppc-1.2.patch  # ln ?s linux-2.6.10 linux  # cd linux  # make menUConfig  Device Drivers -> Networking Support->    把 "PPP support" 編進內核,你也可作為模塊編譯。    <M> PPP Support for async serial ports  <M> PPP Support for sync tty ports  <M> PPP Deflate compression  <M> Microsoft PPP compression/encryption (MPPC/MPPE)"  Cryptographic options    把 "Cryptographic API" 編進內核,你也可作為模塊編譯。確保SHA1 和 ARC4 支持已經選上:    <M> SHA1 digest algorithm  <M> ARC4 cipher algorithm    保存配置文件,退出    編譯內核    make all modules modules_install install    修改/etc/modprobe.conf (2.4的Kernel請修改/etc/modules.conf)    重啟,進入2.6.10    二、安裝PPP    安裝之前先用 rpm -qa grep ppp 看一下是否系統有安裝RH9自帶的ppp-2.4.1-10    如果有的話, 用 rpm -e 卸載先,可能還有依賴關系,依次卸載,如:    #rpm -e rp-pppoe-3.5-2  #rpm -e wvdial-1.53-9  #rpm -e ppp-2.4.1-10    # tar xzvf ppp-2.4.3.tar.gz  # gunzip ppp-2.4.3-mppe-mppc-1.1.patch  # patch ?p0 ?i ppp-2.4.3-mppe-mppc-1.1.patch  # cd ppp-2.4.3  # ./configure  # make; make install    三、安裝 pptpd    #tar xzvf pptpd-1.2.3.tar.gz  # ./configure  # make; make install    相關的配置文件:    /etc/pptpd.conf  # pptpd的基本配置文件  /etc/ppp/options.pptpd  # VPN撥號選項  /etc/ppp/chap-secrets  # 用戶名和密碼信息  /etc/modules.conf  # 模塊加載信息  (2.4的Kernel請修改/etc/modules.conf)    vi /etc/pptpd.confppp /usr/local/sbin/pppd  #指定pppd的路徑  option /etc/ppp/options.pptpd  # 指定option 文件位置  localip 192.168.1.3  #同服務器的LAN地址  remoteip 192.168.1.230-239  #分配斤客戶端的ip    本例范圍從192.168.1.230到192.168.1.239。您也可以單獨指定某個地址或者多段地址,用逗號隔開,如在192.168.1.230-239,192.168.1.254    vi /etc/ppp/options.pptpd    name *  lock  mtu 1450  mru 1450  proxyarp  auth  ipcp-accept-local  ipcp-accept-remote  lcp-echo-failure 3  lcp-echo-interval 5  deflate 0  # Handshake Auth Method  - 加密協議類型  +chap  +mschap-v2  # Data Encryption Methods  mppe required,stateless  其它詳細說明請參見 man pppd  或者 man pptpd    vi /etc/ppp/chap-secrets  #client server PassWord IP Address  test * 12345 *    因為密碼是明文顯示的,最好能修改文件權限,使root作為owner和chmod 700    vi /etc/modules.conf  alias char-major-108 ppp_generic  alias /dev/ppp ppp_generic  alias tty-ldisc-3 ppp_async  alias tty-ldisc-14 ppp_synctty  alias ppp-compress-18 ppp_mppe_mppc  alias ppp-compress-21 bsd_comp  alias ppp-compress-24 ppp_deflate  alias ppp-compress-26 ppp_deflate    重新啟動    # reboot    在我這裡 alias ppp-compress-18 ppp_mppe_mppc 好像沒用,只好手動加載:    # modprobe ppp_mppe_mppc    確認內核支持    strings `which pppd`grep -i mppewc --lines  30  ###大於等於30就行#####  [strings `which pppd`grep -i mppcwc --lines  7  #### 不為 0 #####  dmesg grep MPPE  MPPE/MPPC encryption/compression module registered    啟動pptpd    # /usr/local/sbin/pptpd  Mar 17 23:07:32 localhost pptpd[4471]:  MGR: Manager process started  Mar 17 23:07:32 localhost pptpd[4471]:  MGR: Maximum of 10 connections available    設置客戶端連接,“安全”裡面選擇自定義,如圖所示,這裡取決於你在option.pptpd裡面的設置:    Mar 17 23:09:59 localhost pptpd[4473]:  CTRL: Client 192.168.1.136  control connection started  Mar 17 23:09:59 localhost pptpd[4473]:  CTRL: Starting call  (launching pppd, opening GRE)  Mar 17 23:09:59 localhost pppd[4474]:  pppd 2.4.3 started by root, uid 0  Mar 17 23:09:59 localhost pppd[4474]:  Using interface ppp0  Mar 17 23:09:59 localhost pppd[4474]:  Connect: ppp0 <--> /dev/pts/1  Mar 17 23:10:02 localhost pptpd[4473]:  CTRL: Ignored a SET LINK INFO  packet with real ACCMs!  Mar 17 23:10:02 localhost pppd[4474]:  MPPC/MPPE 128-bit stateless compression enabled  Mar 17 23:10:04 localhost pppd[4474]:  found interface eth0 for proxy arp  Mar 17 23:10:04 localhost pppd[4474]:  local IP address 192.168.1.3  Mar 17 23:10:04 localhost pppd[4474]:  remote IP address 192.168.1.230    成功!    除了那個紅色的一行外,不知是何原因?    注: 2.4.x的內核除了patch文件和modules.conf文件外,其它都類似。為什麼pppd的選項文件裡面會有不同?pptp客戶端是基於PPP協議的。PPP需要MPPE加密協議支持來支持某些PPTP服務器。    早期的版本包含了OpenSSL授權的源碼,這一部分源碼是獨立於PPP項目的;這就是PPP-MPPE 2.4.0(紅色)。稍晚些的版本使用了BSD授權的源碼,這些源碼是PPP項目的一部分;這就PPP 2.4.2 及其更高版本了(綠色),第三個就是使用了Jan Dubiec的patch,加入MPPC 支持的版本(藍色)    對每個版本來說,PPP MPPE支持需要有兩個部分。其一是內核的支持,另外就是pppd程序的支持。這兩個部分必須是同一個版本,如果兩個的版本不一致,產生的結果就是pppd程序報告這樣的錯誤:內核不支持。兩個版本的詳細對比:    <b>PPP-MPPE 2.4.0</b>    no further development?  no response to problems  has known problems such  as kernel panics  OpenSSL license directly  conflicts with kernel license  when loaded, does not  indicate a license conflict  requires /etc/modules.conf changes  module file name mppe.o (or ppp_mppe.o)  +mppe-128 (inconsistent  with existing option names)  mppe-stateless  require-chapms-v2  (incorrect protocol name)    <b>PPP 2.4.2 and later</b>    ongoing development by PPP project  active response to problems by developers  has no known problems  at this time (stay tuned)  BSD license does not conflict  (as much) with kernel license  when loaded, indicates a license conflict  requires no /etc/modules.conf changes  module file name ppp_mppe.o  <i>require-mppe-128</i>  <i>nomppe-stateful</i>  <i>require-mschap-v2</i>    這兩個版本的pppd程序也有不同的命令行參數。    如果你是從老的PPP-MPPE 2.4.0 包升級過來的,請修改/etc/ppp/options.pptp 和 /etc/ppp/peers文件中已經存在的tunnels名稱,采用與MPPE支持相關的正確的pppd參數命名。    PPTP客戶端項目以前使用的參數選項命名是對非官方的打了MPPE補丁的PPP而言的。從那時起,PPP項目組就采用了他們的命名使其與其它pppd選項一致。




Copyright © Linux教程網 All Rights Reserved