Arch Linux 使用桥接模式上网

如果我们想要将虚拟机与物理主机同一网段,并且像物理机器一样被其他设备访问,则需要以桥接模式上网,这个时候,物理主机就必须配置为使用网桥上网了。

注意:这里我们使用了 NetworkManager 网络管理工具中的 nmcli 来进行配置,因此先需要开启 NetworkManager 服务。

1. 添加网桥设备(br0)及连接名(br0)

bash 复制代码
$ nmcli c add type bridge autoconnect yes con-name br0 ifname br0

上面的命令完成了这几个操作:创建 br0(可以自定义) 网桥设备、创建 br0(可以自定义) 网络连接,将 br0 网桥设备 stp 设置为 on,可以通过 brctl show 查看网桥,可以通过 nmcli c show 查看网络连接。

2. 配置网桥的ipv4连接信息

1) 动态获取 ip 方式:

bash 复制代码
$ nmcli c modify br0 ipv4.method auto 

2) 静态设置 ip 方式(我的华为路由器默认是 192.168.3.0 网段):

bash 复制代码
$ nmcli c modify br0 ipv4.method manual ipv4.address 192.168.3.10 
$ nmcli c modify br0 ipv4.gateway 192.168.3.1
$ nmcli c modify br0 ipv4.dns 192.168.3.1

3. 删除原来的有线网卡连接(如果有的话)

bash 复制代码
$ nmcli c delete eno1

4. 绑定网卡连接到桥接设备

bash 复制代码
$ nmcli c add type bridge-slave autoconnect yes con-name eno1 ifname eno1 master br0

这里的网卡连接名为 eno1,网卡设备名为 eno1,桥接设备为 br0,如果 con-name 名字设置为网卡名字,则 ifname 还可以省略,也就是上面的语句可以省略写成:

bash 复制代码
$ nmcli c add type bridge-slave autoconnect yes con-name eno1 master br0

5. 重启 NetworkManager

bash 复制代码
$ systemctl restart NetworkManager

至此,主机用网桥方式上网设置成功,并能正常上网。可以通过 ip addr 查看 ip地址信息,发现网桥设备 br0 被赋予了 ipv4 地址,而 eno1 确实绑定至 br0 (master br0)的状态

bash 复制代码
$ ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000
    link/ether 38:2c:4a:b8:cf:f9 brd ff:ff:ff:ff:ff:ff
    altname enp0s25
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether aa:03:4d:ba:ce:a9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.103/24 brd 192.168.3.255 scope global dynamic noprefixroute br0
       valid_lft 85102sec preferred_lft 85102sec
    inet6 fe80::36c0:32b9:c068:161/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

而虚拟机系统网络连接也很简单,只需要将网卡设置为桥接设备,设备名称为主机桥接设备 br0 即可,如下图所示:

相关推荐
wdfk_prog5 小时前
Wi-Fi Direct教程 01:在 Ubuntu 搭建双 mac80211_hwsim + wpa_supplicant 2.12
linux·运维·服务器·ubuntu·ros·wifi-direct
Vcaker5 小时前
Linux学习36-k8s集群升级及kube-vip高可用
linux·运维·学习
skywalk81636 小时前
Deepseek harness的4种模式 配置文件内容
linux·人工智能·ubuntu·deepseek·harness
沫璃染墨6 小时前
《从零入门Linux系统篇(五十一):线程篇·四——pthread线程库详解:从线程创建到终止与分离》
linux·运维·服务器·开发语言·c++·系统架构·线程
YYRAN_ZZU6 小时前
GMSL开发加解串配置介绍
linux·嵌入式硬件
云计算练习生7 小时前
什么是上下文切换?进程切换时 CPU 到底在保存什么
linux·服务器·操作系统·进程切换
用户0510122572967 小时前
RGA(二)——RK3588 的核拓扑与能力差异
linux·嵌入式
用户0510122572967 小时前
RGA(一)——基础知识
linux·嵌入式
qetfw7 小时前
Debian 综合服务实训:Apache2、Samba、LDAP、vsftpd 与 OpenVPN
linux·服务器·debian
用户0510122572967 小时前
RGA(三)——实宽高、虚宽高与对齐约束
linux·嵌入式