Ubuntu-20.04双网卡上网配置
更多资料下载,冲击月薪过万,一线经验工程师录制,
干货满满的嵌入式视频教程,请点击淘宝店:wanglitao.taobao.com
使用qemu启动仿真一个虚拟开发板后,Ubuntu就不能上网了,这是因为我们的Ubuntu主机只有一块网卡,qemu启动后和虚拟开发板建立了连接,进行通信(挂载NFS根文件系统),所以Ubuntu也就无法连接互联网上网了。解决办法有两个:一是关掉qemu,重新配置一下网卡,让Ubuntu重新联网;二是在虚拟机上再添加一块网卡,一个网卡和开发板连接,一个网卡用来连接互联网。在虚拟机上添加一块网卡零成本,我们当然选择第二种,方法如下:
01 关闭虚拟机,重新打开,选择:编辑虚拟机设置
02 按照下面图示,添加一张网卡,为了方便,网络连接选择NAT即可
添加好网卡后,重新启动虚拟机,很多朋友使用 ifconfig 命令时可能发现,新添加的网卡无法识别出来,只能识别一个网卡ens33,我们还需要配置文件,参考第03步:
03 修改配置文件
/etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
ens34:
dhcp4: yes
bridges:
br0:
dhcp4: yes
interfaces:
- ens33
在这个配置文件中,我们配置了两个网卡:其中ens33用来和开发板建立桥接通信,ens34用来和我们的电脑连接上网。配置好后,运行以下命令,让配置文件生效:
# netplan apply
# ifconfig
ntu:/home/zhaixue/Desktop# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.230.149 netmask 255.255.255.0 broadcast 192.168.230.255
inet6 fe80::20c:29ff:fed0:7b22 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d0:7b:22 txqueuelen 1000 (Ethernet)
RX packets 1352 bytes 99827 (99.8 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 244 bytes 24557 (24.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 00:0c:29:d0:7b:22 txqueuelen 1000 (Ethernet)
RX packets 2562 bytes 1079828 (1.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 244 bytes 24929 (24.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens34: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.230.144 netmask 255.255.255.0 broadcast 192.168.230.255
inet6 fe80::20c:29ff:fed0:7b2c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:d0:7b:2c txqueuelen 1000 (Ethernet)
RX packets 1974 bytes 1020895 (1.0 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 422 bytes 37252 (37.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 147 bytes 12325 (12.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 147 bytes 12325 (12.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
此时,和开发板通信的桥接网口br0,连接互联网的网口ens34都已经配置成功且分配了IP地址。
04 重新启动qemu,ping命令测试
重新启动/home/tftpboot/boot-nfs.sh脚本启动虚拟开发板,然后使用ping命令测试,Ubuntu和虚拟开发板正常通信(挂载NFS根文件系统),Ubuntu也可以正常上网了,配置完成。
不用买开发板,使用QEMU就可以学习的Linux内核开发实战视频教程:《Linux内核编程》,具有一线芯片原厂开发经验的驱动工程师录制,详情点击:王利涛老师个人淘宝店:Linux内核编程