고정 IP로 특정 LXC 컨테이너를 시작한 후에는 기본 게이트웨이 경로가 구성되지 않습니다.

고정 IP로 특정 LXC 컨테이너를 시작한 후에는 기본 게이트웨이 경로가 구성되지 않습니다.

잘 작동하는 LXC 컨테이너 하나가 있는데 두 번째 컨테이너가 이제 제대로 작동하지 않습니다.

이에 대해 고정 경로를 구성했지만 DNS 서버에 대해 동일한 , 또는 sudo services networking restart이후 에 게이트웨이를 정의하지 않습니다. IP만 설정됩니다(LXC 컨테이너 구성 파일에 정의되어 있음).reboot nowlxc-restart ...

기본 게이트웨이(10.1.0.1)를 ping할 수는 있지만 기본 게이트웨이 경로나 이름 서버를 설정하지는 않습니다.

davidparks21@WebApp:~$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
 address 10.1.3.10
 netmask 255.255.0.0
 broadcast 10.1.255.255
 gateway 10.1.0.1
 dns-nameservers 8.8.8.8
 dns-nameservers 8.8.4.4

davidparks21@WebApp:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.1.0.0        *               255.255.0.0     U     0      0        0 eth0

lxc.network.type=veth
lxc.network.name=eth0
lxc.network.link=br0
lxc.network.ipv4 = 10.1.3.10/16
lxc.network.flags=up
lxc.rootfs = /var/lib/lxc/WebApp/rootfs
lxc.utsname = prodweb1

root@WebApp:/var/log# ifdown eth0 && ifup eth0
ifdown: interface eth0 not configured
RTNETLINK answers: File exists
Failed to bring up eth0.

메모:작동하는 다른 LXC 컨테이너에서는 이 명령이 성공합니다.


이 메모를 추가하면:

root@WebApp:/var/log# ethtool eth0
Settings for eth0:
        Supported ports: [ ]
        Supported link modes:   Not reported
        Supported pause frame use: No
        Supports auto-negotiation: No
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 10000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Link detected: yes

제 생각에는 "재부팅하거나 실행할 때 왜 eth0이 구성되지 않습니까? service networking restart" 라는 질문이 필요하다고 생각합니다.


root@WebApp:/var/log# ls /run/network/
ifstate  ifup.lo
root@WebApp:/var/log# ifconfig
eth0      Link encap:Ethernet  HWaddr ee:1d:b6:c7:8d:3d
          inet addr:10.1.3.10  Bcast:10.1.255.255  Mask:255.255.0.0
          inet6 addr: fe80::ec1d:b6ff:fec7:8d3d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:196 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:70482 (70.4 KB)  TX bytes:1174 (1.1 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:48 errors:0 dropped:0 overruns:0 frame:0
          TX packets:48 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3840 (3.8 KB)  TX bytes:3840 (3.8 KB)

답변1

나는 한동안 이 문제를 해결하기 위해 노력해 왔습니다. 호스트에서는 12.04 LXC 0.7.5를 실행하고 컨테이너에서는 12.04와 11.04를 혼합하여 실행하고 있습니다.

편집에 성공하지 못했습니다. /run/networking/ifstate컨테이너가 다시 시작된 후에도 지속되지 않는 것 같습니다.

config컨테이너 파일 의 다음 줄을 주석 처리하여 문제를 해결했습니다 .

lxc.network.ipv4 = 10.1.3.10/16

나에게 도움이 된 또 다른 솔루션은 백포트를 통해 LXC 8.0을 설치하는 것이었습니다. 먼저 NET에서 백포트를 활성화해야 합니다 /etc/apt/sources.list.

sudo apt-get install -t precise-backports lxc

LXC 8.0에서는 컨테이너 config파일을 통해 기본 게이트웨이를 구성할 수 있습니다.

lxc.network.ipv4.gateway = 10.1.0.1

답변2

다른 연구를 바탕으로 다음을 추가하는 것을 발견했습니다.

  eth0=eth0 

에게:

  /run/networking/ifstate

문제를 해결한 후 문제를 아래로 내리고 위로 올릴 수 있었고 예상대로 구성되었습니다.

관련 정보