如今,网络交换机很常见。 您甚至可以找到很多专为家庭使用而设计的产品。 但是你也可以使用网桥构建一个虚拟交换机 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 帮助编辑和审阅本文。