iptables 규칙 적용이 지연됩니다.

iptables 규칙 적용이 지연됩니다.

나는 iptables를 사용하여 내 핫스팟에 연결된 장치의 인터넷 액세스를 차단하고 있습니다(내부 서버로 리디렉션). 이것은 내 명령입니다:

iptables -t nat -I PREROUTING -p tcp -s 192.168.43.51 -j DNAT --to-destination 192.168.43.1:12345
iptables -t nat -I PREROUTING -p udp -s 192.168.43.51 ! --dport 53 -j DNAT --to-destination 192.168.43.1:12345

192.168.43.51은 차단하려는 기기이고 192.168.43.1:12345는 내부 서버입니다. 따라서 작동하지만 실제 차단과 명령 실행 사이에는 지연이 있습니다. 예를 들어, 파일을 다운로드할 때 명령을 실행하고 있지만 파일이 약 5~15초 동안 계속 다운로드되고 사용자가 추가 데이터를 소비할 수 있습니다. 어떻게 해결하나요?

답변1

IP를 제외하고 OUTPUT 규칙에서 차단하세요.

iptables -I FORWARD -s 192.168.43.51 ! -d 192.168.43.1 -j DROP
iptables -I FORWARD  -m state --state ESTABLISHED,RELATED -s 192.167.43.51 ! -d 192.168.43.1 -j DROP

답변2

따라서 이것은 유효한 솔루션입니다.

iptables -I FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -s 192.168.43.51 ! -d 192.168.43.1 -j DROP

관련 정보