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

wsl2 网络连接问题

  •  1
     
  •   yvuni15 · 28 天前 · 1348 次点击

    wsl2 连接不了外网怎么解决啊,能 ping 通百度,但是谷歌和 openai 不行

    11 条回复    2024-05-30 10:08:03 +08:00
    weenhall5
        1
    weenhall5  
       28 天前
    [experimental]
    autoMemoryReclaim=gradual
    sparseVhd=true
    useWindowsDnsCache=true
    networkingMode=mirrored
    dnsTunneling=true
    firewall=false
    autoProxy=true 是否自动代理
    hostAddressLoopback=true
    yvuni15
        2
    yvuni15  
    OP
       28 天前
    我配置了之后还是不行是配置出问题了吗

    [boot]
    systemd=true
    [experimental]
    autoMemoryReclaim=gradual
    sparseVhd=true
    useWindowsDnsCache=true
    networkingMode=mirrored
    dnsTunneling=true
    firewall=false
    autoProxy=true
    hostAddressLoopback=true
    这是配置文件
    Igarashi01
        3
    Igarashi01  
       28 天前
    [wsl2]
    networkingMode=true
    dnsTunneling=true
    autoProxy=true
    [experimental]
    ...

    这几个选项之前是在 [experimental] 下的,现在已经不是实验性的了,直接放在 [wsl2] 下就行。
    https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config
    PTLin
        4
    PTLin  
       28 天前
    windows .wslconfig
    ------------------------------
    [wsl2]
    networkingMode=mirrored

    wsl .zshrc
    -------------------------------
    local host_ip="127.0.0.1"
    local host_port=7890
    local proxychains_config_filename="/tmp/proxychains.conf"
    cat <<EOF >$proxychains_config_filename
    strict_chain
    nproxy_dns
    nremote_dns_subnet 224
    ntcp_read_time_out 15000
    ntcp_connect_time_out 8000
    [ProxyList]
    socks5 $host_ip $host_port
    EOF
    alias proch="proxychains -q -f $proxychains_config_filename"
    pp() {
    proxy_is_set=${proxy_is_set:=0}
    if (( proxy_is_set == 0 )) {
    export all_proxy="http://$host_ip:$host_port"
    proxy_is_set=1
    echo "set proxy"
    } else {
    unset all_proxy
    proxy_is_set=0
    echo "unset proxy"
    }
    }

    proch xxx 是用代理运行软件,pp 是开启 all_proxy ,再运行 pp 是关闭。
    0xD800
        5
    0xD800  
       27 天前
    你的 windows 是哪个版本哦,wsl2 kernel 更新了吗,最近 wsl2 更新挺多的,,,
    bengerlorf
        6
    bengerlorf  
       27 天前
    下面的命令应该可以解决,如果是 wireguard 的话。

    sudo rm /etc/resolv.conf
    sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
    sudo bash -c 'echo "[network]" > /etc/wsl.conf'
    sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
    sudo chattr +i /etc/resolv.conf
    zed1018
        7
    zed1018  
       27 天前
    这个跟 wsl2 关系不大,linux 下怎么走代理就怎么弄,唯一不同的是额外可以连 windows 上已有的罢了。

    要么开 mirrored network 走 localhost ,要么默认 nat 网络就从 ip addr 里拿到网关地址,把 windows 上的允许局域网访问和防火墙公用网络对应端口部分打开,走网关地址。
    mmdsun
        8
    mmdsun  
       27 天前
    先升级下> wsl --update
    macscsbf
        9
    macscsbf  
       27 天前
    防火墙没设置入口规则放行?
    mclxly
        10
    mclxly  
       27 天前
    如果需要外网我每次手动代理:
    export http_proxy=socks5://172.17.128.X:XXX https_proxy=socks5://172.17.128.X:XXXX
    l8L12cwti87t9Kwg
        11
    l8L12cwti87t9Kwg  
       27 天前 via Android
    我只能在 wsl 里开 v2ray ,然后终端开手动代理,其他的都不行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2650 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 97ms · UTC 15:19 · PVG 23:19 · LAX 08:19 · JFK 11:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.