V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
zlzhdark
V2EX  ›  Linux

在 centos6.5 上部署好了 l2tp+IPsec, win7 可以连接, ios 系统提示 l2tp-vpn 服务器未响应,如何解决?

  •  
  •   zlzhdark · 2015-01-04 14:56:03 +08:00 · 16952 次点击
    这是一个创建于 3371 天前的主题,其中的信息可能已经有所发展或是发生改变。
    参考网上教程一步步配置的,在win7系统下非常快的就连上了,但到了ios系统一次都没有连接成功过,都是提示l2tp-vpn服务器未响应
    16 条回复    2015-11-04 12:01:02 +08:00
    haruhi
        1
    haruhi  
       2015-01-04 15:00:16 +08:00   ❤️ 1
    用的是 Openswan 吧?换成 Libreswan 或者 strongSwan 吧。
    zlzhdark
        2
    zlzhdark  
    OP
       2015-01-04 15:03:04 +08:00
    @haruhi 是用的openswa,有没有教程参考啊?
    yadonchen
        3
    yadonchen  
       2015-01-04 18:19:21 +08:00   ❤️ 1
    yum 上的 OpenSwan 不兼容 iOS。请换用 Strongswan。已验证。
    Totoria
        4
    Totoria  
       2015-01-04 18:23:47 +08:00   ❤️ 1
    换强壮天鹅!
    zlzhdark
        5
    zlzhdark  
    OP
       2015-01-04 19:31:15 +08:00
    @yadonchen 求教程啊
    zlzhdark
        6
    zlzhdark  
    OP
       2015-01-04 19:31:22 +08:00
    @Totoria 求教程
    zlzhdark
        7
    zlzhdark  
    OP
       2015-01-04 20:10:44 +08:00
    教程已经找到,并且设置好,iphone轻松链接,win7也可以连接,安卓没试。
    http://qiaodahai.com/setup-l2tp-ipsec-vpn-on-centos.html
    yadonchen
        8
    yadonchen  
       2015-01-04 20:58:15 +08:00   ❤️ 1
    @zlzhdark 我就是用的这个教程。不过MTU、MRU的值可能要改动下?我还在摸索一个合适的值。
    br00k
        9
    br00k  
       2015-01-04 21:18:11 +08:00   ❤️ 1
    L2TP不错,,,PPTP很多网络环境下都没法用。
    zlzhdark
        10
    zlzhdark  
    OP
       2015-01-05 09:47:05 +08:00
    @yadonchen 我按照他教程里的MTU值,我现在的环境倒是可以使用。还没有发现问题。
    zlzhdark
        11
    zlzhdark  
    OP
       2015-01-05 09:48:11 +08:00
    @br00k pptp不是已经废了么?现在就l2tp over ipsec和Cisco ipsec可以用么?
    yadonchen
        12
    yadonchen  
       2015-01-06 00:11:03 +08:00
    @zlzhdark 不同网络环境下,不同协议可用。。只是每种协议都会在连接一段时间后受干扰异常断开。。
    afage
        13
    afage  
       2015-04-15 20:10:12 +08:00
    搬瓦工怎么设置 l2tp+IPsec,小白求教程
    zlzhdark
        14
    zlzhdark  
    OP
       2015-10-18 17:27:53 +08:00
    之前嘗試過 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 是不是有阻擋連線的行為
    Vicer
        15
    Vicer  
       2015-11-04 12:00:28 +08:00
    @zlzhdark 帮忙看下我的问题 t/233503
    Vicer
        16
    Vicer  
       2015-11-04 12:01:02 +08:00
    @zlzhdark /t/233503 帮忙看下,谢谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2713 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:33 · PVG 23:33 · LAX 08:33 · JFK 11:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.