最近在 树莓派 上做东西,有几张SD卡需要来回切换。使用 ssh 经常遇到IP变掉的事。
系统是通过 Systemd-networkd 来进行IP管理的。
因为半年前做的功能是通过修改 dhcpcd 的配置文件 /etc/dhcpcd.conf ,重启服务 systemctl restart dhcpcd ,重启网卡 ip link set eth0 down 和 ip link set eth0 up 来进行设备的动态IP和静态IP设置管理。
所以继续通过修改DHCP配置文件 /etc/dhcpcd.conf 来设置固定IP:
在文件后面添加上面内容,命令 systemctl start dhcpcd 启动dhcpcd服务就可以正常设置静态IP了,需要动态IP只需要删掉添加的内容就行。
使用 ip addr 看会有两个IP,命令 systemctl disable systemd-networkd 和 systemctl enable dhcpcd 设定开机启动项。重启就可以了。
你原来的网络是需要自己拨号的,但是拨号你也只能拨一次,虚拟机可以上网是因为有 NAT 做了地址转换,而你的开发板是直连路由,你不可能再拨一次号,这时是无法联网的。可行的办法是:启用无线路由的路由、PPPoE、NAT 功能(前提是你的路由支持,具体请查看其说明书),让路由器拨号,为其连接的内网设备提供地址转换路由。
开启路由共享后,这时你的虚拟机就可以换回“桥接”了,否则它和主机、开发板不在同一网段,要访问它就要做端口映射。主机就不用再拨号了,适当配置下 IP(与路由器的管理 IP 在同一网段,网关都指向管理 IP,有 DHCP 也可以用“自动获取”),三台设备开机就能上网了。
不过ARM开发板我没接触过,不知道会不会有什么影响。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)