TEE를 사용하여 MASQUERADE 대상의 출력을 복제하는 방법은 무엇입니까?

TEE를 사용하여 MASQUERADE 대상의 출력을 복제하는 방법은 무엇입니까?

Netfilter의 확장매뉴얼 페이지다음과 같이 말합니다.

MASQUERADE: 이 대상은 체인 nat의 테이블 에서만 유효합니다 .POSTROUTING

질문: 복제하는 방법산출MASQUERADE목표와 목표 의 TEE?

아래 다이어그램을 보면 패킷이 아웃바운드 인터페이스로 전송되기 전에 평가할 마지막 체인임을 netfilter/iptables알 수 있습니다 . 체인 nat.POSTROUTING이 없는 걸까요 raw.POSTROUTING, 아니면 있는 걸까요?

여기에 이미지 설명을 입력하세요 또한 참조하십시오이것.

PS 데이터가 다음으로 흐를 때 및 인터페이스에서 및 테이블을 동일한 순서로
처리하는 이론적 근거는 무엇입니까?manglenatoutboundinbound반대 방향이러한 인터페이스(송신 및 수신)를 통해?

답변1

내가 아는 한,iptables다음 이후에 실행되는 규칙nat/포스트라우팅, 이는 에서 제공하는 마지막 후크입니다.iptables, 사용이 불가능합니다iptablesNAT 이후 패킷을 캡처합니다.


그러나 이것은 다음을 사용할 때 가능합니다.nftables, 이후후크 우선순위는 사용자가 정의합니다..nft'에스멍청이문은 다음을 직접 대체합니다.iptables'. 섞어서 가능해요nftables그리고iptables둘 다 NAT를 수행하지 않는 한(nat 리소스는 특별하며 서로 적절하게 공유될 수 없습니다)iptables그리고nftables). 사용iptables-nftables님의 버전iptables또한 작동할 것입니다(규칙 세트를 플러시할 때는 주의해야 합니다). 물론nft모든 것이 작동할 것이기 때문입니다.

여기 준비된 것이 있어요nftNATed LAN이 있는 라우터의 규칙 세트eth1WAN 쪽은 켜져 있습니다.eth2, LAN 측의 192.168.0.3으로 복사본을 보냅니다. 에 설명된 것처럼OP의 다른 질문. 다음과 같은 파일에 넣으려면forwireshark.nft다음을 사용하여 "로드"됩니다 nft -f forwireshark.nft.

table ip forwireshark {
        chain postnat {
                type filter hook postrouting priority 250; policy accept;
                oif eth2 counter dup to 192.168.0.3 device eth1
        }
}

여기서 중요한 것은 값 250이iptables'NF_IP_PRI_NAT_SRC(100).

다음은 ping -c1 8.8.8.8약간의 비활성 이후 ping 호스트가 수행될 때 일반적으로 Wireshark 호스트를 수신하는 것입니다(일부 시스템에서는 기본적으로 허용되지 않을 수 있는 "잘못된" IP로부터의 이상한 ARP 요청에 유의하십시오).

root@ns-wireshark:~# tcpdump -e -n -s0 -p -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
21:06:03.074142 82:01:54:27:4d:d7 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.1 tell 192.168.0.2, length 28
21:06:03.074301 9a:80:fb:e6:6a:0a > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 192.168.0.3 tell 140.82.118.4, length 28
21:06:03.074343 7e:0a:6c:12:00:61 > 9a:80:fb:e6:6a:0a, ethertype ARP (0x0806), length 42: Reply 192.168.0.3 is-at 7e:0a:6c:12:00:61, length 28
21:06:03.074387 9a:80:fb:e6:6a:0a > 7e:0a:6c:12:00:61, ethertype IPv4 (0x0800), length 98: 140.82.118.4 > 8.8.8.8: ICMP echo request, id 1633, seq 1, length 64

순서에 대한 근거를 모르겠습니다.맹글/포스트라우팅그리고nat/포스트라우팅. 어쨌든 이것은 일부입니다iptables' 제한 사항이 있기 때문에nftables, 이에 상응하는 것 외에도맹글/출력그건 특별한 일이야경로 유형재라우팅을 위한 후크, 기타 모든 동등한 사용법압착 롤러~의 일부이다유형 필터: 실제로는 따로 존재하지 않습니다.압착 롤러더 이상 입력하지 마세요. 우선순위를 선택할 수 있으면 더 많은 일을 할 수 있습니다.

관련 정보