IPTables не делает то, что я просил

IPTables не делает то, что я просил

Сообщество здесь просто потрясающее!

У меня беспроводной маршрутизатор ASUS 3100 и около 4 IP-камер. На моем старом маршрутизаторе было легко заблокировать исходящий трафик, чтобы камеры не «звонили домой». Я хочу сделать то же самое с этим маршрутизатором, поэтому я решил сначала использовать инструмент переадресации портов, а затем начал искать IPTABLES. Я не знаю, является ли это проблемой для asuswrt-merlin, чтобы использовать переадресацию портов на маршрутизаторах admin tool и iptables. Я подозреваю, что нет... верно?

Моя цель:

  1. По умолчанию блокируется исходящий и входящий трафик для 192.168.1.0/29
  2. Исключение: Я хочу открыть 120:130 НО только для нескольких доверенных IP (работа или дом друзей). Допустим, эти IP 150.150.150.150 и 250.250.250.0/24 (я использую браузер для доступа к этим портам, но это, вероятно, не имеет значения), так что если бы я хотел получить доступ к КАМЕРЕ №2, это было бы DDNS.dns.com:121
  3. Исключение: Камеры отправляют электронные письма через SMTPS (порт 465), поэтому я хочу открыть его, чтобы он мог отправлять электронные письма.

Не хочу блокировать ВХОДЫ/ВЫХОДЫ, так как у меня есть некоторые вещи IoT, которые общаются где-то еще, поэтому я не хочу менять политику по умолчанию, чтобы блокировать это. Если только я не неправильно понимаю, как это работает.

Я прошил маршрутизатор последней версией Asuswrt-Merlin и включил пользовательские скрипты JFFS. Я создал файл под /jffs/scripts/названием firewall-start. Я отредактировал файл, начинающийся с shebang, и добавил несколько правил (вернусь к этому позже). Я использовал service restart_firewall. Проблема, с которой я сталкиваюсь, заключается в том, что я не получаю соответствующих результатов, и вполне возможно, что я неправильно пишу правила и/или порядок.

Я пробовал iptables forward, пробовал iptables INPUT & OUTPUT, пробовал комбинацию "INSERT" / "APPEND", и по какой-то странной причине это либо БЛОКИРОВАЛО все, либо полностью ОТКРЫТО. Это никогда не следует моей конечной цели. Я уверен, что это связано с каким-то порядком или правилами по умолчанию для FORWARD или INPUT или OUTPUT, но я просто не могу понять.

Я тоже вставлял правила по одному. Что-то простое для начала.

iptables -I FORWARD -d 192.168.1.0/29 -p tcp --dport 17111 -j DROP

Это его отбрасывает. Иногда это капризно, потому что если я пробую canyouseeme.org и он говорит, что успешно вставил код, он все равно говорит, что успешно. Иногда он говорит, что не удалось (имея в виду, что он отброшен), так что иногда это то, с чем я сталкиваюсь, но звучит так, как будто это не связанная с этим проблема. Тогда я говорю себе: ок, это работает. Теперь давайте добавим правило INSERT ПОСЛЕ этого, потому что очевидно, что INSERT идет наверх, поэтому я добавил после кода выше это:

iptables -I FORWARD -s myworkip -d 192.168.1.0/29 -p tcp --dport 121 -j ACCEPT

Итак, с этими двумя в файле. Я очищаю iptables, а затем перезапускаю службу firewall-start, чтобы она получила новые правила. Я использую, iptables -Lя вижу, что все в правильном порядке. Проверьте это, перезагрузив веб-страницу ddns.dns.com:121 и ничего. Она не загружается. Это какое-то кэширование? нужно время? Иногда я жду 5 минут, и все равно ничего. Я снова использую canyouseeme.org, и он все еще говорит об ошибке с последнего кода DROP.

Мне нужны эксперты, которые мне помогут. Вот мой текущий iptable:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
DROP       icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
DROP       all  --  anywhere             anywhere             state INVALID
PTCSRVWAN  all  --  anywhere             anywhere
PTCSRVLAN  all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             state NEW
ACCEPT     all  --  anywhere             anywhere             state NEW
OVPN       all  --  anywhere             anywhere             state NEW
ACCEPT     udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
INPUT_ICMP  icmp --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
other2wan  all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere             state INVALID
ACCEPT     all  --  anywhere             anywhere
NSFW       all  --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT
OVPN       all  --  anywhere             anywhere             state NEW
ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain ACCESS_RESTRICTION (0 references)
target     prot opt source               destination

Chain FUPNP (0 references)
target     prot opt source               destination

Chain INPUT_ICMP (1 references)
target     prot opt source               destination
RETURN     icmp --  anywhere             anywhere             icmp echo-request
RETURN     icmp --  anywhere             anywhere             icmp timestamp-request
ACCEPT     icmp --  anywhere             anywhere

Chain NSFW (1 references)
target     prot opt source               destination

Chain OVPN (2 references)
target     prot opt source               destination

Chain PControls (0 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere

Chain PTCSRVLAN (1 references)
target     prot opt source               destination

Chain PTCSRVWAN (1 references)
target     prot opt source               destination

Chain SECURITY (0 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN limit: avg 1/sec burst 5
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/SYN
RETURN     tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/RST limit: avg 1/sec burst 5
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,ACK/RST
RETURN     icmp --  anywhere             anywhere             icmp echo-request limit: avg 1/sec burst 5
DROP       icmp --  anywhere             anywhere             icmp echo-request
RETURN     all  --  anywhere             anywhere

Chain default_block (0 references)
target     prot opt source               destination

Chain logaccept (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "ACCEPT "
ACCEPT     all  --  anywhere             anywhere

Chain logdrop (0 references)
target     prot opt source               destination
LOG        all  --  anywhere             anywhere             state NEW LOG level warning tcp-sequence tcp-options ip-options prefix "DROP "
DROP       all  --  anywhere             anywhere

Chain other2wan (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere
DROP       all  --  anywhere             anywhere

Заранее спасибо!

Связанный контент