• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cy18
V2EX  ›  程序员

有没有不通过 DDNS,远程获取异地电脑当前最新 IPV6 地址的办法?

  •  
  •   cy18 · Oct 9, 2024 · 4573 views
    This topic created in 763 days ago, the information mentioned may be changed or developed.

    主要使用场景是用来异地互相访问电脑的。

    zerotier/花生壳/tailscale/netbird 之类的都用了,各有各的问题,都不是太稳定,经常连接不上,所以想预留一种备用的连接方案。

    两边都有 IPV6 ,但 IPV6 地址老是变,用 DDNS 的话又怕被扫到域名后爆破,所以在想有没有一种类似 DDNS 的服务,把当前的地址上传到某一个网站之类的地方,另外一台电脑发现 IP 变了的话直接手动访问去重新复制一下最新的地址,虽然有点麻烦,但 IPV6 地址一般也就几天才变一次,所以总体还能接受。

    37 replies  •  2024-10-11 11:34:05 +08:00
    zedpass
    zedpass
    Oct 9, 2024
    1
    写个脚本,定时 curl 获取出口 IP 地址,变化时发邮件或者通过钉钉机器人推送
    ratmond
    ratmond
    Oct 9, 2024❤️1
    2
    虽然但是,如果你直接用 ip 访问的话,大概率是 http 协议,裸奔岂不是更危险。还是推荐 DDNS ,别把自己想那么重要,没人没事来爆破你。
    tool2dx
    tool2dx
    Oct 9, 2024
    3
    @zedpass Windows 电脑为了隐私,出口 IPv6 和入口 IPv6 是两个。服务器 curl 获取是出口 IP ,需要自己写一点代码,弄到 POST 提交才行。
    JensenQian
    JensenQian
    Oct 9, 2024
    4
    简单,写个脚本,curl 获取,然后 tg 或者别的地方通知就完事了
    connor123
    connor123
    Oct 9, 2024
    5
    我是通过发邮件实现的,Windows 创建了一个定时任务,每小时获取一次 ip ,如果 ip 没变化就不发邮件,如果变了就发邮件
    MangozZ
    MangozZ
    Oct 9, 2024
    6
    本地获取 ipv6 ,把第一段 24xx: 替换、混淆一下,再更新 ddns 。

    用的时候 ping 获取 dns , 再修一下。 躲那种 程序扫域名爆破的 问题不大。
    ho121
    ho121
    Oct 9, 2024 via Android
    7
    运行一个 tailscale 客户端,然后到 tailscale 后台去看它的 ip 地址
    Jinnrry
    Jinnrry
    Oct 9, 2024 via iPhone
    8
    我是每分钟 curl 远端服务器,然后 redis 里面记下 ip ,再随便写个页面显示出来
    sleepm
    sleepm
    Oct 9, 2024
    9
    路由器上域名
    主机名(hostname).domain (主机域名)
    zerotier 设置 dns 为路由器(或者其他提供域名解析的)
    isc dhcp+unbound
    unbound 可以勾选同步 isc dhcp 地址池的记录
    CharlieJiang
    CharlieJiang
    Oct 9, 2024❤️2
    10
    楼上都提到 curl 远端服务器,但都 IPv6 了应该可以从当前的网卡直接拿吧,Windows 上用 Get-NetIPAddress -AddressFamily IPv6 过滤下,Linux 上用 ip addr -6 过滤下,这样还可以避免拿到出口专用的地址( v6 时代很多系统会分开较为稳定的、入口用的地址和对外连接用的即用即扔的临时地址),除非做了 NAT66 。
    totoro625
    totoro625
    Oct 9, 2024
    11
    本机 curl cf worker URL ,写入本机 IP 至 KV 存储空间
    通过另一个 URL 访问,获取 IP 地址
    piero66
    piero66
    Oct 9, 2024 via Android
    12
    挂个探针,再对接 tg 钉钉微信机器人推送变更
    onikage
    onikage
    Oct 9, 2024
    13
    merlin 有个事件,wan 连接时触发,写个脚本发邮件就行。
    Od37v61n5s89gXx8
    Od37v61n5s89gXx8
    Oct 9, 2024 via iPhone
    14
    @MangozZ 你们的域名都是 1,2 个字母的那种吗?子域名也是直接解析*.domain.com 这种?否则扫域名不比扫 IPV6 还艰辛?
    hj18
    hj18
    Oct 9, 2024❤️2
    15
    我采取以下方式获取远程电脑的 ip 地址:
    1 轮询的方式访问一些网站的首页,这些网站的首页会显示来访者的 ip 地址,于是可以用 wget 来下载页面,用 grep 提取 ip 地址,这样路由器可以随时知道自身的 ip 地址是否变化,从而以 smtp 在命令行发送邮件,另一侧的电脑也可以用 imap 的方式在命令行收邮件,再用脚本读取邮件中的地址,自动更新 hosts 中的域名解析。这个域名其实只在接收端的电脑内部做解析,就是说是个假的域名。
    2 申请几个免费的虚拟主机,就做个简单的 php 脚本,需要提供 ip 地址的电脑访问时,输入一个口令,则其 ip 地址被保存,另一个想要知道远程电脑的电脑访问时,输入另一个口令,则保存着的 ip 地址被提取,不断轮询。
    3 在两端都安装 syncthing 的 情况下,其 log 可以提取出远程电脑的 ip 地址,但是有时候速度慢,会干扰第一种方式的更新,所以需要做一个防干扰的脚本。
    4 在两端电脑都安装同步盘的情况下,比如坚果云,syncthing ,verysync 等等,发起连接的电脑在指定的目录中放置启动远程桌面的命令,被连接的电脑轮询这个目录,并在有启动命令时执行反向的连接,这要求发起连接的电脑有公网 ip 但确是客户端,被连接的电脑无公网 ip 却是服务器端,所以要反向连接。
    5 使用 Pidgin 这样的通讯软件,它有个好友千里眼的功能,同样可以传送命令并执行。
    6 使用 zerotier ,并在有公网 ip 的路由器上自建 moon ,我用这个方法,能远端执行 moonlight 玩地平线 5 流畅得很,几乎感觉不到延迟。
    7 ddns
    8 为了更好的抗干扰,还使用了 stunnel 套壳。
    我就是这么牢牢绑定远程电脑。
    v8p
    v8p
    Oct 9, 2024
    16
    @ratmond #2 3389 远程访问啊...经常被爆破到账号被锁定没法登录...可以参照我上一个帖子
    irrigate2554
    irrigate2554
    Oct 9, 2024
    17
    路由器搭建 ss 节点,服务器只开对应端口,外面访问使用各种客户端加密连接内网 IP 访问。
    EngAPI
    EngAPI
    Oct 9, 2024
    18
    说个小众的:pt ,pt 可以看客户端的 ip
    cy18
    cy18
    OP
    Oct 9, 2024
    19
    @zedpass #1
    @connor123 #5
    可否提供一下脚本,非常感谢!
    lastone6210428
    lastone6210428
    Oct 9, 2024
    20
    我就干过 但是当时的服务器到期没续费也没存数据 脚本没了
    我做的是一次性批量修改, 思路是内网的机器只要是需要外网访问的(服务器的 IPMI 页面, ESXi 页面, nas, 虚拟机, 路由器), 全部开启 slaac 分配, 由于 linux 默认是使用网卡的 MAC 地址转换机制, 所以每个内网机器的高 64bit 相同但不固定(动态分配), 低 64bit 固定但不相同(实际就是各自的网卡 MAC 地址)
    所以只要记录所有机器的低 64bit, 然后随便一台内网机器(我用的路由器)定时发送自身 ipv6 地址, 那么前 64bit 就是所有机器的前缀, 跟机器各自固定的后缀拼在一起就是各自的完整 ipv6 地址, 而且是对外地址, 不是临时地址
    所以我用了一个服务端程序, 负责拼接前缀后缀, 然后用 cloudflare 的 api 修改域名绑定, 达到批量 ddns 的效果
    说实话 有点麻烦 但效果杠杠的 内网一堆机器都直接用域名访问就行了
    amanisheir
    amanisheir
    Oct 9, 2024
    21
    跑 ddns-go ,然后 webhook 推出去
    cy18
    cy18
    OP
    Oct 9, 2024
    22
    @amanisheir #21 看了下介绍,专业非常对口...
    bugmakerxs
    bugmakerxs
    Oct 10, 2024 via Android
    23
    ddns➕vpn 就好了,不怕爆破。要加入 vpn 网络需要身份认证,瞎请求的包会被丢弃。

    https://zhuanlan.zhihu.com/p/659604306?utm_psn=1827504891817517056
    zhuomu
    zhuomu
    Oct 10, 2024 via Android
    24
    zerotier 管理页面可以看到 v6 地址
    ratmond
    ratmond
    Oct 10, 2024
    25
    端口转发,别用常见端口
    ratmond
    ratmond
    Oct 10, 2024
    26
    @v8p 运营商竟然不封 3389...
    test1120
    test1120
    Oct 10, 2024
    27
    1.写一个脚本 getipv6.sh:
    PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
    getcurrent_url="curl -s https://www.xxxxxx.com/update_ipv6.php"; //在你的网站获取 ipv6,并更新到你需要的地方。
    get_url="$($getcurrent_url)";
    echo $get_url;

    2.定时任务(每 5 分钟执行一行):
    */5 * * * * /data/shell/getipv6.sh 2>&1


    完工,稳定运行很多年了。
    kingpo
    kingpo
    Oct 10, 2024
    28
    @hj18 #15
    @test1120 #27 用 ddns 更新,就是一直有个问题,ipv6 的 rdp 时行时不行,同时检查公网 ipv4 的就一直都没问题
    hj18
    hj18
    Oct 10, 2024
    29
    @kingpo 对这个问题不是很清楚,我前面忘了说,我也同时使用 ipv6 的 ddns ,但没有什么感觉,因为 ipv4 已经够用了。
    hj18
    hj18
    Oct 10, 2024
    30
    @kingpo 你主题中的问题,我想已经用免费主机的 php 脚本解决了。
    enrolls
    enrolls
    Oct 10, 2024
    31
    指令如下
    Y3VybCAtc0wgaHR0cHM6Ly9hcGkucHlsYWIubWU=
    自己解密,除了证书断了,晚点我换成 API , 保证 ONLINE
    Atomo
    Atomo
    Oct 10, 2024
    32
    目前国内访问最快的 ipv6 地址 get 服务
    curl ipv6.ddnspod.com
    lsearsea
    lsearsea
    Oct 10, 2024 via Android
    33
    买个 hk 服务器 frp 直接解决痛点
    MaydayV
    MaydayV
    Oct 10, 2024
    34
    分享一个我最近在用的方案,xedge.cc ,如果有公网 ip ,免费账户就够用了,或者自建中转,这个用到了 Tailscale ,但是配置和使用起来比用 Tailscale 更简单一些
    Ipsum
    Ipsum
    Oct 10, 2024
    35
    写个小软件,我觉得代码量应该在 100 行以内。直接读 interface 或者 fetch 个 ip 检测网站缓存当前 ipv6 地址,如果没有变化就等待下次检测,如果变化了,直接推送 tg 通知。
    kaedeair
    kaedeair
    Oct 10, 2024
    36
    我是使用路由器上的 wireguard 连接内网,路由器 ipv6 地址必定是`${IPV6_PD}::1`。openwrt 有 hotplug 事件,可以用来作为触发器执行一些脚本。有些品牌路由器能看到地址。通过 pt 的 tracker 也可以知道地址
    SenLief
    SenLief
    Oct 11, 2024
    37
    直接获取网卡的就可以吧,又没有 nat 的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1442 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 16:43 · PVG 00:43 · LAX 08:43 · JFK 11:43
    ♥ Do have faith in what you're doing.