问题
基于 rk3568
芯片编译了一个 debian
系统上,想要配置静态 IP
,直接在 /etc/network/interfaces.d/
下创建了文件,然后编写了配置:
1 | auto eth0 |
结果使用 ip addr
查看的时候,发现 eth0
下存在两个 inet
。尝试内网 ping
这个 ip
是通的,但是访问外网的时候发现哒咩。
猜测,要么就是配置文件写错了,要么就是有内鬼……
解决
错误方案
尝试把
auto eth0
关掉,还是不行。再检查了一下配置文件,觉得没错;怀疑是
NetworkManager
自作主张,给整出来的幺蛾子,直接用systemctl disable
了,还是不行;stack overflow
上有老哥说要去/etc/sysconfig/network
下修改网卡配置,显然不是同一个发行版,别说文件了,连那个目录都不存在;
正解
于是怀疑是否是 dhcpcd
这要老哥给整的,用 systmctl status dhcpcd
,实锤~~。log
里明明白白写着 rebinding
然后就从同一个冲突域下的另一个路由器上拿了个 ip
过来。
PS. 以后开发环境的网络也得小心,能用三层交换机隔离开就别拿个二层路由凑合,前前后后折腾将近1h才解决……
后记
以后还是用 nmcli
来配置网络好些,用这个工具可以直接看到当前网卡上的配置,以及查看修改后配置是否生效,这次就是默认走了dhcp拉回来的那个,导致访问不了外网。
1 | nmcli connectiion show eth0 |