시스템(클라이언트와 라우터) 사이의 패킷을 표시하시겠습니까?

시스템(클라이언트와 라우터) 사이의 패킷을 표시하시겠습니까?

클라이언트 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 주소를 기반으로 라우터에서 추가 수정을 수행합니다.

관련 정보