建立一个网桥 Fedora

如今,网络交换机很常见。 您甚至可以找到很多专为家庭使用而设计的产品。 但是你也可以使用网桥构建一个虚拟交换机 Fedora.

这最常用于将虚拟访客连接到网络而不会落后 网络地址解读 (NAT),但也可用于将系统菊花链连接在一起。

网桥是结合了多个网络适配器的网络连接。 通过这种方式,通过不同适配器连接的设备可以相互通信,就像直接连接到普通网络交换机一样。 该软件开关是更复杂技术的基础,例如 打开交换机.

由于交换机是纯软件的,因此避免意外创建循环(物理或虚拟)很重要,如果 生成树协议 (STP) 被禁用。 否则,系统很可能会在 100% 的 CPU 使用率时出现瓶颈,并且响应速度非常慢,甚至会停止运行。

从 bridge-utils 弃用继续

之前

brctl

来自

桥接工具

包用于创建和操作桥接虚拟接口。 然而这是 不久前弃用 并已被

iproute2

大多数方面的工具套件。

要创建新网桥,请使用以下命令:

$ ip link add br0 type bridge

在此刻,

ip链接

将显示存在的网络接口,但处于关闭状态,因为没有连接到它的接口:

3: br0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
 link/ether 12:bb:3a:9c:02:33 brd ff:ff:ff:ff:ff:ff

然后,您可以将物理网络接口添加到网桥。 这样做时请务必不要意外切断远程连接! 这些命令添加

eth0

eth1

与刚刚创建的网桥的接口。

$ ip link set eth0 master br0
$ ip link set eth1 master br0

现在,您可以在桥接主机上创建一个 IP 地址,以便在网络上对其进行寻址:

$ ip address add 192.168.1.100/24 dev br0

如果您想查看网桥的配置,请使用以下命令:

$ ip -d link sh br0
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
 link/ether 52:54:00:4b:c5:95 brd ff:ff:ff:ff:ff:ff promiscuity 0 
 bridge forward_delay 1500 hello_time 200 max_age 2000 ageing_time 30000 stp_state 0 priority 32768 vlan_filtering 0 vlan_protocol 802.1Q addrgenmode eui64

使用更改网桥的配置

ip桥链接集

或者

ip链接集

可用于大多数方面。 一些生成树配置要么需要通过

brctl

或通过

过程

界面。

$ brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.5254004bc595 no ens3

echo 1 >  /sys/class/net/br0/bridge/stp_state

$ brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.5254004bc595 yes ens3

虽然这些命令将正确设置网桥,但网络设置不会持久。 换句话说,当您重新启动系统时,您必须重新设置网桥。

持久网桥配置

假设要连接到网桥的网络适配器之一是

eth0

. 您可能希望首先备份配置文件。

$ sudo cp /etc/sysconfig/network-scripts/ifcfg-eth0 /root/

现在,为网桥创建一个配置文件

br0

具有以下内容,如

/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
IPADDR=192.168.1.100
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none

调整配置

eth0

网络适​​配器如下,如

/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
TYPE=Ethernet
HWADDR=AA:BB:CC:DD:EE:FF
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0

对于要添加到网桥的每个附加网络适配器,相应地调整配置文件。 重新加载 NetworkManager 时,将创建网桥并链接到它的接口。

这可以通过脚本编写

nmcli

工具也是。

$ nmcli connection add ifname br0 type bridge con-name br0
$ nmcli connection add type bridge-slave ifname eth0 master br0

nmcli

工具在进行更改时将更改持久保存到磁盘,并且可用于处理 STP 之类的事情,而无需切换到不推荐使用的命令或冒险进入

/proc

.

$ nmcli connection modify br0 bridge.stp no

图片礼貌 约翰尼·林最初发布到 不飞溅 作为 连接. 特别感谢 帕特里克·尤特维克 和 James Hogarth 帮助编辑和审阅本文。