![iptables 규칙 적용이 지연됩니다.](https://linux55.com/image/77440/iptables%20%EA%B7%9C%EC%B9%99%20%EC%A0%81%EC%9A%A9%EC%9D%B4%20%EC%A7%80%EC%97%B0%EB%90%A9%EB%8B%88%EB%8B%A4..png)
나는 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