標籤:
Centos安裝L2TP+IPSec完整教程L2TP相比PPTP是另外一種隧道協議方式,部分網路下PPTP無法串連,可以嘗試L2TP,一般而言在PC上,兩者使用體驗沒什麼不同,技術原理上的不同請參照這裡.建議PC電腦上優先使用PPTP,無法使用可以嘗試L2TP,移動端推薦使用L2TP;安裝方式:一、一鍵指令碼安裝(推薦,安裝簡單)安裝的軟體包版本分別是openswan-2.6.38、xl2tpd-1.2.4VPS是需要基於Xen或KVM的。注意:基於 OpenVZ 虛擬化技術的 VPS 需要開啟TUN/TAP才能正常使用,購買 VPS 時請先諮詢服務商是否支援開啟 TUN/TAP。檢測是否支援TUN模組執行命令:1cat /dev/net/tun如果返回資訊為:cat: /dev/net/tun: File descriptor in bad state 說明正常檢測是否支援ppp模組執行命令:1cat /dev/ppp如果返回資訊為:cat: /dev/ppp: No such device or address 說明正常開始安裝:終端裡運行以下命令(以root使用者運行):123456cd /rootwget http://lamp.teddysun.com/files/l2tp.sh #CentOS、Fedora或Redhat系統時執行wget http://lamp.teddysun.com/files/l2tp_ubuntu.sh #Ubuntu系統時執行此命令chmod +x *.sh./l2tp.sh #CentOS、Fedora或Redhat系統時執行./l2tp_ubuntu.sh #Ubuntu系統時執行此命令</p>等待出現「Please input IP-Range:」設定網段,一般斷行符號即可「Please input PSK:」設定你預先共用金鑰。執行後,一直等待成功,會顯示相關配置資訊。產生的密碼是隨機的,需要修改的話,執行1vi /etc/ppp/chap-secrets注意:xp使用者使用L2TP方法登陸的話,可能需要查看電腦的IPSec服務是否正常開啟,如果關閉請去“控制台->管理工具->服務”開啟一下。二、完整diy指令碼(進階使用者推薦)①部署IPSec1、首先安裝必備依賴包1yum install make gcc gmp-devel bison flex lsof2、安裝Openswan1234wget http://www.openswan.org/download/openswan-2.6.38.tar.gztar -zxvf openswan-2.6.38.tar.gzcd openswan-2.6.38make programs install3、編輯設定檔/etc/ipsec.conf1vim /etc/ipsec.conf將protostack=auto,修改為:protostack=netkey4、在最後加上:1234567891011121314151617conn L2TP-PSK-NATrightsubnet=vhost:%privalso=L2TP-PSK-noNAT conn L2TP-PSK-noNATauthby=secretpfs=noauto=addkeyingtries=3rekey=noikelifetime=8hkeylife=1htype=transportleft=YOUR.SERVER.IP.ADDRESSleftprotoport=17/1701right=%anyrightprotoport=17/%any其中“YOUR.SERVER.IP.ADDRESS”為外網IP,下同。5、設定共用密鑰PSK 編輯設定檔/etc/ipsec.secrets:1vim /etc/ipsec.secrets輸入:YOUR.SERVER.IP.ADDRESS %any: PSK “YourSharedSecret”修改包轉寄設定123456for each in /proc/sys/net/ipv4/conf/* do echo 0 > $each/accept_redirects echo 0 > $each/send_redirectsdone echo 1 >/proc/sys/net/core/xfrm_larval_drop修改核心設定,使其支援轉寄,編輯/etc/sysctl.conf檔案:1vim /etc/sysctl.conf將“net.ipv4.ip_forward”的值改為1。使修改生效:1sysctl -p重啟IPSec:1service ipsec restart查看系統IPSec安裝和啟動的正確性:1ipsec verify一般情況下沒有報[FAILED]就可以了。但是如果轉寄已經確認配置了,但仍檢測checking IP Forwarding 失敗,可以先忽略此項錯誤.②部署L2TP(使用xl2tpd和rp-l2tp)xl2tpd最新版已經包含了l2tp-control,rp-l2tp可不需要安裝。首先安裝依賴軟體:1yum install libpcap-devel ppp policycoreutils安裝xl2tpd和rp-l2tp:12345678wget http://sourceforge.net/projects/rp-l2tp/files/rp-l2tp/0.4/rp-l2tp-0.4.tar.gztar -zxvf rp-l2tp-0.4.tar.gzcd rp-l2tp-0.4./configuremakecp handlers/l2tp-control /usr/local/sbin/mkdir /var/run/xl2tpd/ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control安裝xl2tpd:12345wget http://www.xelerance.com/wp-content/uploads/software/xl2tpd/xl2tpd-1.3.0.tar.gztar -zxvf xl2tpd-1.3.0.tar.gzcd xl2tpd-1.3.0makemake install建立xl2tpd設定檔:12mkdir /etc/xl2tpdvim /etc/xl2tpd/xl2tpd.conf加入:123456789101112[global]ipsec saref = yes [lns default]ip range = 10.82.88.2-10.82.88.254local ip = 10.82.88.1refuse chap = yesrefuse pap = yesrequire authentication = yesppp debug = yespppoptfile = /etc/ppp/options.xl2tpdlength bit = yes配置ppp 建立options.xl2tpd檔案:1vim /etc/ppp/options.xl2tpd加入:1234567891011121314#require-mschap-v2 #此處不是必須,在非MS環境下ms-dns 8.8.8.8ms-dns 8.8.4.4asyncmap 0authcrtsctslockhide-passwordmodemdebugname l2tpdproxyarplcp-echo-interval 30lcp-echo-failure 4設定撥號使用者名稱和密碼:1vim /etc/ppp/chap-secrets此處注意的是第二列的 l2tpd 為上面配置的name,如果有改動也要修改此處。123# Secrets for authentication using CHAP# client server secret IP addressesmyusername l2tpd mypassword *最後添加iptables轉寄規則並儲存重啟123iptables --table nat --append POSTROUTING --jump MASQUERADE/etc/init.d/iptables save/etc/init.d/iptables restart以debug方式啟動l2tp,查看有無錯誤:1xl2tpd -D至此,已完成全部安裝工作。另外建議在/etc/ipsec.conf中的 conn L2TP-PSK-noNAT節,加入如下內容以解決少部分情況串連該服務不穩定的情況:12345dpddelay=40dpdtimeout=130dpdaction=clearleftnexthop=%defaultrouterightnexthop=%defaultroute備忘:如果區域網路內有第二台電腦無法串連的情況,請重啟IPsec服務,2台都連上後,再串連就正常了。相關文章:1、L2TP+IPSec一鍵安裝指令碼:http://teddysun.com/135.html2、CENTOS LINUX 安裝配置L2TP+IPSEC http://www.fendou.info/centos-linux-install-l2tp-ipsec-vpn/
Centos安裝L2TP+IPSec完整教程