冰箱研会长 发表于 2021-6-3 10:51

如何用最简单的方式把A机的IP地址传送给B机?

RT, 在学校入手了一台可以24h运行的服务器, 处在ipv6环境下, 地址会动态变化.
快放假了, 我想在家直接访问服务器, 需要即时获得这个ipv6的地址.

我原本的方案是用DDNS那一套, 给手里的域名再开一个子域名然后每一段时间更新一下.
但是怎么说呢, 懒了, 不太想重新弄这一套.

想问问有没有什么非常简单的传送消息的办法> <
发邮件? 自动ssh到家里写一个log?


冰箱研会长 发表于 2021-6-3 10:54

服务器是我自己装的opensuse, 家里有一台24h的ubuntu server, 别的就都是win了.
ubuntu用的是(伪)DDNS的方案

ryanz 发表于 2021-6-3 10:56

本帖最后由 ryanz 于 2021-6-3 11:15 编辑

我感觉一个简单的方式就是,检测到ip变更后就通过telegram bot或server酱之类的api推送,ios上有一个bark可以curl推送,


https://www.v2ex.com/t/602874
https://www.v2ex.com/t/468790
一个别人写好的检测ip变化的脚本,需要自己把里面公网ip获取改为对应的服务
https://gist.github.com/mattes/6e3fbc5ad02140dd428fe4abf9bd74e8
ios的bark的推送,也可以自己docker搭建
https://github.com/Finb/Bark



董卓 发表于 2021-6-3 11:09

ddns客户端啊

xyhero 发表于 2021-6-3 11:10

刚好有类似需求,ipv6真是内网远程救星。

—— 来自 Sony J9210, Android 11上的 S1Next-鹅版 v2.4.4.1

lvcha 发表于 2021-6-3 11:17

冰箱研会长 发表于 2021-6-3 11:19

lvcha 发表于 2021-6-3 11:17
我是写了个shell脚本,每隔10分钟扫一下外网ip,有变化就给我的qq邮箱发个邮件。
几行的事儿



发邮件的话 是需要设置所用的邮件地址之类的吧?
还是说直接就能发?

冰箱研会长 发表于 2021-6-3 11:21

ryanz 发表于 2021-6-3 10:56
我感觉一个简单的方式就是,检测到ip变更后就通过telegram bot或server酱之类的api推送,ios上有一个bark可 ...

唔 试着弄一下server酱

Jet.Black 发表于 2021-6-3 11:21

冰箱研会长 发表于 2021-6-3 11:19
发邮件的话 是需要设置所用的邮件地址之类的吧?
还是说直接就能发?

我觉得可以换个思路git push更容易

ryanz 发表于 2021-6-3 11:26

冰箱研会长 发表于 2021-6-3 11:19
发邮件的话 是需要设置所用的邮件地址之类的吧?
还是说直接就能发?

需要整一个smtp服务,客户端可以使用mutt,具体配置见 https://segmentfault.com/a/1190000018013379 ,刚才又搜了下server酱貌似已经不被推荐了

Jet.Black 发表于 2021-6-3 11:29

ryanz 发表于 2021-6-3 11:26
需要整一个smtp服务,客户端可以使用mutt,具体配置见 https://segmentfault.com/a/1190000018013379 , ...

发邮件读邮件太麻烦了,用个git repo就能搞定,也可以其他版本控制,一个道理。

lvcha 发表于 2021-6-3 11:31

冰箱研会长 发表于 2021-6-3 11:34

Jet.Black 发表于 2021-6-3 11:29
发邮件读邮件太麻烦了,用个git repo就能搞定,也可以其他版本控制,一个道理。 ...

给ip地址建一个仓库总感觉有点...
滥用公共资源的意思(

YoumuChan 发表于 2021-6-3 11:36

家里有服务器的话,你甚至可以在家开一个nginx,然后学校那里直接访问一个特定path,然后你直接grep查nginx的access log

冰箱研会长 发表于 2021-6-3 11:37

YoumuChan 发表于 2021-6-3 11:36
家里有服务器的话,你甚至可以在家开一个nginx,然后学校那里直接访问一个特定path,然后你直接grep查nginx ...

......

Jet.Black 发表于 2021-6-3 11:38

冰箱研会长 发表于 2021-6-3 11:34
给ip地址建一个仓库总感觉有点...
滥用公共资源的意思(

其实用任何已有仓库都行,新建个branch,最后不合并罢了

tsubasa9 发表于 2021-6-3 11:40

家里是公网固定ip?
那直接推/tmp文件或者看ssh/scp记录不就行了

5long 发表于 2021-6-3 12:36

换个思路呢:用 zerotier 这类 VPN 方案

冰箱研会长 发表于 2021-6-3 12:46

5long 发表于 2021-6-3 12:36
换个思路呢:用 zerotier 这类 VPN 方案

复杂度开始暴涨了
原先我想的其实是本机多终端write命令这类的东西> <

ryanz 发表于 2021-6-3 12:52

刚刚试着配置了下mutt,发现archlinux上的版本有smtp支持,配置就简单多了,不需要再配置msmtp,qq邮箱的muttrc见下
set from = "xxx@foxmail.com"
set realname = "xxx"
# Imap settings (Receiving server)
set imap_user = "xxx@foxmail.com"
set imap_pass = "授权码"
set folder = "imaps://imap.qq.com:993"
# Smtp settings (Sending server)
set smtp_url = "smtps://xxx@foxmail.com@smtp.qq.com:465/"
set smtp_pass = "授权码"
# Remote gmail folders
set spoolfile = "+INBOX"
set move = no

set folder=~/mail
set editor = "vim"
set sort = "reverse-date-received"
set charset = "utf-8"
然后配置好这样子就可以发送邮件了cat ip_addr | mutt -s "ip addr changed to $(cat ip_addr)" -- xxx@foxmail.com注意qq邮箱有个坑,获取授权码不要点最下面的那个,而要点击imap/stmp 开启 那个地方,不然会浪费1毛短信钱

Sliverstrike 发表于 2021-6-3 12:54

其实还是ddns简单

5long 发表于 2021-6-3 13:03

冰箱研会长 发表于 2021-6-3 12:46
复杂度开始暴涨了
原先我想的其实是本机多终端write命令这类的东西>...

实现复杂度高了,但开发 / 运维成本低了
况且有商业支持的现成方案肯定比你自己临时写的代码更可靠

可以考虑拿 zerotier 当作应急备用,自己继续折腾新方案

开起 发表于 2021-6-3 20:33

本帖最后由 开起 于 2021-6-3 20:36 编辑

自用的he.net的ddns还是挺简单的,更新地址就是一行curl的事,不过ddns痛点在于ttl吧,华为云的1秒ttl更新速度应该是最快的

或者可以考虑学校服务器frp连家里服务器frp服务端,然后访问家里服务器IP:端口,等于访问学校服务器(优点是地址改变重连快,缺点是要求家里服务器地址稳定)

—— 来自 OnePlus KB2000, Android 11上的 S1Next-鹅版 v2.4.4.1
页: [1]
查看完整版本: 如何用最简单的方式把A机的IP地址传送给B机?