Kaiyuan
V2EX  ›  问与答

异地路由器组网需要如何让内网互通?

  •  
  •   Kaiyuan · Jun 18, 2019 · 8326 views
    This topic created in 2528 days ago, the information mentioned may be changed or developed.
    服务端是 OpenWrt 客户端是 AC87U。
    连上了,但是客户端可以 ping 服务端所在内网 IP 地址,但是服务端以外的 ping 不通。服务端就完全 ping 不通客户端。
    服务端是不是还要设置 NAT ?
    如果两个都是华硕路由就简单很多,直接导出文件,另一个导入就完成。现在用的原版 OpenWrt 没有一键配置。

    各种搜到的设置方法都尝试过,完全不知道问题出在哪里...

    配置文件:

    Supplement 1  ·  Jun 18, 2019
    Supplement 2  ·  Jun 18, 2019

    我的服务端配置文件错了!!! 让客户端访问服务端内网需要将服务端 网关推动给客户端...

    push "route 192.168.2.0 255.255.255.0 vpn_gateway 500"
    push "redirect-gateway def1"
    push "dhcp-option DNS 192.168.2.1"
    

    我没有加这个就不能访问...

    Supplement 3  ·  Jun 18, 2019

    最终配置文件 192.108.2.0 是服务端网段 192.168.3.0 是客户端网段

    config openvpn 'ky49'
            option verb '3'
            option port '1194'
            option mode 'server'
            option tls_server '1'
            option keepalive '10 120'
            option ca '/etc/openvpn/ca.crt'
            option cert '/etc/openvpn/my-server.crt'
            option key '/etc/openvpn/my-server.key'
            option dh '/etc/openvpn/dh2048.pem'
            option tls_version_min '1.0'
            option enabled '1'
            option client_to_client '1'
            option cipher 'AES-256-CBC'
            option dev 'tun'
            option dev_type 'tun'
            option server '10.200.200.0 255.255.255.0'
            option status_version '2'
            option sndbuf '0'
            option rcvbuf '0'
            list push 'route 192.168.2.0 255.255.255.0 vpn_gateway 500'
            list push 'redirect-gateway dhcp'
            list push 'dhcp-option DNS 192.168.2.1'
            option client_config_dir '/etc/openvpn/ccd'
            list route '192.168.3.0 255.255.255.0'
    

    感谢大家的帮助。😂

    Supplement 4  ·  Nov 2, 2019

    还有注意证书的有效期,需要 openssl.cnf 修改证书有效时长在生成证书,要不然一个月后就会遇到证书过期的情况。

    default_days	= 3650			# how long to certify for
    default_crl_days= 3650			# how long before next CRL
    
    20 replies    2019-06-18 14:28:26 +08:00
    hongdaworks
        1
    hongdaworks  
       Jun 18, 2019
    两端都有公网 IP ?
    - - - - - - - - - -
    zerotier ( moon 节点建议国内自建)

    蒲公英智能组网(要付费) [滑稽.jpg]
    yzwduck
        2
    yzwduck  
       Jun 18, 2019
    要互通的话,不能用 NAT ;排查问题时主要查服务 /客户双方的路由表和防火墙,配合抓包来验证网络是否通畅。
    应该先解决服务端 ping 客户端的问题,既然能连上且分配到 IP,出问题的地方有可能是客户端的防火墙把这流量拦截掉了。
    ping 服务端外的网段的话,先查服务端有没有把流量转发出去(防火墙),然后查有没有收到返程流量(路由)。

    @hongdaworks 别捣乱,OP 已经能两端互联了,没必要用穿透。
    love4taylor
        3
    love4taylor  
    PRO
       Jun 18, 2019 via Android
    WireGuard 请, OpenVPN 您是嫌路由负担不够重么.
    xenme
        4
    xenme  
       Jun 18, 2019 via iPhone
    ipsec,没公网 IP 需要穿透的话,zerotier 或者 wireguard 上面都提到了
    x86
        5
    x86  
       Jun 18, 2019 via iPhone
    懒人用的爱快的超级组网
    suhongbo
        6
    suhongbo  
       Jun 18, 2019
    我公司是上海和东莞组网,有动态公网 IP 走 VPN。其它的就不知道了。测试的时候,没有公网 IP 走不通,打电信要了公网 IP 后就通了。
    ysc3839
        7
    ysc3839  
       Jun 18, 2019 via Android
    @Love4Taylor wireguard 目前还不支持 layer 2。而且华硕的固件估计不支持 wireguard 吧?
    AntonChen
        8
    AntonChen  
       Jun 18, 2019 via Android
    直接 GRE 走什么 VPN
    Kaiyuan
        9
    Kaiyuan  
    OP
       Jun 18, 2019
    @Love4Taylor #3
    @xenme #4
    两边都是公网 IP,华硕路由不支持 WireGuard,要不然就不用那么麻烦。

    @yzwduck #2 现在的情况是服务端 ping 不通客户端,客户端 ping 不通服务端以外的设备。我用笔记本连服务端也是这样。路由表都是 10.200.200.0/24 的,但是这个网段也 Ping 不通...
    MonoLogueChi
        10
    MonoLogueChi  
       Jun 18, 2019 via Android
    UDP 打洞,然后异地组网,大概原理应该是这样的,具体我也没实践过。如果是公司使用的话,建议直接购买已经成熟的产品,不要自己投精力在这这上面,研发和维护的人力成本都够买好几套系统了。
    aoling
        11
    aoling  
       Jun 18, 2019
    异地主网 拉专线最稳定
    Kaiyuan
        12
    Kaiyuan  
    OP
       Jun 18, 2019
    @MonoLogueChi #10 只是想连接两所房子的内网,才会出现这种情况。两所房子相隔一条街。
    w0nglend
        13
    w0nglend  
       Jun 18, 2019 via Android
    服务端 关闭 duplicate-cn
    server.conf 添加 ccd,创建文件 xxx (你的 key 名称)
    内容:iroute xxxx 255...
    love4taylor
        14
    love4taylor  
    PRO
       Jun 18, 2019
    @ysc3839 没完整的看完 看到个 OP 就以为两边都是了 23333

    不过啊 这个区域设置我看着有点不懂啊.
    Danswerme
        15
    Danswerme  
       Jun 18, 2019 via Android
    你有做到对方内网网段的路由吗?
    假设服务端内网网段为 192.168.1.0/24,
    客户端内网网段为 192.168.2.0/24,
    服务端 vpn ip 为 192.168.3.1,
    客户端 vpn ip 为 192.168.3.2,
    那么在服务端上做路由 dst.address = 192.168.2.0/24 gateway = 192.168.3.2,
    客户端上做路由 dst.address = 192.168.1.0/24 gateway = 192.168.3.1
    Kaiyuan
        16
    Kaiyuan  
    OP
       Jun 18, 2019
    @w0nglend #13 这样是允许客户端内网访问服务端,但是还是访问不了服务端内网其他机器。
    w0nglend
        17
    w0nglend  
       Jun 18, 2019 via Android   ❤️ 1
    @Kaiyuan 要想互通:
    服务器需要推送 内网段的路由给客户端。。
    并且打开转发。。
    并且去掉 duplicate-cn。。
    并且设置 ccd。。和 route xxx 255....在 Server.conf。。
    并且服务器端的内网其他机器网关是 VPN。。
    并且 VPN 客户端需要开启转发。。

    然后你在经过的所有节点上使用 tcpdump -n icmp 抓 ping 包。。
    yingfengi
        18
    yingfengi  
       Jun 18, 2019 via Android
    搞不懂你们干嘛不用 ipsec
    leavic
        19
    leavic  
       Jun 18, 2019
    zerotier 这么好用,为啥不用。
    Kaiyuan
        20
    Kaiyuan  
    OP
       Jun 18, 2019
    @leavic #19 硬件有限制,AC87U 没有刷梅林,是原版固件。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4582 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 81ms · UTC 05:36 · PVG 13:36 · LAX 22:36 · JFK 01:36
    ♥ Do have faith in what you're doing.