Debian 기반 컨테이너를 실행하는 OpenVZ 호스트(RHEL 6). 문제는 네트워크 트래픽이 10.10.104.1
인터페이스를 통해 해당 컨테이너( )로 라우팅 되지 않고, 호스트 네트워크의 venet0
기본 게이트웨이( )로 라우팅된다는 점이다. 143.215.76.129
또한 192.168.xx 네트워크로의 트래픽은 게이트웨이로 리디렉션되지 않습니다. 관련 출력은 다음과 같습니다.
# traceroute 10.10.104.1
traceroute to 10.10.104.1 (10.10.104.1), 30 hops max, 60 byte packets
1 143.215.76.129 (143.215.76.129) 1.349 ms 1.314 ms 1.280 ms
2 * * *
3 * * *
4 * * *
5 * * *
6 * * *
7 *^C
# traceroute 192.168.104.32
traceroute to 192.168.104.32 (192.168.104.32), 30 hops max, 60 byte packets
1 * * *
2 * * *
3 * * *
4 * * *
5 * * *
6 *^C
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.104.1 0.0.0.0 255.255.255.255 UH 0 0 0 venet0
143.215.76.128 0.0.0.0 255.255.255.128 U 0 0 0 eth0
143.215.76.128 0.0.0.0 255.255.255.128 U 0 0 0 eth1
143.215.76.128 0.0.0.0 255.255.255.128 U 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1004 0 0 eth2
0.0.0.0 143.215.76.129 0.0.0.0 UG 0 0 0 eth0
답변1
인터페이스 venet0
는 항상 호스트 네트워크를 통해 라우팅됩니다.venet
OpenVZ의 네트워크 설계.
호스트의 트래픽을 컨테이너 중 하나로 라우팅하려는 것 같으므로 적절한 가상 이더넷 장치를 만들어야 합니다.OpenVZ는 다음을 가리킨다.veth
. 이는 컨테이너의 네트워크 인터페이스에 대한 MAC 주소와 올바른 패킷 라우팅을 위한 기타 요구 사항을 제공합니다.