![시스템(클라이언트와 라우터) 사이의 패킷을 표시하시겠습니까?](https://linux55.com/image/50244/%EC%8B%9C%EC%8A%A4%ED%85%9C(%ED%81%B4%EB%9D%BC%EC%9D%B4%EC%96%B8%ED%8A%B8%EC%99%80%20%EB%9D%BC%EC%9A%B0%ED%84%B0)%20%EC%82%AC%EC%9D%B4%EC%9D%98%20%ED%8C%A8%ED%82%B7%EC%9D%84%20%ED%91%9C%EC%8B%9C%ED%95%98%EC%8B%9C%EA%B2%A0%EC%8A%B5%EB%8B%88%EA%B9%8C%3F.png)
클라이언트 OUTPUT
체인의 패킷에 태그를 지정하고 라우터에 iproute 정책을 추가하여 특정 게이트웨이를 통해 라우팅할 수 있습니까? 이것이 내가 시도한 것이지만 작동하지 않습니다.
내 클라이언트의 Mangle 테이블 덤프:
Chain OUTPUT (policy ACCEPT 13884 packets, 2327K bytes)
pkts bytes target prot opt in out source destination
13917 2330K MARK all -- * * 0.0.0.0/0 0.0.0.0/0 MARK set 0x2
Chain POSTROUTING (policy ACCEPT 13889 packets, 2328K bytes)
pkts bytes target prot opt in out source destination
13889 2328K LOG all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x2 LOG flags 0 level 4
iptables
라우터에 있는 맹글 테이블의 INPUT 체인 덤프:
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 mark match 0x2 LOG flags 0 level 4
2074 196K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
88 14890 ACCEPT all -- ethint * 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0
잠시 후 테스트 패킷(WiFi를 통해 라우터에 연결된 클라이언트에서 인트라넷 외부 호스트로 핑)을 보낸 후에도 라우터의 LOG 카운터는 0으로 유지됩니다.
질문
- 내 소포는 어떻게 됐나요?
- 내 패키지의 표시가 누락된 곳은 어디입니까?
답변1
패킷의 태그는 커널 데이터 구조에 저장된 값입니다. 커널은 패킷을 처리하면서 패킷을 따릅니다. 이는 패킷 자체의 일부가 아닙니다. 네트워크를 통해 전송되지 않습니다. 한 호스트에 태그를 설정하고 다른 호스트에서 읽을 수는 없습니다.
대신, 수행할 작업은 달성하려는 목표에 따라 다릅니다. 가능하다면 동일한 호스트에서 필터링과 수정을 수행하십시오. 라우터를 수정해야 하는 경우 필터링할 수 있는 패킷에 무언가를 포함하도록 애플리케이션을 준비할 수 있습니다.
때로는 클라이언트에서의 필터링(예: 패킷을 보내는 사용자와 같은 외부 요인에 따라 달라지는 경우)과 라우터의 손상(예: 패킷을 필터링하지 않는 특정 라우터로 패킷을 다시 라우팅해야 하는 경우)을 피할 수 없습니다. t 경로 주소). 이 경우 IP 패킷을 "표시"하는 일반적인 방법이 있습니다.클라이언트에 여러 IP 주소 할당, 클라이언트의 데이터 패킷을 수정하여다른 발신 IP 주소 사용태그 지정에 사용하는 기준에 따라 클라이언트의 IP 주소를 기반으로 라우터에서 추가 수정을 수행합니다.