V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
DopaminePlz
V2EX  ›  OpenWrt

WireGuard 客户端无法获取伪装后的 GUA 地址

  •  
  •   DopaminePlz · 2022-05-02 16:00:11 +08:00 · 1235 次点击
    这是一个创建于 722 天前的主题,其中的信息可能已经有所发展或是发生改变。

    情况说明

    • Wireguard 运行在内网一台 OpenWrt 路由器上( AP 模式,作为旁路由 /透明网关)
    • OpenWrt 配置了 lan6 接口,可以获取公网 IPv6 地址
    • OpenWrt 当然配置了 SSR PLUS
    • 网关和 DNS 指定为 OpenWrt 的手机,test-ipv6.com 获得了 10 分,也可以访问纯 IPv6 站点
    • WireGuard 配置了 NAT66 地址伪装,但是客户端无法获取 IPv6 地址
    • 内网中另外一台 Linux 主机也开启了 WireGuard 及 NAT66 伪装,仅支持 IPv4 的电脑可以连接回家,访问 IPv6 网络
    • OpenWrt 路由器增加与另外一台内网 Linux 主机相同的防火墙配置,依然无法获取 IPv6 公网地址

    OpenWrt 配置

    • /etc/config/network
    config globals 'globals'
    
    config interface 'lan'
            option type 'bridge'
            option ifname 'eth1 eth2 eth3'
            option proto 'static'
            option netmask '255.255.255.0'
            option ip6assign '60'
            option ipaddr '192.168.8.108'
            option gateway '192.168.8.1'
            option dns '192.168.8.1'
    
    config interface 'wan'
            option ifname 'eth0'
            option proto 'dhcp'
    
    config interface 'wan6'
            option ifname 'eth0'
            option proto 'dhcpv6'
            option reqaddress 'try'
            option reqprefix 'auto'
    
    config interface 'lan6'
            option proto 'dhcpv6'
            option ifname '@lan'
            option reqaddress 'try'
            option reqprefix 'auto'
            option clientid 'cafe:0108'
    
    config interface 'wgs0'
            option proto 'wireguard'
            option private_key 'PRIVKEY'
            option listen_port '1380'
            list addresses '10.7.0.1/16'
            list addresses 'fda7::1/64'
    
    config wireguard_wgs0 '1005'
            option public_key 'PUBKEY'
            list allowed_ips '10.7.10.5/32'
            list allowed_ips 'fda7::1005/128'
            option route_allowed_ips '1'
    
    • 防火墙配置

    https://imgur.com/a/kussrY1

    • /etc/rc.local
    #!/bin/bash
    IPT="/usr/sbin/iptables"
    IPT6="/usr/sbin/ip6tables"
    
    IN_FACE="br-lan"                # NIC connected to the internet
    IN_FACE6="br-lan"               # NIC connected to the internet
    WG_FACE="wgs0"                  # WG NIC
    SUB_NET="10.7.0.0/16"           # WG IPv4 sub/net aka CIDR
    WG_PORT="1380"                  # WG udp port
    SUB_NET_6="fda7::/64"           # WG IPv6 sub/net
    
    ## IPv4 ##
    $IPT -t nat -I POSTROUTING 1 -s $SUB_NET -o $IN_FACE -j MASQUERADE
    $IPT -I INPUT 1 -i $WG_FACE -j ACCEPT
    $IPT -I FORWARD 1 -i $IN_FACE -o $WG_FACE -j ACCEPT
    $IPT -I FORWARD 1 -i $WG_FACE -o $IN_FACE -j ACCEPT
    $IPT -I INPUT 1 -i $IN_FACE -p udp --dport $WG_PORT -j ACCEPT
    
    ## IPv6 ##
    $IPT6 -t nat -I POSTROUTING 1 -s $SUB_NET_6 -o $IN_FACE6 -j MASQUERADE
    $IPT6 -I INPUT 1 -i $WG_FACE -j ACCEPT
    $IPT6 -I FORWARD 1 -i $IN_FACE6 -o $WG_FACE -j ACCEPT
    $IPT6 -I FORWARD 1 -i $WG_FACE -o $IN_FACE6 -j ACCEPT
    $IPT6 -I INPUT 1 -i $IN_FACE6 -p udp --dport $WG_PORT -j ACCEPT
    

    问题

    请问是什么原因?哪里可能存在问题?

    谢谢!

    4 条回复    2022-05-06 13:57:16 +08:00
    yaott2020
        1
    yaott2020  
       2022-05-02 22:02:36 +08:00 via Android
    openwrt 有 luci 界面可以配置 wg ,只有防火墙配置需要额外加脚本
    DopaminePlz
        2
    DopaminePlz  
    OP
       2022-05-05 16:12:34 +08:00 via Android
    @yaott2020 WG 接口旳配置应该没有问题旳,主要问题是客户端不能访问 IPv6 网络。
    yaott2020
        3
    yaott2020  
       2022-05-05 17:44:54 +08:00 via Android
    客户端路由看看有没有 ::/0 没有就加上
    DopaminePlz
        4
    DopaminePlz  
    OP
       2022-05-06 13:57:16 +08:00 via Android
    @yaott2020 加上了,还是没有获取 IPv6 旳 GUA 地址,只有 ULA 地址,可行 PING 通 fda7::1 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1080 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 56ms · UTC 19:02 · PVG 03:02 · LAX 12:02 · JFK 15:02
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.