V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hanssx
V2EX  ›  WireGuard

WireGuard 连接后无法访问内网

  •  
  •   hanssx · 2022-09-16 11:40:04 +08:00 · 7501 次点击
    这是一个创建于 797 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Wireguard 是配置在 OpenWrt 上面的,本机连回家,配置好了,也成功连上了,

    Imgur Imgur

    家庭内网网段 192.168.0/24 ,还有 VPN 对端 10.8.0.1/32

    Imgur

    接口 wg0 分配到防火墙区域 VPN ,配置好像也没有问题,

    Imgur Imgur

    本机都 Ping 不通,trace 是请求超时,不知道为啥,是防火墙需要再加啥吗。

    第 1 条附言  ·  2022-09-21 15:57:01 +08:00
    太流畅了,延迟只有 8ms ,RDP 和本地操作没有差别,舒服。
    10 条回复    2024-03-22 15:24:09 +08:00
    zbinlin
        1
    zbinlin  
       2022-09-17 17:03:46 +08:00   ❤️ 1
    在 openwrt 里,ip route 显示什么
    hanssx
        2
    hanssx  
    OP
       2022-09-21 15:36:40 +08:00
    @zbinlin
    ```
    # on 主路由 openwrt 已开启 ipv4 ipv6 转发

    root@QWRT:~# ip route
    default via 221.X.Y.1 dev pppoe-wan proto static
    192.168.0.0/24 dev br-lan proto kernel scope link src 192.168.0.1
    221.X.Y.1 dev pppoe-wan proto kernel scope link src 221.X.Y.64
    ```
    没有 10.8.0.0/24 的路由,默认网关数据就会从 221.X.Y.1 出去吧,另外 tcpdump 在 wg0 (主路由 openwrt wireguard 接口名)能抓到 icmp request ,但是没有回包。。。
    ```
    root@QWRT:~# tcpdump -i wg0 -nn icmp
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on wg0, link-type RAW (Raw IP), capture size 262144 bytes
    15:26:52.746870 IP 10.8.0.3 > 10.8.0.1: ICMP echo request, id 1, seq 370, length 40
    15:26:57.483925 IP 10.8.0.3 > 10.8.0.1: ICMP echo request, id 1, seq 371, length 40
    15:27:02.484910 IP 10.8.0.3 > 10.8.0.1: ICMP echo request, id 1, seq 372, length 40
    15:27:07.484840 IP 10.8.0.3 > 10.8.0.1: ICMP echo request, id 1, seq 373, length 40
    15:27:53.793847 IP 10.8.0.3 > 192.168.0.1: ICMP echo request, id 1, seq 377, length 40
    15:27:58.484830 IP 10.8.0.3 > 192.168.0.1: ICMP echo request, id 1, seq 378, length 40
    15:28:03.485093 IP 10.8.0.3 > 192.168.0.1: ICMP echo request, id 1, seq 379, length 40
    ```
    hanssx
        3
    hanssx  
    OP
       2022-09-21 15:49:49 +08:00
    搞定了,感谢 1L ,给 VPN 网段加一条回包路由就行了,不知道为啥这个 OpenWrt 设置完成后没有自动添加?
    ```
    ip r add 10.8.0.0/24 via 10.8.0.1 dev wg0
    ```
    hanssx
        4
    hanssx  
    OP
       2022-09-21 15:51:12 +08:00
    最后补充一下参考的这个帖子,作者写得非常受用,
    https://gobomb.github.io/post/wireguard-notes/
    hanssx
        5
    hanssx  
    OP
       2022-09-21 15:54:17 +08:00
    完整的发一遍吧,方便后来者,wg0 接口区域这块如果嫌麻烦就直接加入 Lan 域,我是放到 VPN 域。
    防火墙主要设置 wg0 的转发功能和 SNAT 功能以方便和家庭内网 192.168.0.0/24 段通信。
    ```
    iptables -t filter -A FORWARD -i wg0 -j ACCEPT
    iptables -t filter -A FORWARD -o wg0 -j ACCEPT
    iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o br-lan -j MASQUERADE # 动态 SNAT
    ```
    zbinlin
        6
    zbinlin  
       2022-09-21 17:33:40 +08:00   ❤️ 1
    你把 list addresses 改成 10.8.0.1/24 应该就可以自动添加路由了。
    hanssx
        7
    hanssx  
    OP
       2022-09-21 18:40:03 +08:00
    @zbinlin 真是这样,大意了。
    vvlaw
        8
    vvlaw  
       2022-11-18 16:15:06 +08:00
    @hanssx
    huawei 的云服务器快到期了,前几天花 50 买了一年的 tencent 云,照着这个做了下,好像还是连不到 server...
    server
    +++++++++++++++++++++++++++++++++++++
    interface: wg0
    public key: kU***************************************c=
    private key: (hidden)
    listening port: 51194

    peer: Xo*********************************************Q=
    allowed ips: 192.168.2.2/32
    persistent keepalive: every 15 seconds
    ++++++++++++++++++++++++++++++++++++++

    client
    ++++++++++++++++++++++++++++++++++++++
    interface: wg0
    public key: Xo*********************************************Q=
    private key: (hidden)
    listening port: 35183

    peer: kU***************************************c=
    endpoint: **.***.***.**:51194
    allowed ips: 192.168.2.0/24
    transfer: 0 B received, 113.02 KiB sent
    persistent keepalive: every 15 seconds
    ++++++++++++++++++++++++++++++++++++++


    不知道哪里出了问题。坐标国外,iphone 和 archlinux 都可以连 huawei 回国听歌等,但这个 tencent 死活搞不定。。。
    whcoding
        9
    whcoding  
       2023-07-12 12:39:13 +08:00
    大佬问一下 我是直接 wg0 接口区域设置的 Lan 域 , 防火墙自定义规则设置的

    iptables -t filter -A FORWARD -i wg0 -j ACCEPT
    iptables -t filter -A FORWARD -o wg0 -j ACCEPT
    iptables -t nat -A POSTROUTING -s 10.1.8.0/24 -o br-lan -j MASQUERADE


    这样弄还是不能直接访问内网 ip, 还是需要设置什么吗? @hanssx
    jingouwangzi
        10
    jingouwangzi  
       244 天前
    @hanssx 太感谢了,按这个设置之后成功打通内网
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2467 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:00 · PVG 00:00 · LAX 08:00 · JFK 11:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.