Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

从一次异常断网谈防火墙配置 :: Colinx Blog — Colin的个人博客 #18

Open
Colin-XKL opened this issue Nov 23, 2021 · 0 comments

Comments

@Colin-XKL
Copy link
Owner

https://blog.colinx.one/posts/%E4%BB%8E%E4%B8%80%E6%AC%A1%E5%BC%82%E5%B8%B8%E6%96%AD%E7%BD%91%E8%B0%88%E9%98%B2%E7%81%AB%E5%A2%99%E9%85%8D%E7%BD%AE/

序 十分钟前,突然发现手边的电脑上的 QQ 突然变灰,多次重新登陆均失败。而当前打开几个百度的网页均未出现异常。但点击几个搜索结果均显示打不开网页。一分钟后,iPad 播放的音乐也突然停止。尝试 Ping 局域网的网关和树莓派均失败。而路由器仍然显示网络连接正常,手机端仍可以正常上网,断网前半个小时内我是没有对路由器和承载着众多服务的树莓派进行任何改动的。初步查看,发现电脑网卡的 ip 变为169.254开头的 IP,而内网 IP 之前一直用的是192.168.1.*。现在电脑和路由器192.168.1.1以及绑定了这个网段静态 IP 的树莓派都不在同一个网段内,自然是无法访问的。那么为什么会分配到这样的 IP 地址呢?
简单查询得知,这样的 IP 属于保留的 IP 地址段,用于在无法 DHCP 获取 IP 时自己给自己分配一个 IP。这样分配得来的 IP 自然是不能正常使用的。而此前局域网的 DHCP 被我的树莓派承包了,那么首要任务是查看树莓派的 DHCP 服务是否正常运行。
排错三步走 虽然树莓派之前绑定的 IP 地址无法 ping 通,但庆幸的是,通过主机名依然可以访问到局域网内树莓派,不过此时链接的是 IPv6。IPv6 作为 IPv4 的升级版,在很多方面都有所不同,局域网 IP 地址的分配和 IPv4 的 DHCP 走的并不是同一个路子。之前为了将树莓派的 DNS 用于家庭局域网,而家里的移动光猫上并不能修改 IPv4 DHCP 的 DNS 信息,无奈只能禁用路由器的 IPv4 DHCP 转而使用 AdGuardHome 内置的 DHCP 服务器。而 IPv6 的 DHCP 分为两个部分:
内网的,分配的 IPv6 地址一般以fe80开头,这种地址仅用于内网访问。 公网的,IPv6 的地址容量之大足以为地球上的每一粒沙子分配一个独一无二的 IPv6 地址,而这对于现今地址池即将枯竭的 IPv4 是根本无法想象的。 由于要分配的公网 IPv6 地址是要由路由器从公网获取一个前缀然后再为局域网的每个支持 IPv6 的设备分配地址,这一项任务不能由内网的树莓派代劳,所以当时就没有改动,没想到现在竟然成了救命稻草。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant