PREROUTING에서 DNAT를 시도하고 있습니다. 튜토리얼을 찾았어요여기. 여기에는 다음 문장이 포함되어 있습니다.
이는 패킷이 들어올 때 PREROUTING 체인에서 수행됩니다. 이는 Linux 시스템 자체의 다른 모든 것(라우팅, 패킷 필터링)에서 패킷이 "실제" 대상에 도달하는 것을 볼 수 있음을 의미합니다.
마지막 부분이 무엇을 의미하는지 저자에게 묻고 싶습니다 anything else on the Linux box itself will see the packet going to its 'real' destination
.
가상 장치(탭)가 있고 들어오는 ICMP 패킷을 해당 탭 장치로 리디렉션하는 테스트를 시도했습니다. (내 탭 장치 주소는 10.0.4.1/24
이고 탭 장치를 수신하는 프로그램이 있으므로 UP 상태입니다.)
# iptables -t nat -A PREROUTING -i eth0 -p icmp -j DNAT --to-destination 10.0.4.2
외부 IP를 ping할 때 규칙은 사용되지 않습니다( pkts
iptables의 개수는 규칙에 대해 여전히 0입니다). 이 관찰은 저자가 말하는 것과 관련이 있습니까?
답변1
귀하의 첫 번째 질문은 귀하가 인용한 텍스트에 이미 답변되어 있습니다.
이는 패킷이 들어올 때 PREROUTING 체인에서 수행됩니다. 이는 Linux 시스템 자체의 다른 모든 것을 의미합니다.라우팅, 패킷 필터링)는 "실제" 목적지로 향하는 패킷을 볼 수 있습니다.
그것이 바로 라우팅과 패킷 필터링입니다.
두 번째 질문: 시스템 자체에서 핑을 보내는 것 같습니다. 그럼 패킷이 안 오겠지입력하다시스템이므로 이러한 패킷은 PREROUTING 체인을 통과하지 않습니다. 시스템 외부에서 이러한 패킷을 생성해야 합니다.