先说明,我遇到的情况属于极端中的极端...应该是解决不了别人的任何问题的
今天远程家里电脑,准备把hosts复制到新系统的时候遇到了个奇葩的问题,hosts文件是空的...???? 但是明明/etc/hosts
文件中没有记录, 却依旧可以ping到ip! 这尼玛咋回事...
而且hostname后面还诡异的加了个.localdomain, 怀疑linux还有别的地方可以修改hosts,然后就开始各种百度谷歌,硬是找了半个下午,没找到!
tw不知道为啥,远程又开始抽风,各种卡,于是决定用ssh直接排查,就不用鼠标在哪慢慢点了。
ssh, 启动!(这里是利用接入了frp的nas作为跳板,先ssh到nas,再ssh到ubuntu上。)
emmmmmmm, 这个IP好像是有点怪异, 看了一眼虚拟机配置, 用的是NAT....这个IP是母鸡分配的...好吧, 虚拟机关闭! 网络切换到桥接模式, 获得IP: 192.168.7.8
emmmm??? 怎么又ping不通了...然后瞬间来了灵感..
问题就在这NAT上...其实之前ping的时候已经提示过了, 有个.localdomain
, 因为NAT的网络请求是虚拟机 → 母鸡 → 路由器
, 当虚拟机中hosts没有命中的时候, 网络就会走到母鸡这一层...然后这个vsa, 在我母鸡上有配置hosts!所以就直接命中了! 最后看起来的结果就是明明ubuntu上没有设置hosts, 却可以命中...
妈也,一直以为linux还有别的地方可以修改hosts,结果把自己坑了。