1
haruhi 2015-01-04 15:00:16 +08:00 1
用的是 Openswan 吧?换成 Libreswan 或者 strongSwan 吧。
|
3
yadonchen 2015-01-04 18:19:21 +08:00 1
yum 上的 OpenSwan 不兼容 iOS。请换用 Strongswan。已验证。
|
4
Totoria 2015-01-04 18:23:47 +08:00 1
换强壮天鹅!
|
7
zlzhdark OP 教程已经找到,并且设置好,iphone轻松链接,win7也可以连接,安卓没试。
http://qiaodahai.com/setup-l2tp-ipsec-vpn-on-centos.html |
9
br00k 2015-01-04 21:18:11 +08:00 1
L2TP不错,,,PPTP很多网络环境下都没法用。
|
13
afage 2015-04-15 20:10:12 +08:00
搬瓦工怎么设置 l2tp+IPsec,小白求教程
|
14
zlzhdark OP 之前嘗試過 PPTP 和 OpenVPN ,但 PPTP 太弱,而 OpenVPN 太依賴第三方軟體,因此想說來試試看 L2TP/IPsec
架設的軟體使用 epel 上的 strongSwan 和 xl2tpd ,不用 openSwan 是因 OSX 在連線的時候會遇到伺服器端錯誤,據說是 openSwan 本身的問題 安裝前先把必要套件補完 yum install strongswan xl2tpd strongSwan 裝完之後可以在 /etc/strongswan 設定,裏頭的 strongswan.conf 沒特別設定不需要去動,預設是所有 plugin 都載入 在這之前,記得先調整 kernel 和 iptables sed -i 's/net.ipv4.ip_forward[ ]*=[ ]*0/net.ipv4.ip_forward = 1/g' /etc/sysctl.conf && sysctl -p # 啟動 ip_forward # 防火牆規則僅供參考 iptables -A INPUT -p udp --dport 500 -j ACCEPT # IKE iptables -A INPUT -p udp --dport 4500 -j ACCEPT # NAT-T iptables -A INPUT -p udp -m policy --dir in --pol ipsec -m udp --dport 1701 -j ACCEPT # 強制 l2tp 透過 ipsec 存取 iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -o eth0 -j MASQUERADE # 轉送 VPN 流量 /etc/init.d/iptables save 接著開始設定 IPsec 連線部分,我這邊使用 PSK ,其他驗證方法可以上官網文件查 /etc/strongswan/ipsec.conf config setup conn %default ikelifetime=60m keylife=20m rekeymargin=3m keyingtries=1 conn l2tp keyexchange=ikev1 # IKE 版本 left=>>>>{對外 IP}<<<<<< leftsubnet=0.0.0.0/0 leftprotoport=17/1701 # l2tp udp 流量 authby=secret # PSK 驗證 leftfirewall=no # 不要讓 strongswan 更改防火牆 right=%any # 任意 IP rightprotoport=17/%any # 任意 port udp 流量 type=transport # ipsec transport mode auto=add /etc/strongswan/ipsec.secrets # ipsec.secrets - strongSwan IPsec secrets file : PSK "A long preshared key for ipsec" IPsec 這邊設定和網路上的不一樣是因為新的 strongswan 使用 charon 來處理 IKEv1 ,而不是以往的 pluto 而且有時候設定太多反而會有一些奇怪的錯誤,於是就留預設值 如此一來 IPsec 的部分就完成了,再來是 L2TP /etc/xl2tpd/xl2tpd.conf [global] listen-addr = >>>>{對外 IP}<<<< [lns default] ip range = 172.16.1.100-172.16.1.200; VPN 使用者配發的 IP 段 local ip = 172.16.1.1; VPN Server 本身的聯絡 IP assign ip = yes ;refuse chap = yes ;refuse pap = yes <<<我個人覺得有 ipsec 使用 pap 沒關係,而且某些情況下(例如 pam),必須使用 require authentication = yes unix authentication = yes; 使用 pam 驗證,用密碼檔記得刪掉這行 name = NyanVPNServer; 這個名字等一下會用到,可以任意取名 ppp debug = yes pppoptfile = /etc/ppp/options.xl2tpd length bit = yes 如果上面的 xl2tpd.conf 使用了 pam 驗證,要修改下面這個 /etc/pam.d/ppp #%PAM-1.0 auth required pam_nologin.so auth required pam_unix.so account required pam_unix.so session required pam_unix.so PPP 的部分 /etc/ppp/options.xl2tpd ipcp-accept-local ipcp-accept-remote ms-dns 8.8.8.8 # 推送的 DNS 資訊 ms-dns 8.8.4.4 # ms-dns 192.168.1.1 # ms-dns 192.168.1.3 # ms-wins 192.168.1.2 # ms-wins 192.168.1.4 noccp auth crtscts idle 1800 #mtu 1410 #mru 1410 mtu 1200 # 我也不知道 mtu/mru 怎麼設,不過這個會動 mru 1200 nodefaultroute debug lock proxyarp connect-delay 5000 login # 透過 PAP 使用系統密碼驗證,這也是為什麼前面不能拒絕 PAP 的原因 #require-mschap-v2 強迫使用 MS-CHAP-V2 最後是連線密碼, CHAP 和 PAP 的密碼檔是分開的,依照前面設定的內容和使用者的選擇而定 /etc/ppp/*-secrets # Secrets for authentication using PAP # client(帳號) server(前面提到的 name) secret(密碼) IP addresses(配發的 IP) alice NyanVPNServer "AliceIsCute" * # 下面這個是 PAM 的用法 * NyanVPNServer "" * 設定就到這邊為止,接著就可以啟動 VPN 了 service strongswan start service xl2tpd start 成功連上 VPN 之後,如果無法連外,檢查看看 iptables 的 FORWARD chain 是不是有阻擋連線的行為 |