LXC 컨테이너로 핑

LXC 컨테이너로 핑

VMB에서 ping 10.0.3.8(LXC 컨테이너의 IP)을 시도했지만 작동하지 않았습니다! 좋은 생각이 있으신가요?

내가 원하는 작업에 대한 설명은 다음과 같습니다. (빨간색 화살표)

파란색 화살표는 핑이 올바르게 작동하고 있음을 의미합니다. 빨간색 화살표는 문제가 있음을 의미합니다. VMB(192.168.1.7)에서 ping 10.0.3.8을 시도합니다. 이 메시지가 차단되었습니다. ping 10.0.3.8 PING 10.0.3.8(10.0.3.8) 56(84)바이트의 데이터 . --- 10.0.3.8 ping 통계 --- 68개 패킷 전송, 0개 수신, 100% 패킷 손실, 시간 67214ms –

여기에 이미지 설명을 입력하세요 정말 감사합니다.

친애하는.

답변1

Linux 컨테이너를 생성하면 자체 네트워크 공간 내에 존재하게 됩니다. 이것이 바로 IP 주소가 다르게 보이는 이유입니다. 가상 머신에는 192.168.1.x가 있고 Linux 컨테이너에는 10.0.3.x가 할당되어 있습니다.

이 문제를 해결하는 한 가지 방법은 Linux 컨테이너에 전용 가상 네트워크 카드를 생성한 다음 192.168.1.x 네트워크에서 주소를 가져오는 것입니다.

아래는 핵심 지침입니다.자세한 단계와 배경은 Bonsai Framework 기사에서 확인할 수 있습니다..

호스트에 영구 macvlan 생성

/etc/network/interfaces호스트 파일의 맨 아래에 추가하고 ,

# Creates a macvlan interface called macvlan0 without an IP address  
iface mvlan0 inet manual  
   pre-up ip link add mvlan0 link eth0 address 8a:38:2a:cc:d7:aa type macvlan mode bridge  
   post-down ip link del macvlan0  
auto mvlan0  

변경 사항을 적용하려면 시스템을 재부팅하십시오. mvlan0로 네트워크 장치를 보면 이제 이 표시됩니다 ifconfig -a.

macvlan에 있는 구성 파일을 수정하여 컨테이너를 호스트에 연결합니다 /var/lib/lxc/[container]/config.

새 네트워크 카드에 추가할 항목

# macvlan for external IP  
lxc.network.type = macvlan   
lxc.network.macvlan.mode = bridge  
lxc.network.flags = up  
lxc.network.link = mvlan0  
lxc.network.hwaddr = 00:16:3e:8d:4f:51  
lxc.network.name = eth0  

hwaddr의 경우 다음과 같은 무료 웹사이트를 통해 고유한 로컬 관리 유니캐스트 MAC 주소를 생성하세요.helion.org.

마지막으로 정적을 통해 바인딩하거나 동적 사용을 선호하는 경우 컨테이너 내의 인터페이스 파일을 조정합니다.

제 경우에는 192.168.0.1 ~ 192.168.0.20이 동적으로 할당되지 않도록 홈 라우터를 조정하고 LXC에서 정적을 사용합니다.

따라서 컨테이너 인터페이스 파일을 다음과 같이 수정합니다.

auto eth0  
iface eth0 inet static  
address 192.168.0.12  
gateway 192.168.0.1  
netmask 255.255.255.0  

auto eth1  
iface eth1 inet dhcp  

Linux 컨테이너를 다시 시작합니다.

관련 정보