CentOS 6.5가 설치된 vmware 플레이어가 있습니다. CentOS 6.5에서는 lxc를 설치했고 lxc에서는 centos 6.3을 설치했습니다.
vmware 플레이어에서 NAT와 브리지를 네트워크 어댑터로 사용하고 있습니다.
내 CentOS 6.5 IP: 192.168.236.140, 게이트웨이: 192.168.236.2
Centos 6.5에서 라우팅
[root@agent1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.236.0 0.0.0.0 255.255.255.0 U 1 0 0 eth1
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
0.0.0.0 192.168.236.2 0.0.0.0 UG 0 0 0 eth1
이제 내 Centos 6.3의 IP는 192.168.122.9이고 게이트웨이는 192.168.122.1입니다.
내 centos 6.3 LXC 머신에서 라우팅
[root@agent1vm5 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
0.0.0.0 192.168.122.1 0.0.0.0 UG 0 0 0 eth0
이제 문제는 LXC(예: 192.168.236.140)에서 CentOS 6.5 시스템을 핑할 수 있다는 것입니다.
[root@agent1vm5 ~]# ping -c 1 -t 1 192.168.236.140
PING 192.168.236.140 (192.168.236.140) 56(84) bytes of data.
64 bytes from 192.168.236.140: icmp_seq=1 ttl=64 time=0.037 ms
--- 192.168.236.140 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.037/0.037/0.037/0.000 ms
하지만 기본 NAT 게이트웨이인 192.168.236.2에 대해 ping을 실행할 수 없습니다.
[root@agent1vm5 ~]# ping -c 1 -t 1 192.168.236.2
PING 192.168.236.2 (192.168.236.2) 56(84) bytes of data.
From 192.168.122.1 icmp_seq=1 Time to live exceeded
--- 192.168.236.2 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
그렇다면 192.168.122.1에서 시작하는 대신 192.168.236.2를 통과하도록 경로를 설정하려면 어떻게 해야 합니까?
답변1
당신의 명령에 따라
ping -c 1 -t 1 192.168.236.2
패킷이 TTL 1로 전송되도록 지정합니다. 이는 오류가 발생하기 전에 최대 하나의 네트워크 홉을 통과한다는 의미입니다.
네트워크 구성에서 CentOS 6.3 노드는 액세스하려는 NAT에 직접 연결되어 있지 않습니다. CentOS 6.5 노드는 그 사이 어딘가에 있습니다. TTL이 1인 상태에서 두 홉 떨어진 노드를 ping하려고 하면 작동하지 않습니다.
CentOS 6.5 노드는 TTL이 1인 패킷을 수신한 후 TTL이 만료되었음을 나타내는 ICMP 오류 메시지를 다시 보냅니다. 이것은 예상대로 정확하게 작동합니다.