OUTPUT 이후 두 번째 경로 조회의 요점은 무엇입니까?

OUTPUT 이후 두 번째 경로 조회의 요점은 무엇입니까?

~에 따르면패킷 경로 다이어그램,그리고설명하다:

표 6-2. 소스 localhost (자체 머신)

[...]

  1. 라우팅 결정. 이전의 mangle 및 nat 변경으로 인해 패킷 라우팅 방식이 변경되었을 수 있기 때문입니다.

[...]

NAT 및 기타 사항으로 인해 실제 출력 인터페이스가 변경되었을 수 있으므로 OUTPUT 체인 뒤에 두 번째 경로 조회가 있습니다. 그러나 테스트에서 나는 발견했습니다.출력 인터페이스를 선택하면 변경할 수 없습니다..

예를 들어 바인딩되지 않은 소켓에서 대상으로 UDP 패킷을 보내는 애플리케이션이 있습니다. 기본 테이블을 쿼리하고 기본 소스, 인터페이스 및 게이트웨이를 선택합니다. 그런 다음 fwmark를 설정하고 정책 기반 라우팅에서 이를 사용하여 패킷을 다른 인터페이스에 배치해 봅니다.

[root@localhost ~]# ip rule add fwmark 1 lookup 1
[root@localhost ~]# ip route add default dev lo table 1

패킷은 이러한 조회를 수행합니다.

#first lookup, assuming main NIC is in LAN with address 192.168.1.2/24, gateway 192.168.1.1
[root@localhost ~]# ip route get 8.8.8.8
8.8.8.8 from 192.168.1.2 via 192.168.1.1 dev eth0 
    cache 
#second lookup, source address and oif chosen
[root@localhost ~]# ip route get 8.8.8.8 oif eth0 from 192.168.1.2 mark 1
8.8.8.8 from 192.168.1.2 via 192.168.1.1 dev wlp3s0  mark 1
    cache 

패킷에는 여전히 선택된 출력 인터페이스가 있습니다. 매개변수를 설정하지 않으면 oif올바른 인터페이스를 얻게 됩니다.

[root@localhost ~]# ip route get 8.8.8.8 from 192.168.1.2 mark 1
8.8.8.8 from 192.168.1.2 dev lo  mark 1
    cache 

그래서 요점은 무엇입니까? (테스트해본 결과) 게이트웨이만 효과적으로 변경할 수 있는 것 같지만 blackhole또는 unreachable.

관련 정보