KVM 브리지 인터페이스를 시작할 수 없습니다 - inet, inet6, 브리지

KVM 브리지 인터페이스를 시작할 수 없습니다 - inet, inet6, 브리지

/etc/network/interfaces이와 유사하게 구성된 외부에서 볼 수 있는 여러 개의 가상 머신을 갖는 KVM 호스트를 설정하고 있습니다.

# The loopback network interface

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

iface eth0 inet6 static
  address 2001:0000:1004:1019::
  netmask 64
  post-up /sbin/ip -family inet6 route add 2001:0000:1004:10ff:ff:ff:ff:ff dev eth0
  post-up /sbin/ip -family inet6 route add default via 2001:0000:1004:10ff:ff:ff:ff:ff
  pre-down /sbin/ip -family inet6 route del default via 2001:0000:1004:10ff:ff:ff:ff:ff
  pre-down /sbin/ip -family inet6 route del 2001:0000:1004:10ff:ff:ff:ff:ff dev eth0


auto br0
iface br0 inet static
  address 41.100.60.25
  netmask 255.255.255.0
  network 41.100.60.0
  broadcast 41.100.60.255
  gateway 41.100.60.254
  bridge_ports eth0
  bridge_maxwait 12
  bridge_fd 9
  bridge_hello 2
  bridge_maxage 12
  bridge_stp off

  dns-nameservers 8.8.8.8
  dns-search ovh.net

  post-up ip link set br0 address xx:xx:xx:xx:xx:xx

  post-up ip addr add 164.123.123.123/32 dev br0 broadcast 164.123.123.123
  post-down ip addr del 164.123.123.123/32 dev br0

  post-up ip route add default via 41.100.60.254 dev br0
  post-down ip route del default via 41.100.60.254 dev br0

  post-down brctl delbr br0

eth0 및 br0 인터페이스는 결국 모두 작동하지만 부팅 화면을 보면 다음과 같은 내용이 표시됩니다(어떤 이유로 부팅 로그에 없음).

Waiting for network configuration
Waiting upto 60 more seconds for network configuration"
Booting system without full network configuration

또한 내가 달릴 때

ifquery --state

또는

cat /run/network/ifstate

eth0과 br0이 누락된 것을 볼 수 있습니다.

lo=lo

편집 1:

다음 명령을 사용하여

ifup br0 --no-act

다음 명령 세트를 사용하면 실행됩니다.ifup br0

run-parts  /etc/network/if-pre-up.d
ip addr add 41.100.60.25/255.255.255.0 broadcast 41.100.60.255    dev br0 label br0
ip link set dev br0   up
 ip route add default via 41.100.60.254  dev br0 
ip link set br0 address xx:xx:xx:xx:xx:xx
ip addr add 164.123.123.123/32 dev br0 broadcast 164.123.123.123
ip route add default via 41.100.60.254 dev br0
run-parts  /etc/network/if-up.d

이 명령이 반복되었음을 알려줍니다.

ip route add default via 41.100.60.254 dev br0

그래서 내 구성에서 제거한 후

post-up ip route add default via 41.100.60.254 dev br0
post-down ip route del default via 41.100.60.254 dev br0

나는 볼 수 있다

run-parts  /etc/network/if-pre-up.d
ip addr add 41.100.60.25/255.255.255.0 broadcast 41.100.60.255    dev br0 label br0
ip link set dev br0   up
 ip route add default via 41.100.60.254  dev br0 
ip link set br0 address xx:xx:xx:xx:xx:xx
ip addr add 164.123.123.123/32 dev br0 broadcast 164.123.123.123
run-parts  /etc/network/if-up.d

이것은 실행 시 재부팅 후 br0이 손실되는 문제를 해결했습니다.

ifquery --state
# or
cat /run/network/ifstate

내가 볼 수 있으니까

lo=lo
br0=br0

답변1

"EDIT 1" 이후에는 문제가 없도록 inet6 정적 구성을 일시적으로 제거하기로 결정했습니다.

Inet과 inet6에는 "정적" 및 "수동"과 같은 두 가지 다른 구성 유형이 있다고 생각합니다. 이로 인해 ifup 및 ifdown을 실행할 때 명령이 일부 중복될 수 있습니다.

관련 정보