V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
ea3ba5c0
V2EX  ›  宽带症候群

WG + DDNS 如何走 TCP

  •  
  •   ea3ba5c0 · 146 天前 · 1587 次点击
    这是一个创建于 146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于 UDP 限流严重,表现就是晚上某些时候突然丢包高,很卡。

    WG 走 TCP 的方式是 tunnel/udp2raw 这些,但是都是没法搭配域名使用。

    WG + DDNS 作为 server 端使用。

    20 条回复    2022-09-22 16:44:28 +08:00
    cloudsigma2022
        1
    cloudsigma2022  
       146 天前
    ddns 用 cf 的 。

    cf ddns

    https://gist.github.com/0neday/04141ba4d3ac3ccf77a5b5837b104762 显示 Gist 代码


    or

    nodered
    https://bbs.hassbian.com/thread-16664-1-1.html

    目前使用完美。
    ea3ba5c0
        2
    ea3ba5c0  
    OP
       146 天前
    @cloudsigma2022 你可能没有理解,不是 DDNS 的问题,而是 tunnel 或者 udp2raw 只能直连 ip 。
    cloudsigma2022
        3
    cloudsigma2022  
       146 天前
    @ea3ba5c0 域名解析问题吧,那就把域名解析直接写死在本地 /etc/hosts 里。
    Kinnice
        4
    Kinnice  
       146 天前
    魔改一下 udp2raw 使其支持域名

    写个脚本监测 ip 变动,变了就用新 ip 重启相关的进程。
    ghjexxka
        5
    ghjexxka  
       146 天前
    手搓配置文件用 v2ray 的 dokodemo-door 协议配合其他 tcp 类型的协议转发可行
    Yadomin
        6
    Yadomin  
       146 天前 via Android
    wg 本身也不支持 ddns ,也是用 cron 脚本刷新的
    titanium98118
        7
    titanium98118  
       146 天前
    把 wg 套进 v2ray ,udp over tcp
    yaoyao1128
        8
    yaoyao1128  
       146 天前 via iPhone
    自己写一个 cron 脚本处理 udp2raw 试试?
    ea3ba5c0
        9
    ea3ba5c0  
    OP
       146 天前
    @Yadomin 我一直以为 wg 本身支持域名更新呢。确定不支持?
    maybeonly
        10
    maybeonly  
       146 天前
    不是很明白具体要做什么
    如果只是某个 ip 要实现 ddns 但是不方便配置的话
    随便写个对端地址,比如 100.64.11.22:12345
    然后整个脚本监控域名变化并修改 output 串的 dnat 规则。
    必要时清理 conntrack 。
    Yadomin
        11
    Yadomin  
       146 天前 via Android
    @ea3ba5c0 不支持的,wg-tools 里有个 reresolve-dns.sh 就是做手动刷新的脚本
    sujin190
        12
    sujin190  
       146 天前
    tunnel/udp2raw 前面再挂个代理呗,代理转发的时候就可以支持域名解析了吧,本地只是转发流量的话性能也不会有多大损失
    sujin190
        13
    sujin190  
       146 天前
    tunnel/udp2raw 和远程服务器之间再挂个 tcp 转发代理
    ea3ba5c0
        14
    ea3ba5c0  
    OP
       146 天前
    @Yadomin 赞,果然如此。
    wym0823
        15
    wym0823  
       145 天前
    去试试这个项目,挺不错,用他的 ws/wss 协议,简单好用
    https://github.com/net-byte/vtun
    hanssx
        16
    hanssx  
       134 天前
    最后楼主咋解决的,话说 Windows 下我怎么一直握手失败,看 Github Issues 也很多失败的。
    ea3ba5c0
        17
    ea3ba5c0  
    OP
       134 天前
    @hanssx 我没用,我有一台 vps ,用 vps 作为 server 。
    hanssx
        18
    hanssx  
       133 天前
    @hanssx Windows 解决了,加上--lower-level auto 就好了,服务端也加了。
    hanssx
        19
    hanssx  
       133 天前
    说错了,Windows 下 udp2raw 是不支持这个参数的,服务端加上就好了。
    hanssx
        20
    hanssx  
       133 天前
    因为我是用 windows 下的 udp2raw ,补充一下 udp2raw 的一个 bat 定时脚本,大家可以测试一下:
    ```
    @echo off
    setlocal ENABLEDELAYEDEXPANSION
    set ddns=yourddns
    for /f "delims= " %%i in ('ping %ddns% -n 1 -w 0 ^|findstr "^[0-9]"') do (
    set ip=%%i
    )
    start /b udp2raw_mp.exe -c -l 0.0.0.0:3333 -r !ip!:remote_port -k "passwd" --raw-mode faketcp --cipher-mode aes128cbc

    :g
    for /f "delims= " %%i in ('ping %ddns% -n 1 -w 0 ^|findstr "^[0-9]"') do (
    if !ip! equ %%i (
    timeout /T 300 /NOBREAK >nul
    ) else (
    taskkill /im udp2raw_mp.exe /f
    ping -n 2 127.1 >nul
    start /b udp2raw_mp.exe -c -l 0.0.0.0:3333 -r %%i:remote_port -k "passwd" --raw-mode faketcp --cipher-mode aes128cbc
    set /a ip=%%i
    ))

    goto g
    ```
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   558 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 17:52 · PVG 01:52 · LAX 09:52 · JFK 12:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.