参考资料
- IPv6详解,访问家庭内网设备,保护网络安全,IPv6发展得怎么样了?IPv6发展了这么多年,为什么依旧难以普及?
目录
- 一. 前置知识
- 1.1 家庭设备介绍
- 1.2 ipv6知识介绍
- 二. 路由器设置
- 2.1 拨号上网
- 2.2 `开启ipv6功能`与`关闭网络防火墙`
- 2.3 ipv6的查看与测试
- 三. 域名访问家庭小主机
- 3.1 申请域名与DNS解析
- 3.2 申请Cloudflare的api令牌
- 3.3 ddns-go的安装与配置
一. 前置知识
1.1 家庭设备介绍
- 家庭使用联通宽带
- 华为路由器AX3
- 家庭小主机安装了Ubuntu系统
1.2 ipv6知识介绍
🔷ipv6地址有一些缩写规则,
- 每个分组开头的一个或者多个0可以省略,但是每组必须保留一个16进制数字
- 多组连续的0可以使用双冒号
::代替 - 但是双冒号
::只能使用一次,如果多次使用就无法复原双冒号的具体长度,所以会导致歧义
- ipv6地址后面接端口号的时候,需要先使用方括号把ip地址包裹起来
- 避免端口号的冒号和ip地址中的冒号产生混淆
- 通常2或者3开头的地址是ipv6的公网ip地址
- f开头的则是局域网地址
::1类似于ipv4的127.0.0.1的本地环路地址
- ipv6地址斜杠后面的数字表示前缀长度,表示前缀多少位(bit)
- 前缀类似于ipv4的子网掩码,是用来划分子网区域的
- IPv6 地址一共 128 位(bit),也就是 128 个二进制位
- 下图中的
/64表示网络前缀长度为64位,表示整个家庭的子网,是由运营商分配的,用户是没有权限去修改的。 - 后面的64位则可以由用户自由支配,用户可以使用后64位生成很多个ipv6地址,然后给家庭中的每个设备都分配一个。
- 下图中的
- 如果前缀小于64位,中间空出来的这部分叫
子网ID - 可以自由分配这些子网ID,划分出多个子网
- 如果前缀长度大于64位,就会挤占后面的接口ID,也就减少了用户可以自由分配的IP地址数量。
- 所以,运营商分配给用户的前缀应该是越短越好。前缀越短,意味着用户可以自由分配的ip地址越多。
二. 路由器设置
2.1 拨号上网
🔷首先联系联通的工作人员,让其远程将光猫改为桥接模式。
※网上部分教程会提到使用联通的超级管理员进入光猫之后,自己手动改为桥接模式。
※联通的政策,各地区并不相同,笔者所在的地区需要联通工作人员远程修改。
🔷登录华为路由器,将上网方式改为宽带账号上网(PPPoE)
2.2开启ipv6功能与关闭网络防火墙
🔷关闭网络防火墙。经测试,开启防火墙的话,无法远程连接到家庭小主机。
2.3 ipv6的查看与测试
🔷可以看到运营商分配给路由器的ipv6地址
🔷通过https://test-ipv6.com/index.html网站可以查看当前网络对ipv6的支持情况。
三. 域名访问家庭小主机
🔷运营商分配给用户的ip6地址有可能会发生变化,每次都确认的话十分麻烦,因此通过域名的方式去访问家庭小主机。
可以在小主机上安装ddns-go,它会自动获得你的公网 IPv4 的 IPv6 地址,并解析到对应的域名服务。
3.1 申请域名与DNS解析
关于域名申请的相关事项,请参考这篇文章 ⇒ Linux 域名申请与DNS解析
3.2 申请Cloudflare的api令牌
3.3 ddns-go的安装与配置
🔷Github官网:https://github.com/jeessy2/ddns-go
uname -m⇒x86_64
- 下载解压之后,得到
ddns-go文件 - 然后安装
mkdir-p/opt/ddns-gocp./ddns-go /opt/ddns-go/ddns-gochmod+x /opt/ddns-go/ddns-gosudo/opt/ddns-go/ddns-go-sinstall- 通过本地址的
http://ipv4地址:9876/访问web网页版进行配置- 添写在
Cloudflare上申请到的api令牌 - 选择ipv6,通过网卡进行访问,然后添加域名
- 此处可以填写子域名,可以为每一个设备都添加一个子域名,便于区分
- 添写在
- 当ddns-go通过网卡检测到小主机的ipv6地址发生变化时,会通过
Cloudflare上申请到的api令牌修改对应域名的DNS解析记录,从而实现通过域名访问到小主机。
- 下图是访问效果