ubuntu网络配置比较复杂,经过多次试错及验证,将目前正确的网络配置记录下来。
物理连接:
笔记本通过网线直连开发板,笔记本通过扩展坞增加了一个网口,网线插扩展坞上与开发板连接。

以太网2 就是扩展坞的网线。
虚拟机中需要配置两个网络适配器,如下:





windows的IP是192.168.1.200,ubuntu的IP是192.168.1.101,开发板的IP是192.168.1.100。
注意电脑的IP设置,默认网关留空,不写。

上面配置完后,再按照下面配置ubuntu和开发板的IP,就能ping通了。


ping通后,想上电后能自动生效,开发板进行如下设置
第一步:立即恢复网络(临时生效)
通过 adb shell 登录开发板,执行以下命令(确保网线插在 eth1 上):
bash
ip addr flush dev eth1 ip addr add 192.168.1.100/24 dev eth1 ip link set eth1 up
然后测试:
bash
ping 192.168.1.200 # Windows ping 192.168.1.101 # Ubuntu
如果通,说明网卡正常,我们继续固化。
📌 第二步:处理旧的 rc.local
既然方案一(加延时)不可行,建议你将 /etc/rc.local 恢复为默认,避免干扰新方案。你可以这样操作:
bash
vi /etc/rc.local
将内容改为:
text
#!/bin/sh -e exit 0
保存退出。
第三步:实施方案三(自定义 init 脚本)
创建 /etc/init.d/S99static_ip,内容如下(注意大小写和路径):
bash
#!/bin/sh
case "$1" in
start)
sleep 5
ip addr flush dev eth1 2>/dev/null
ip addr add 192.168.1.100/24 dev eth1
ip link set eth1 up
;;
stop)
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
exit 0
操作步骤:
-
创建并写入内容:
bash
vi /etc/init.d/S99static_ip
粘贴上述内容(按
i进入插入模式,粘贴后按ESC,输入:wq保存)。 -
赋予执行权限:
bash
chmod +x /etc/init.d/S99static_ip
-
验证脚本是否会被执行(重启后)。为了确认,可以添加日志记录,在
start部分增加echo "S99static_ip executed" > /tmp/static_ip.log。但这不是必须的。 -
重启开发板:
reboot 可以ping通。
ubuntu的操作:
Ubuntu(虚拟机)固化 ens33 的 IP
Ubuntu 目前主流使用 Netplan(新版本)或 /etc/network/interfaces(旧版本)。请先确认你用的是哪种:
bash
ls /etc/netplan/
-
如果该目录下有
.yaml文件(如01-netcfg.yaml),则使用 Netplan 方法。 -
如果该目录为空或不存在,则使用 /etc/network/interfaces 方法。
方法 A:使用 Netplan(推荐,适用于 Ubuntu 18.04+)
-
编辑配置文件(通常为
/etc/netplan/01-netcfg.yaml):bash
sudo nano /etc/netplan/01-netcfg.yaml
-
在
network下的ethernets部分,为ens33添加静态 IP 配置,注意不要影响 ens37(NAT)。示例如下:yaml
network: version: 2 ethernets: ens33: addresses: - 192.168.1.101/24 # 不要设置网关,以免干扰上网 nameservers: {} # 如果有需要可添加 DNS,一般不需要 ens37: dhcp4: true # 保持 NAT 网卡自动获取 -
保存文件,然后应用配置:
bash
sudo netplan apply
方法 B:使用启动脚本(如果 interfaces 方法不支持)
如果你的开发板没有 /etc/network/interfaces,可以将配置命令加入启动脚本,例如在 /etc/rc.local 中 exit 0 之前添加:
bash
ifconfig eth1 192.168.1.100 netmask 255.255.255.0 up
并确保 /etc/rc.local 可执行。
重启 Ubuntu 或开发板后,再次执行 ifconfig 检查 IP 是否自动生效。
2826

被折叠的 条评论
为什么被折叠?



