lxc 컨테이너는 인터넷에 액세스할 수 있습니다. 호스트에서 인터넷에 액세스하는 방법

lxc 컨테이너는 인터넷에 액세스할 수 있습니다. 호스트에서 인터넷에 액세스하는 방법

네트워크는 lxc 컨테이너에 의해 관리되어야 하므로 이더넷 인터페이스(인터넷의 출처인 eth0)가 컨테이너에 할당됩니다.

컨테이너에서 "8.8.8.8"을 ping할 수 있습니다.

호스트에서 인터넷에 액세스하기 위해 컨테이너에 대한 veth 유형 네트워크 구성이 생성됩니다.

lxc.net.3.type=veth

lxc.net.3.flags = 위로

lxc.net.3.veth.pair = lxc0

lxc.net.3.hwaddr = 4a:49:43:49:79:bf

lxc.net.3.ipv4.address=192.168.1.1/24 192.168.1.255

그런 다음 에 설명된 대로 패킷을 eth1에서 eth0으로 전달한 다음 eth0에서 eth1로 전달합니다. https://superuser.com/questions/938805/how-forward-packets-from-network-interface-to-another

그러나 "ping -I lxc0 8.8.8.8"은 호스트에서 작동하지 않습니다.

eth1 인터페이스의 tcpdump(tcpdump -i eth1)는 ping 요청이 컨테이너에서 수신되었음을 보여줍니다.

tcpdump는 출력을 다음과 같이 표시합니다.

ARP, 8.8.8.8이 있는 요청은 192.168.1.2에 알려줍니다(192.168.1.2는 호스트에 있는 lxc0의 IP입니다).

eth0은 컨테이너 내의 기본 게이트웨이입니다.

관련 정보