在Ubuntu20上创建桥接网络和虚拟机

2022-05-30 14:28:19 浏览数 (1)

1) 网络管理相关命令

之前常用的包含在 net-tools 工具包里的命令 ifconfig、netstat 已经被 iproute2 工具包里的 ip 等命令所取代,以后应当尽量使用新命令。

代码语言:javascript复制
ip link show
ip link show eth0
ip link set eth0 up|down

ip addr show
ip addr show eth0
ip add add|del 192.168.0.99/24 eth0

ip route
ip neigh

ss -l
ss -a

lsof -i // -i 网络 -u 用户  -p 进程ID -c 进程名

2) Ubuntu 网络管理

如果是 Ubuntu Desktop 环境,就不妨使用 NetworkManager 和 nm-connection-editor 这些 GUI 程序来管理网络及设备。

如果是 Ubuntu Server 环境,还是用 netplan 和 systemd-netword 比较好。

下面的命令是操作相关服务所用的命令,其中 enable/disable 用于设置是否开机启动而 mask/unmask 则用于设置服务是否可用。

代码语言:javascript复制
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager
sudo systemctl mask NetworkManager

sudo systemctl unmask systemd-networkd.service
sudo systemctl enable systemd-networkd.service
sudo systemctl start systemd-networkd.service

3)创建网桥、虚拟机,设置虚拟机桥接网卡。

实验环境使用 Ubuntu20 Desktop 做宿主机,感觉用 nm-connection-editor 创建网桥、配置网桥出口也很方便、顺利。具体步骤可参考http://www.zrway.com/news/8366.html。

下图是通过 nm-connection-editor 创建出网桥,并把物理网卡插到这个网桥上。注意,把网卡作为网桥的 salver 设备之后,需要通过 GUI 删除这个网络网卡。

通过 virt-manager 创建出虚拟机后,需要设置虚拟机的网卡。这里有个 QEMU 前端设备、后端后端设备(backend network)的概念。所谓前端设备就是 Guest 虚拟机看到的设备,后端设备、后端网络就是在 Host 宿主机上的设备、网络。下图实际上大致对应这样的命令:qemu -net nic,model=e1000 -net bridge,br=bridge1 ...

下图是/etc/netplan 目录里的配置文件。

参考:

netplan: https://ubuntu.com/blog/ubuntu-bionic-netplan

图形化管理工具:https://ubuntu.com/core/docs/networkmanager

网络管理服务: https://www.configserverfirewall.com/ubuntu-linux/ubuntu-network-manager/

创建网桥:http://www.zrway.com/news/8366.html

0 人点赞