BLFS Networking Programs
bridge-utils
bridge-utils
是创建和管理bridge设备的工具
内核设置
内核需要编译支持 802.1d Ethernet Bridging
:
内核支持
802.1d Ethernet Bridging
[*] Networking support ---> [NET]
Networking options --->
<*/M> 802.1d Ethernet Bridging [BRIDGE]
安装
安装 bridge-utils
cd /sources
bridge_utils_VERSION=1.7.1
tar xf bridge-utils-${bridge_utils_VERSION}.tar.xz
cd bridge-utils-${bridge_utils_VERSION}
autoconf &&
./configure --prefix=/usr &&
make
make install
bridge配置 br0
为了实现bridge的自动创建和配置,安装 blfs-bootscripts-20240416
中的 /usr/lib/services/bridge
服务,然后配置一个初始化 br0
虚拟交换机:
构建
br0
虚拟交换机cd /sources/blfs-bootscripts-20240416
# 安装 /usr/lib/services/bridge 服务
make install-service-bridge
# 以下执行命令在 eno1 网络设备上创建一个连接网桥,实际执行时按照具体情况调整接口和IP配置
# 如果要对多个设备,则在 INTERFACE_COMPONENTS 使用空格分隔列表
# 使用多个SERVICE也是可行的,例如 SERVICE="bridge dhcp"
cat > /etc/sysconfig/ifconfig.br0 << "EOF"
ONBOOT=yes
IFACE=br0
VIRTINT=yes
SERVICE="bridge ipv4-static" # Space separated
IP=192.168.7.200 # 这个IP地址是eno1原先分配给网卡的静态IP
GATEWAY=192.168.7.101
PREFIX=24
BROADCAST=192.168.7.255
CHECK_LINK=no # Don't check before bridge is created
STP=no # Spanning tree protocol, default no
INTERFACE_COMPONENTS="eno1" # Add to IFACE, space separated devices
IP_FORWARD=true
EOF
# 由于 br0 替代了 eno1 的IP通讯,所以这里还要执行一步移除 eno1 配置(备份在自己的HOME目录)
mkdir ~/backup
mv /etc/sysconfig/ifconfig.eno1 ~/backup/
# 重启系统
重启系统以后检查 ifconfig
输出,可以看到新增了一个 br0
虚拟机交换机,并且和 eno1
连接:
重启系统后检查
# ifconfig
br0 Link encap:Ethernet HWaddr 94:57:A5:5A:D9:C0
inet addr:192.168.7.200 Bcast:192.168.7.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:130 errors:0 dropped:0 overruns:0 frame:0
TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15594 TX bytes:18023
eno1 Link encap:Ethernet HWaddr 94:57:A5:5A:D9:C0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:114 errors:0 dropped:0 overruns:0 frame:0
TX packets:132 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:16202 TX bytes:17547
Interrupt:16
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 TX bytes:0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.9457a55ad9c0 no eno1
备注
手工配置也可以参考 QEMU简单bridge网络设置
使用
wget
安装 wget
cd /sources
wget_VERSION=1.24.5
tar xf wget-${wget_VERSION}.tar.gz
cd wget-${wget_VERSION}
./configure --prefix=/usr \
--sysconfdir=/etc \
--with-ssl=openssl &&
make
make install