전용 서버에서 가상 머신을 실행하기 위해 LXC 가상화를 시도해 왔지만 네트워크를 올바르게 설정하는 데 문제가 있습니다.
나는 다음과 같이 네트워크를 연결하기 위해 veth를 사용하고 있습니다.http://blog.foaa.de/2010/05/lxc-on-debian-squeeze/(LXC 컨테이너를 설정하는 데 사용하는 가이드)
컨테이너를 시작하면 정상적으로 실행되고 인터넷에 액세스할 수 있으며 자체 IP로 들어오는 연결을 허용합니다. 그런데 시작하자마자 메인박스(전용서버)의 네트워크가 완전히 종료되고, 서버를 재시작할 때까지 다시 돌아오지 않습니다.
이 문제가 발생할 수 있다고 생각되는 유일한 것은 브리지 설정이 잘못 구성되었다는 것인데, 올바른 설정이 무엇인지 전혀 확신할 수 없습니다. 이를 재구성하는 방법에 대한 제안 사항이 있습니까? 감사해요.
호스트 노드와 컨테이너 자체 모두 Debian Squeeze를 실행하고 있으며 패키지도 최신 버전으로 업그레이드되었습니다.
호스트 노드(전용 서버) 네트워크 구성(/etc/network/interfaces):
allow-hotplug eth0
auto br0
iface br0 inet static
bridge_ports eth0
bridge_fd 0
bridge_stp off
bridge_maxwait 0
address 46.105.102.29
netmask 255.255.255.0
network 46.105.102.0
broadcast 46.105.102.255
gateway 46.105.102.254
LXC 컨테이너 네트워크 구성(/etc/network/interfaces):
auto eth0
iface eth0 inet static
address 94.23.153.205
netmask 255.255.255.0
broadcast 94.23.153.205
post-up route add 46.105.102.254 dev eth0
post-up route add default gw 46.105.102.254
post-down route del 46.105.102.254 dev eth0
컨테이너 네트워크 구성(LXC 구성 파일에서):
lxc.utsname = paradox
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 02:00:00:ba:47:a0
lxc.network.ipv4 = 94.23.153.205
답변1
경고: 저는 LXC에 대해 잘 알지 못합니다. 어쨌든, 나는 데비안 네트워킹, 브리지, 가상 머신(특히 qemu-kvm)에 대한 폭넓은 경험을 갖고 있기 때문에 유용할 수 있는 몇 가지 관찰을 했습니다.
eth0
첫째, 가이드에는 호스트 파일 interfaces
의 구성을 주석 처리해야 하지만 이미 allow-hotplug eth0
주석 처리가 되어 있다고 명확하게 나와 있습니다. 이 줄을 주석 처리하세요.
interfaces
둘째, 이러한 물리적 인터페이스와 관련된 브리지 설정을 생성할 때 물리적 인터페이스를 초기화되지 않은 상태로 명시적으로 두기 위해 파일에 줄을 추가하는 것을 좋아합니다 . 이 경우 eth0
브리지에 추가하려면 다음을 수행합니다.
iface eth0 inet manual
마지막으로 이것은작은동일한 브리지에 서로 다른 서브넷이 있다는 것은 이상합니다. 비록~해야 한다직장에서 LXC는 아직 개발 중이므로 약간 특이한 네트워크 설정이라도 버그가 노출될 수 있습니다. 46.105.102.0/24
VM에서 라우팅을 명시적으로 중단할 필요가 없도록 VM을 호스트()와 동일한 서브넷에 배치해 보십시오 .