IPTable을 통해 일부 IP를 제외한 아웃바운드 트래픽을 어떻게 차단합니까?

IPTable을 통해 일부 IP를 제외한 아웃바운드 트래픽을 어떻게 차단합니까?

MERLIN으로 플래시된 Asus 무선 라우터가 있습니다. 나는 또한 Wi-Fi를 통해 연결된 여러 개의 IP 카메라를 소유하고 있습니다. 아웃바운드를 비활성화하여 IP 카메라가 집에 전화를 걸지 못하도록 하고 싶습니다. 내가 이걸로 한 건

그러나 제가 하고 싶은 몇 가지 일이 있습니다.

  1. 기본적으로IP 카메라가 내 네트워크 외부로 데이터를 보내는 것을 방지합니다.
  2. 예외: 이메일을 보내려면 IP 카메라를 포트 465(SMTPS 포트)에 연결하고 보내야 합니다.
  3. 예외: PORT를 통해 카메라에 원격으로 액세스할 수 있는 소수의 IP 주소(일부는 IP 범위)가 필요합니다. 그래서 규칙이 필요합니다. 이는 기본값에 대한 예외입니다.

이미 포트 포워딩 설정이 되어 있습니다.

예를 들어: 192.168.1.2:123(123은 브라우저를 통해 카메라에 액세스하는 데 사용하는 포트)은 브라우저를 통해 온라인으로 연결할 수 있는 방법입니다. 또한 로컬뿐만 아니라 홈 네트워크 외부에서도 소수의 IP를 사용하여 액세스할 수 있기를 바랍니다. 귀하가 IP 주소가 아닌 경우 귀하가 수락되면 삭제됩니다. 경비원처럼. 따라서 본질적으로 내 업무 컴퓨터는 포트 123을 통해 해당 카메라에 액세스할 수 있습니다.

나는 Linux를 이해하고 IPTABLES에 대한 플래그 중 일부를 알고 있지만 충분하지 않으므로 전문가가 필요합니다.

감사해요!

답변1

카메라가 표준 서브넷에 있으면 작업이 더 쉬워집니다. 그런 다음 아래 언급된 각 규칙에서 서브넷을 언급할 수 있습니다. 그렇지 않으면 보는 것이 좋습니다이 게시물또는 유사합니다.

캠의 IP 범위를 지정하는 방법을 다룬 후에는 --syn 옵션을 사용하여 카메라에서 시작된 모든 패킷(TCP 연결이라고 가정)을 쉽게 삭제할 수 있습니다. 이는 모든 카메라(<=8개 캠, 다른 시스템 없음)가 192.168.1.0/29 서브넷에 있다고 가정하는 예입니다.

#1    iptables -A FORWARD -s 192.168.1.0/29 -p tcp --dport 465 -j ACCEPT
#2    iptables -A FORWARD -d 192.168.1.0/29 -p tcp --sport 465 -j ACCEPT
#3    iptables -A FORWARD -s 192.168.1.0/29 -p tcp --syn -j DROP
#4    iptables -A FORWARD -s 192.168.1.0/29 -p udp -j DROP

Linux 상자에서 NAT가 수행되지 않는 경우에만 #2를 추가하십시오.

캠을 게시하려면:

iptables -t nat -A PREROUTING -p tcp --dport 1202 -j DNAT 192.168.1.2:123
iptables -t nat -A PREROUTING -p tcp --dport 1203 -j DNAT 192.168.1.3:123
iptables -t nat -A PREROUTING -p tcp --dport 1204 -j DNAT 192.168.1.4:123

하지만 해당 특정 IP 주소만 액세스할 수 있도록 합니다.

iptables -A FORWARD -s trustedip1 -d 192.168.1.0/29 -p tcp --dport 123 -j ACCEPT
iptables -A FORWARD -s trustedip2 -d 192.168.1.0/29 -p tcp --dport 123 -j ACCEPT
iptables -A FORWARD -s trustedip3 -d 192.168.1.0/29 -p tcp --dport 123 -j ACCEPT
iptables -A FORWARD -d 192.168.1.0/29 -p tcp --dport 123 -j DROP

물론 카메라 주소가 하나의 서브넷에 깔끔하게 정리되지 않은 경우 192.168.1.0/29 p를 카메라 IP 주소로 바꾸고 각각에 대해 규칙을 반복해야 합니다.

관련 정보