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

612
Simon Song

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

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

Моя цель:

  1. По умолчанию блокирует исходящий и входящий трафик для 192.168.1.0/29.
  2. Исключение : я хочу открыть 120: 130 НО только для нескольких надежных IP-адресов (работа или дом друзей). Допустим, эти IP-адреса являются 150.150.150.150 и 250.250.250.0/24 (я использую браузер для доступа к этим портам, но это, вероятно, не имеет значения), поэтому, если бы я хотел получить доступ к CAMERA # 2, это был бы DDNS.dns.com:121
  3. Исключение : камеры отправляют электронные письма через 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 

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

1
Когда вы решаете проблему, хорошо создать только один небольшой сценарий и протестировать его за раз: одно правило для исходящих / входящих и т. д. начинается с малого и становится больше - тогда вы будете знать, где и когда он потерпел неудачу. Ваши таблицы брандмауэра слишком велики, сэр. Peter Teoh 5 лет назад 0
@PeterTeoh Спасибо. Я был в состоянии решить проблему. Правила работали, но по какой-то причине потребовалось некоторое время для подтверждения / подтверждения. Я не знаю, почему это заняло время, может быть, это были инструменты, которые я использовал. Iptables не был таким большим. Simon Song 5 лет назад 0

0 ответов на вопрос

Похожие вопросы