文章目录

  • 前言
  • 一些准备工作
  • 1. 登录dynv6获取域名
  • 2.在Tremux上配置域名解析
    • ① 手动向dnyv6传递IP地址
    • ②设置开机自启及定时任务

前言

家用的那台服务器,一直使用的是ipv6进行访问,动态解析使用的是dynv6提供的免费ddsn服务,最近退下来一部红米note7 6+64手机,性能放在现在也还是OK的,就拿来折腾一下Termux,于是想把dynv6服务也搬到Termux上来,但使用官方推荐的小脚本死活跑不起来,毛病一大堆,于是还是老老实实自己写个API调用脚本和定时任务吧,于是有了这篇文章。

下面从零开始教你一步步实现Termux的公网访问。

Termux的安装配置就不再说了,实在不知道的可以去翻翻专栏前几篇文章。

一些准备工作

首先确保你的宽带拨号路由器支持ipv6,确认方法:

安装一下依赖包:

pkg install iproute2

获取Termux的IP6地址:

ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1


ping一下看看能不能通:

ping6 $(ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)


如果这两步都能成功,那么恭喜你的宽带和路由都完美至此ipv6,可以接着往下看了,如果不支持的话,(就不需要往下看了),可以考虑换个宽带或者路由器再来。

这里需要注意,二级路由是无法分配公网ipv6的,如果你是光猫拨号,然后lan-wan连接其他路由,那么这个路由器就无法为下属设备提供公网ipv6,建议光猫改为桥接或者lan-lan连接其他路由,或者使用光猫本身的WiFi功能

下面进入正题。

1. 登录dynv6获取域名

登录dynv6官网:https://dynv6.com/ ,点击Sign up 使用邮箱注册账号:

之后你的注册邮箱会收到一条验证邮件,点开它:

使用的是谷歌的人机验证服务,确保你能访问谷歌服务,如果你没有出现这个按钮,就是无法访问谷歌,网络问题自行解决:

通过验证后登录账号,点击My Zones免费申请一个域名:

按上图填写完成后点击Create Zene,申请成功,会自动跳转以下界面,页面拉到最下面,记下这两样东西:

2.在Tremux上配置域名解析

先安装依赖包:

pkg install curl -y

curl用来调用API向dnyv6传递ipv6地址。

① 手动向dnyv6传递IP地址

 curl --silent 'http://dynv6.com/api/update?hostname=域名&token=令牌&ipv6='$(ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)

其中域名和令牌是刚刚第一步最后让你记下的。如果一切正常的话应该能看见addresses updated的执行结果了:
如果没有结果输出,检查一下命令有没有复制错,令牌和域名有没有填写正确。

然后再次登录:https://dynv6.com/ ,依次点击My Zones -> 你的域名 -> Records,就能在下方看见刚刚传递的ipv6地址了。

此时ipv6的域名解析已经完成,试试用域名访问你的Termux服务试试:

噢噢噢!完美!

关于Nginx配置ipv6访问,教程在这:《Termux开发环境搭建——Nginx》

②设置开机自启及定时任务

安装基础组件:

pkg install termux-services

关于termux-services的使用方法,我在这里讲过了:Termux设置——服务自启动,有兴趣的可以自己去看看,这里就直接使用它了。

首先配置自动解析脚本:

mkdir -p $PREFIX/var/service/dynv6_ato
cd $PREFIX/var/service/dynv6_ato
vim $PREFIX/var/service/dynv6_ato/dynv6.sh

添加以下内容:

#!/data/data/com.termux/files/usr/bin/shtime=$3
token=$2
name=$1while true
docurl --silent  'https://dynv6.com/api/update?hostname='$name'&token='$token'&ipv6='$(ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1)echo -n "!\t"ip -6 addr list scope global |grep "inet6" | sed -n 's/.*inet6 \([0-9a-f:]\+\).*/\1/p' | head -n 1sleep $time
done

然后配置自启动脚本run:

vim $PREFIX/var/service/dynv6_ato/run

添加内容:

#!/data/data/com.termux/files/usr/bin/sh
exec 2>&1
exec $PREFIX/var/service/dynv6_ato/dynv6.sh 域名 令牌 同步间隔时间 2>&1

注意替换里面的域名 令牌同步间隔时间三个参数,间隔时间单位为秒,建议60~300

最后配置日志脚本:

mkdir -p $PREFIX/var/service/dynv6_ato/log
vim $PREFIX/var/service/dynv6_ato/log/run

添加以下内容:

#!/data/data/com.termux/files/usr/bin/sh
svlogger="/data/data/com.termux/files/usr/share/termux-services/svlogger"
exec "${svlogger}" "$@"

编写完三个脚本以后记得要给他们赋予其执行权限:

chmod +x $PREFIX/var/service/dynv6_ato/dynv6.sh
chmod +x $PREFIX/var/service/dynv6_ato/run
chmod +x $PREFIX/var/service/dynv6_ato/log/run

使自启动服务生效:

sv-enable dynv6_ato

重启Termux,过一段时间查看日志文件

cat $PREFIX/var/log/sv/dynv6_ato/current

在使用中发现,更新频率太高,时间久了日志文件就会变得十分臃肿,可以考虑添加一个清理日志的定时任务,这里我就不在说了。


快速导航
        

Termux解析公网ipv6——从全世界各地连接你的Termux相关推荐

  1. OpenWrt 软路由解析公网IPV6域名访问家庭NAS的问题答疑

    1.非要使用 Padavan 或者 OpenWrt固件的软路由才能IPV6公网访问吗? 答:这个并不是这样的,一般家用路由器都无法放行防火墙规则,这种情况当然无法实现IPV6公网访问,但是少部分路由器 ...

  2. 群晖设置公网ipv6方式域名解析访问

    1.环境说明 上网:电信光猫+tplink路由器(电信送的) 群晖:DSM 7.1.1-42962 Update 2 域名服务商:腾讯云 2.光猫设置 2.1 获取光猫超级用户密码 拨打电信10000 ...

  3. 家用移动光猫(型号:HS8545M5)利用公网ipv6对外提供公网服务。(100M的宽带,真香 )

    因为家里有空闲电脑,并且家里的移动宽带是100M. 想着自己的阿里云服务器才5M的带宽,这简直不是一个档次,阿里云服务器网速640k/s上限. 640k/s*20倍就相当于12M/s的网速.(太香了) ...

  4. 使用公网IPv6远程访问内网设备

    一.前言 IPv4公网IP一号难求的环境下,如何优雅的使用公网IPv6进行远程访问?本文将以中国移动的宽带和光猫为例,进行IPv6的设置说明,并实现通过IPv6地址和Windows系统自带的远程工具& ...

  5. 公网ipv6远程桌面

    使用了一段时间的公网ipv4,路由器获取的是公网ip,不定期变换.但是也就上海联通和电信有,换了上海移动就没有公网ip了.公网ip用脚本更新到自己的域名,再加上端口映射,访问家里的电脑是很方便的,不用 ...

  6. 家庭网络实现公网IPv6

    下一章:DDNS.开发了一个windows服务.桌面程序动态更新阿里云域名解析 目录 前言: 一 .思路/流程 二 .设备差异决定操作差异 三 .步骤1:网关 设置(电信) 1.登录网关​编辑 2.开 ...

  7. 家庭公网ipv6主机实现流量中转

    背景: 由于我的笔记本电脑是17.3寸的游戏本,比较重也挺大的,我们学校的插头资源也不是很多,所以随身携带的话不是很方便,但是我是计算机专业的,自习的时候难免需要用到电脑,所以寻找高质量远程控制电脑的 ...

  8. Docker部署ddns-go,动态域名解析公网IPv6地址

    Docker部署ddns-go,动态域名解析公网IPv6地址 ddns-go,自动获得你的公网 IPv4 或 IPv6 地址,并解析到对应的域名服务. 嫌IPv6地址太难记?ddns来解决,将家里的公 ...

  9. 获取移动公网IPV6(光猫桥接)

    修改移动光猫获取公网IP 自己网上淘了一个迷你主机装了一个Ubuntu系统放在家里,功率很低,最高只有9W左右,为了利用起来不得不弄个公网IP.但是移动的宽带太坑了,基本已经没有公网IpV4了,为了实 ...

最新文章

  1. bzoj1079: [SCOI2008]着色方案(DP)
  2. android 编译之后黑屏_android 模拟器用3.18的内核无法启动,一直黑屏。
  3. php mysql 随机字符串函数是,mysql生成随机字符串函数分享
  4. iOS初级开发笔记:Block回调,实现简单的绑定支付宝逻辑
  5. UA MATH567 高维统计I 概率不等式10 Bernstein不等式
  6. C++学生信息管理系统V1(课后作业)
  7. HDU 1069 Monkey and Banana 最长上升子序列进阶(动态规划)
  8. Chipscope使用
  9. Apache Velocity官方指南-资源
  10. 【elasticsearch】 基于_version进行乐观锁并发控制
  11. LINUX让环境变量立即生效的方法
  12. shiro安全框架 面试题
  13. 20211111C++练习总结
  14. android7.1修改默认休眠时间为1分钟
  15. 数据结构(C++版)校园导游咨询系统课程设计
  16. ios:新浪微博iphone客户端
  17. 这年头视频编辑软件也开始内卷了,功能这么强居然免费
  18. 考古表明陕西银沟遗址是目前仅见保存完好的唐宋县城遗址
  19. keil 对于 ERROR: FILE DOES NOT EXIST错误的解决办法
  20. 开始Python的新手教程

热门文章

  1. QBC 通过Heibernate查询 discriminator 配置的属性问题
  2. js字符串的拼接,用逗号隔开
  3. MacTex字体缺失 Error: The font “TeX Gyre Termes Math“ cannot be found.
  4. app上传到安卓各大市场
  5. 问题 C: 百头百脚
  6. 微信二维码图片长按没有出现“识别图中的二维码”
  7. 使用jQuery Mobile和Phone Gap开发Android应用程序
  8. 《复杂网络分析》习题及自我解答
  9. OpenGL中各种坐标系的理解
  10. PHP判断中文字符串的长度和字节长度