저는 IP가 10.10.30.35인 DMZ에서 14.04.2 LTS 우분투 상자를 실행하고 있으며 다음과 같은 네트워크 미스터리가 있습니다. DMZ 외부의 내부 네트워크 10.2.0.200(ssh 또는 https를 통해)에 있는 다른 Unix 박스에 연결하려고 하는데, 유사한 오류가 발생 No route to host
하거나 ping
대상 호스트에 액세스할 수 없게 되는 오류로 인해 실패합니다. 그러나 DMZ 외부에 있지만 네트워크 내부에 있는 10.2.0.170의 유닉스 계열 상자에 연결할 수 있습니다(ping, ssh 및 https). 내 iptables에는 아무것도 없습니다.
> iptables --list
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
게이트웨이가 올바르게 설정된 것 같습니다.
> route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.10.30.25 0.0.0.0 UG 0 0 0 eth0
10.10.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
DMZ의 컴퓨터에서 tcpdump를 수행하고 10.2.0.200 상자에 ping을 시도하면 다음과 같은 내용이 표시됩니다.
ARP, Request who-has 10.2.0.200 tell myserver.mydomain.com, length 28
그러나 10.2.0.200이나 다른 트래픽에 대한 응답은 전혀 없습니다. arp 프로토콜이 작동하지 않는 것 같나요? arp를 확인해보면 다음과 같습니다.
> arp -na
? (outsideipaddress) at <incomplete> on eth0
? (10.10.30.25) at 00:1a:8c:f0:50:82 [ether] on eth0 <-- gateway
? (10.10.30.80) at 00:50:56:a7:06:89 [ether] on eth0
? (outsideipaddress) at <incomplete> on eth0
? (10.2.0.200) at <incomplete> on eth0
? (outsideipaddress) at <incomplete> on eth0
10.2.0.200 항목이 이상해서 지우려고 했더니 다음과 같은 결과가 나왔습니다.
> arp -d 10.2.0.200
SIOCDARP(dontpub): Network is unreachable
사용하려고 해도 ip -s -s neigh flush all
항목이 삭제되지 않습니다.
그래서 저는 여기서 어찌할 바를 모르겠습니다. 10.2.0.200에 연결하는 것을 방해하는 arp 항목입니까? 아니면 완전히 다른 것을 놓치고 있습니까? arp 테이블을 수동으로 편집하고 MAC 주소를 추가할 수 있나요?
도움을 주셔서 미리 감사드립니다.
답변1
내가 하나 만들었어
ip route flush cache
핑과 SSH를 사용할 수 있습니다. 여전히 https를 할 수 없지만 네트워크 방화벽이라고 생각합니다. 도움을 주셔서 감사합니다.
답변2
이 ? (10.2.0.200) at <incomplete> on eth0
항목은 머신에 액세스할 수 없을 때(머신의 전원이 켜져 있습니까?) 정상적인 동작입니다.
예를 들어 대상 컴퓨터의 IPTables에 ICMPv4 요청을 차단하는 항목이 있는 경우 트래픽이 삭제되었지만 호스트로 전달되었기 때문에 arp 테이블에 전체 항목이 표시됩니다.
추측만 해보면 됩니다. DMZ를 만들기 위한 방화벽이 있나요? 확실히 하기 위해... 경로를 추적해 보세요.