网桥相当于一台虚拟交换机,你可以把自己的网卡绑定在虚拟交换机上,并把其他接口(比如虚拟机的网络)桥接到这个网卡上面来,相当于大家都是在一个内网里面。
创建网桥方法, 以 Redhat 系为例。
使用 nmtui 创建网桥
- 删除网卡配置文件
可以到 /etc/sysconfig/network-scripts/
里面删除 ifcfg-
开头的配置
- 使用 nmtui 创建网桥,并将网卡设备绑定到网桥, 一般关闭生成树协议(STP)
- 检查
/etc/sysconfig/network-scripts/
里面有没有多余的配置文件,有的话需要删除以免冲突
- 网卡和网桥都需要开机自启动
使用配置文件创建网桥
生成 uuid cat /proc/sys/kernel/random/uuid
或者 uuidgen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| #!/bin/bash set -euf -o pipefail
BRIDGE_UUID=$(uuidgen) BRIDGE_NAME=br13 NET_UUID=$(uuidgen) NET_DEVICE=ens33
cat >/etc/sysconfig/network-scripts/ifcfg-${NET_DEVICE} <<EOF TYPE=Ethernet NAME=${NET_DEVICE} UUID=${NET_UUID} DEVICE=${NET_DEVICE} ONBOOT=yes BRIDGE=${BRIDGE_NAME} BRIDGE_UUID=${BRIDGE_UUID} EOF
cat >/etc/sysconfig/network-scripts/ifcfg-${BRIDGE_NAME} <<EOF STP=no BRIDGING_OPTS=multicast_snooping=0 TYPE=Bridge PROXY_METHOD=none BROWSER_ONLY=no IPV6INIT=no NAME=${BRIDGE_NAME} UUID=${BRIDGE_UUID} DEVICE=${BRIDGE_NAME} BOOTPROTO=dhcp ONBOOT=yes EOF
|
使用配置文件创建 bond 并绑定网桥
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| #!/bin/bash
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eno1 TYPE="Ethernet" BOOTPROTO="none" DEVICE="eno1" ONBOOT="yes" MASTER=bond0 SLAVE=yes EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eno2 TYPE="Ethernet" BOOTPROTO="none" DEVICE="eno2" ONBOOT="yes" MASTER=bond0 SLAVE=yes EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 TYPE=Bond ONBOOT=yes BONDING_OPTS="downdelay=0 updelay=0 miimon=100 mode=802.3ad xmit_hash_policy=1" BRIDGE=br13 BONDING_MASTER=yes NAME="bond0" EOF
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-br13 DEVICE=br13 TYPE=Bridge ONBOOT=yes BOOTPROTO=dhcp STP=no BRIDGING_OPTS=multicast_snooping=0 PROXY_METHOD=none BROWSER_ONLY=no DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no NAME=br13 EOF
|