아래 링크는 크로스체인 패킷 흐름을 설명하는 이미지입니다.nftables
한 가지 빼고는 다 이해합니다. 이미지에서는 현재 단계가 무엇인지 알 수 없습니다 routing decision
.
이미지에 따르면 이 작업은 두 곳에서 수행되어야 합니다.
- 후크 후 ,
prerouting
전과input
전forward
output
패킷이 localhost 프로세스를 떠날 때 후크하기 전에
위의 첫 번째 지점은 그 뒤에 2개의 가능한 후크가 있으므로 의미가 있지만 prerouting
지점 2의 경우 유일한 스트리밍 옵션이 로컬 프로세스에서 수행되므로 수행할 라우팅 결정이 명확하지 않으므로 output
라우팅 결정이 있어서는 안 됩니다. 하나 있다고 합니다.
이로 인해 라우팅 결정은 위의 1번 항목에만 있다고 믿게 됩니다. 이미지가 사이에 노드 후크를
지정하는 이유는 무엇입니까?routing decision
local process
output
SNAT
이는 postrouting
후크에서 수행되며 "라우팅 후 로컬 시스템을 떠나기 전에 모든 패킷을 확인"하는 문서에 따라 수행되지만
질문은 어떤 라우팅입니까? 이미지를 기반으로 2개의 라우팅 결정이 있기 때문입니다.
그런데. "라우팅 결정"(이미지의 노드)이란 무엇입니까 ? and Hook 에서 이루어지기 때문에 NAT
그렇지 않은 것 같습니다 .NAT
prerouting
postrouting
답변1
이미지가 정확합니다.
라우팅은 한 번만 수행됩니다. Local Process
출발지 또는 목적지이므로 패킷 흐름은 라우팅 결정을 한 번만 거치게 됩니다. 두 번째 지점의 경우 프로세스는 다음과 같이 진행됩니다.
- 로컬 프로세스
- 라우팅 결정
- 산출
- 포스트 라우팅
- 출구
- 운전기사가 보낸다
이 이전에는 아무것도 없으므로 라우팅 결정만 거치게 됩니다. 이 경우 라우팅 결정은 패킷을 보낼 IP 주소와 사용할 인터페이스를 선택하는 것을 의미합니다. 1.1.1.1로 패킷을 보내려면 다음을 수행해야 합니다.
$ ip r get 1.1.1.1
1.1.1.1 via 192.168.1.1 dev wlp0s20f3 src 192.168.1.254 uid 1000
cache
따라서 패킷(srcip: 192.168.1.254, dstip: 1.1.1.1)을 Wi-Fi 인터페이스 wlp0s20f3의 192.168.1.1로 보내겠습니다. 이것을 선택하면 snat을 수행하려면 IP 헤더 소스 IP를 변경할 수 있습니다.