[quote][size=2][url=forum.php?mod=redirect&goto=findpost&pid=132525&ptid=27927][color=#999999]anxinnetwork666 发表于 2025-6-12 08:27[/color][/url][/size]
我要给这四个口作为交换机使用,无解了?[/quote]
创建两个服务,一个开机自动添加网口到网桥,第二个监测网桥状态,确保端口存在,参考:
服务1:
[Unit]
Description=Add enp3s0 to OVS Bridge after creation
After=openvswitch-switch.service
Requires=openvswitch-switch.service
明确等待网桥创建
ConditionPathExists=/sys/class/net/enp2s0-ovs
[Service]
Type=oneshot
等待网桥并确保网口可用
ExecStartPre=/bin/bash -c "until [ -d /sys/class/net/enp2s0-ovs ]; do sleep 0.5; done"
ExecStartPre=/bin/bash -c "until ip link show enp3s0 &>/dev/null; do sleep 0.5; done"
ExecStart=/usr/bin/ovs-vsctl add-port enp2s0-ovs enp3s0
增加重试机制
ExecStartPost=/bin/bash -c 'if ! ovs-vsctl port-to-br enp3s0 &>/dev/null; then sleep 2; /usr/bin/ovs-vsctl add-port enp2s0-ovs enp3s0; fi'
[Install]
WantedBy=multi-user.target
服务2:
[Unit]
Description=OVS Bridge Status Monitor
After=ovs-add-enp3s0.service
Requires=network.target
[Service]
Type=simple
持续监控网桥状态,确保端口存在
ExecStart=/bin/bash -c 'while sleep 60; do if ! ovs-vsctl port-to-br enp3s0 &>/dev/null; then logger "Port missing, re-adding"; /usr/bin/ovs-vsctl add-port enp2s0-ovs enp3s0; fi; done'
[Install]
WantedBy=multi-user.target