arch-aio 的 virt-manager上配置桥接网络

本文基于 arch-aio,如果你是其他系统,请先处理好相关依赖。

未完成

# 查看

1
2
3
cat /etc/qemu/bridge.conf
--------------
allow virbr0

virbr0 是自动创建的,并不能完成虚拟机 映射到外网
继续查看其他情况

1
2
ip a
sudo brctl show 

判断出来物理口是 enp1s0

# 安装 networkmanager

我这里还是选用传统的networkmanager来处理,感觉更简单无脑一些。

1
2
3
pacman -S networkmanager
systemctl enable NetworkManager
systemctl start NetworkManager

# 配置桥接br0

根据你的实际情况修改ip网关dns等

1
nmcli connection add type bridge ifname br0 con-name br0 ipv4.addresses 10.1.1.1/24 ipv4.gateway 10.1.1.254 ipv4.dns 114.114.114.114 ipv4.method manual

我这里还是打算用dhcp所以执行下面的

1
nmcli connection add type bridge ifname br0 con-name br0

# 桥接网卡子网卡 关联物理卡

1
nmcli connection add type bridge-slave con-name br0-slave1 ifname enp1s0 master br0 

# 开启

1
2
3
4
nmcli connection up br0-slave1 
nmcli connection up br0
nmcli connection show 
# systemctl restart NetworkManager

此时网络会断开,原来ip无法连接,可以使用br0上的ip 重新连接。 如果是dhcp 可以从路由器看到多分配到br0上的ip。
重启 NetworkManager 后,或者重启物理机器后,两个ip都可以连接。

# 后续可选处理

关闭br0的stp
禁止物理卡开机启动 可以避免要占用两个ip的问题

# 开启ip4转发

1
2
3
4
sysctl net.ipv4.ip_forward=1
nano /etc/sysctl.d/99-sysctl.conf
--------
net.ipv4.ip_forward = 1

# 加载tun

1
2
3
4
modprobe tun
nano /etc/modules-load.d/tun.conf
-------------
tun

# 恢复之前的操作(未经测试)

1
2
3
4
5
6
sudo ip link set br0 down
sudo brctl delif br0 enp1s0
sudo ip link set enp1s0 down
sudo ip link set up enp1s0 #重启物理网卡
sudo ip link set dev br0 down #关闭 删除br0
sudo brctl delbr br0

参考文章:

https://wiki.archlinux.org/title/Network_bridge

https://blog.csdn.net/qq_42197548/article/details/120655449

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计