Сообщество здесь потрясающее!
У меня есть беспроводной маршрутизатор ASUS 3100 и около 4 IP-камер. На моем старом роутере было легко заблокировать исходящий трафик, чтобы я мог убедиться, что камеры не "звонили домой". Я хочу сделать то же самое с этим маршрутизатором, поэтому я решил сначала использовать инструмент переадресации портов, а затем начал искать IPTABLES. Я не знаю, является ли это проблемой для asuswrt-merlin, чтобы использовать переадресацию портов на инструменте администрирования маршрутизаторов и iptables. Я подозреваю, что нет ... верно?
Моя цель:
- По умолчанию блокирует исходящий и входящий трафик для 192.168.1.0/29.
- Исключение: я хочу открыть 120: 130 НО только для нескольких надежных IP-адресов (работа или дом друзей). Допустим, эти IP-адреса являются 150.150.150.150 и 250.250.250.0/24 (я использую браузер для доступа к этим портам, но это, вероятно, не имеет значения), поэтому, если бы я хотел получить доступ к CAMERA # 2, это был бы DDNS.dns.com:121
- Исключение: камеры отправляют электронные письма через SMTPS (порт 465), поэтому я хочу открыть это, чтобы можно было отправлять электронные письма.
Я не хочу блокировать ВХОДЫ / ВЫХОДЫ, так как у меня есть некоторые вещи IoT, которые общаются где-то еще, поэтому я не хочу менять политику по умолчанию, чтобы заблокировать это. Если только я не понимаю, как это работает.
Я прошил роутер последней версией Asuswrt-Merlin и включил пользовательские скрипты JFFS. Я создал файл в /jffs/scripts/
называется firewall-start
. Я отредактировал файл, начинающийся с shebang, и добавил некоторые правила (вернемся к этому позже). Я использовал service restart_firewall
. Проблема, с которой я сталкиваюсь, заключается в том, что я не получаю надлежащих результатов, и вполне возможно, что я пишу неправильные правила и / или, возможно, порядок.
Я пробовал iptables вперёд, я пробовал 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 и nada. Это не будет загружаться. Это кеширование? это нужно время? Иногда я жду 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
Заранее спасибо!