问题的提出:在嵌入式工作场景中,存在海量分布式设备的接入,每个设备都有自己的ip,但我们的出场ip和mac都是相同的,那么应该怎么呢?
由于存在Linux操作系统,因此我们只需要在根文件系统中配置即可。
1、修改/etc/network/interfaces文件
bash
sudo nano /etc/network/interfaces
2、修改ip与mac配置
(1)静态地址
bash
# 本地回环接口
auto lo
iface lo inet loopback
# 物理网卡 eth0 使用静态 IP
auto eth0
iface eth0 inet static
address 192.168.137.61
netmask 255.255.255.0
gateway 192.168.137.1
dns-nameservers 8.8.8.8 114.114.114.114
# 如需修改 MAC,添加下面行:
hwaddress ether 00:11:22:33:44:55
(2)动态地址
bash
# 本地回环接口(固定格式)
auto lo
iface lo inet loopback
# 物理网卡 eth0 使用 DHCP
auto eth0
iface eth0 inet dhcp
hwaddress ether 00:11:22:33:44:55
3、保存配置
bash
# 1. 关闭 eth0 接口
sudo ip link set eth0 down
# 2. 删除所有 IP 地址(包括 IPv4 和 IPv6)
sudo ip addr flush dev eth0
# 3. 删除所有路由表条目(针对该接口)
sudo ip route flush dev eth0
# 4. 如果有邻居(ARP)缓存残留,也可清空(可选)
sudo ip neigh flush dev eth0
# 5.确保后台没有动态网络
sudo pkill dhclient
# 6.启动网络
sudo ifup eth0
# 7.重启
reboot
4、注册为开机服务
bash
# 取消屏蔽
sudo systemctl unmask networking
# 设置为开机自启
sudo systemctl enable networking
# 立即启动(测试是否能正常启动)
sudo systemctl start networking
# 重启验证
reboot