
У меня есть беспроводной маршрутизатор Asus, который был прошит MERLIN. У меня также есть несколько IP-камер, подключенных через Wi-Fi. Я хочу запретить IP-камерам пытаться звонить домой, отключив исходящие звонки. Что я и сделал с помощью этого
Однако есть несколько вещей, которые я хотел бы сделать.
- ПО УМОЛЧАНИЮЗапретить IP-камерам отправлять какие-либо данные за пределы моей сети.
- Исключение: IP-камеры должны подключаться и отправлять данные на порт 465 (порт SMTPS) для отправки электронного письма.
- Исключение: Я хочу, чтобы несколько IP-адресов (некоторые из них — диапазоны IP-адресов) могли удаленно получать доступ к камере через PORT. Поэтому мне нужно правило, которое является исключением из правила по умолчанию.
У меня уже настроена переадресация портов.
Так, например: 192.168.1.2:123 (123 — это порт, который я использую для доступа к камере через браузер) — это способ, которым я могу подключиться к ней онлайн через браузер. Я также хочу, чтобы она была доступна не ТОЛЬКО локально, но и за пределами домашней сети, но с несколькими IP-адресами. Если у вас нет IP-адреса, то вас ОТКЛЮЧАТ, если да, то вас примут. Как вышибала. Так что по сути мой рабочий компьютер может получить доступ к этой камере через порт 123 — это то, что я пытаюсь сделать.
Я понимаю Linux и знаю некоторые флаги IPTABLES, но недостаточно, поэтому мне нужен эксперт.
Спасибо!
решение1
Работа будет проще, если ваши камеры находятся в стандартной подсети. Тогда вы можете упомянуть подсеть в каждом правиле, упомянутом ниже. В противном случае, вам лучше посмотретьэта почтаили похожие.
После того, как вы разобрались с тем, как указать диапазон IP-адресов камер, вы можете легко отбросить все пакеты, инициированные вашими камерами (предполагая, что это соединения TCP), используя опцию --syn. Это пример, предполагающий, что все камеры (<=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
Добавляйте #2 только в том случае, если на компьютере с Linux не реализована функция NAT.
Чтобы опубликовать камеры:
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 и IP-адрес камеры и повторить правило для каждого.