Сообщество здесь просто потрясающее!
У меня беспроводной маршрутизатор ASUS 3100 и около 4 IP-камер. На моем старом маршрутизаторе было легко заблокировать исходящий трафик, чтобы камеры не «звонили домой». Я хочу сделать то же самое с этим маршрутизатором, поэтому я решил сначала использовать инструмент переадресации портов, а затем начал искать IPTABLES. Я не знаю, является ли это проблемой для asuswrt-merlin, чтобы использовать переадресацию портов на маршрутизаторах admin tool и iptables. Я подозреваю, что нет... верно?
Моя цель:
- По умолчанию блокируется исходящий и входящий трафик для 192.168.1.0/29
- Исключение: Я хочу открыть 120:130 НО только для нескольких доверенных IP (работа или дом друзей). Допустим, эти IP 150.150.150.150 и 250.250.250.0/24 (я использую браузер для доступа к этим портам, но это, вероятно, не имеет значения), так что если бы я хотел получить доступ к КАМЕРЕ №2, это было бы DDNS.dns.com:121
- Исключение: Камеры отправляют электронные письма через 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
Заранее спасибо!