LXC 컨테이너에 네트워크 인터페이스를 추가하는 방법

LXC 컨테이너에 네트워크 인터페이스를 추가하는 방법

LXC 컨테이너의 네트워크 인터페이스에 대한 질문이 있습니다. 내 컨테이너에는 기본적으로 다음 인터페이스가 있습니다.

ubuntu@u5:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:b7:de:91 
          inet addr:10.0.3.138  Bcast:10.0.3.255  Mask:255.255.255.0
          inet6 addr: fe80::216:3eff:feb7:de91/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:56 errors:0 dropped:0 overruns:0 frame:0
          TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7230 (7.2 KB)  TX bytes:3500 (3.5 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: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:0
                 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

다음과 같은 새로운 인터페이스를 추가하고 싶습니다.

      auto eth1

      iface eth1 inet static
      address 192.168.1.3
      netmask 255.255.255.0
      network 192.168.1.1
      broadcast 192.168.1.255

그래서 이 파일을 수정했습니다: /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

     auto eth0
     iface eth0 inet dhcp

     auto eth1

     iface eth1 inet static
     address 192.168.1.3
     netmask 255.255.255.0
     network 192.168.1.1
     broadcast 192.168.1.255

다시 시작했지만 소용이 없습니다! ifconfig를 사용할 때 새 인터페이스를 찾을 수 없습니다.

      ubuntu@u5:/etc/network$ ifconfig
      eth0      Link encap:Ethernet  HWaddr 00:16:3e:b7:de:91 
                inet addr:10.0.3.138  Bcast:10.0.3.255  Mask:255.255.255.0
                inet6 addr: fe80::216:3eff:feb7:de91/64 Scope:Link
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:57 errors:0 dropped:0 overruns:0 frame:0
                TX packets:40 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000
                RX bytes:7337 (7.3 KB)  TX bytes:3500 (3.5 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: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:0
                 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

어떤 아이디어가 있나요?

답변1

게스트가 아닌 호스트에서 컨테이너 구성 파일을 수정해야 합니다(conf. 파일이 있는지 여부를 지정하지 않았습니다)./etc/lxc또는~/.config/lxc), 아래와 같이 새 인터페이스와 관련된 새 섹션을 추가합니다.

 lxc.network.type = veth
 lxc.network.name = eth0
 lxc.network.link = br0
 lxc.network.ipv4 = 10.0.3.138/24
 lxc.network.flags = up

 lxc.network.type = veth
 lxc.network.link = br1
 lxc.network.ipv4 = 192.168.0.63/24
 lxc.network.name = eth1
 lxc.network.flags = up

첫 번째 섹션은 이미 가지고 있는 항목(일부 추가 옵션 포함 또는 제외)이고, 두 번째 섹션은 다른 서브넷의 새 인터페이스에 대해 이미 존재하는 항목을 복사합니다. 그런 다음 게스트를 다시 시작하면 됩니다.

관련 정보