Таблицы IP Linux в Open-WRT: пересылка против фильтрации пакетов с сохранением состояния

258
quaternioneer

Я следовал Руководству по системному администрированию Unix и Linux, полному примеру 5-го издания для iptables. Фильтрация пакетов с сохранением состояния позволила мне печатать удаленно на моем MakerBot, но сегодня я не смог подключиться к своему домашнему серверу через SSH. В справочнике SysAdmin говорится, что фильтрация пакетов с отслеживанием состояния - это самая мощная функция, которую Netfilter предоставляет для межсетевого экрана, но она может добавить ненужную сложность сети. Следовательно, я, вероятно, урежу свои потери с помощью фильтрации пакетов с отслеживанием состояния, если кто-то не сможет разрубить узел Гордиана.

IPtables -L -v вывод:

0 0 ACCEPT tcp -- any any anywhere icarus.lan tcp dpt:ssh 0 0 ACCEPT tcp -- any any anywhere icarus.lan tcp dpt:www 0 0 ACCEPT tcp -- any any anywhere icarus.lan tcp dpt:https 

23M 21G ПРИНЯТЬ все - любое в любом месте в любом месте, СВЯЗАННОЕ, УСТАНОВЛЕННОЕ

По какой-то причине Open-WRT / LEDE сбрасывает мою политику INPUT по умолчанию, чтобы принять даже после того, как я установил ее в DROP. Однако это правило, похоже, не соответствует ничему, поэтому я не слишком обеспокоен. Вы можете видеть выше, у меня есть набор пересылки пакетов для SSH, но это правило не соответствует ничему. Спасибо за ваше время и вклад.

0
Если вы просто хотите, чтобы некоторые порты (ssh, print) на некоторых компьютерах в вашей домашней сети были видны извне (при условии, что ваш провайдер предоставил вам публичный IP-адрес и не использует NAT), [перенаправление портов] (https: / /wiki.openwrt.org/doc/howto/port.forwarding) может быть проще, чем настройка брандмауэра вручную. Если ваш провайдер использует NAT операторского уровня, не ожидайте, что это сработает (или используйте IPv6). dirkt 6 лет назад 0
В краткосрочной перспективе переадресация портов будет проще, но я не уверен, что в долгосрочной перспективе это будет проще. Пересечение между интерфейсом четырех маршрутизаторов, которые я настроил для переадресации портов для SSH, www, печать, мало: переадресация портов всегда указывается в другом месте в интерфейсе веб-браузера, и один маршрутизатор называет это «управление сервисом» вместо. Однако под капотом я уверен, что все они используют iptables. quaternioneer 6 лет назад 0

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

0
quaternioneer

После некоторого устранения неполадок сегодня утром мне удалось открыть порт 22, но с оговоркой, что моя политика по умолчанию - ПРИНЯТЬ. Я могу только SSH в мой маршрутизатор, а не мой сервер (Icarus). Очевидно, что с IPv6 я мог подключиться напрямую к Icarus, но в городе есть только одна кофейня с IPv6. Ни один из них не приемлем в долгосрочной перспективе, поэтому я все еще приветствую совет, но в краткосрочной перспективе мой конфиг приемлем.

Хм, вы не хотите, чтобы ваш маршрутизатор был открыт на 22 декабря. Поддерживает ли указанный маршрутизатор трансляцию портов? Tim_Stewart 6 лет назад 0
IPtables поддерживают PAT. Некоторые тексты могут называть это NAT. quaternioneer 6 лет назад 0
Тот факт, что всякий раз, когда я зацикливаюсь на безопасности, будучи в кафе, я теряю SSH-соединение, значительно замедляет количество конфигураций, которые я могу выполнить за неделю. Я думал, что могу имитировать внешнее соединение, используя точку доступа моего телефона, но иногда я могу подключиться через SSH, используя точку доступа, но не могу в кафе, которое не имеет смысла для меня. quaternioneer 6 лет назад 0
Хм, я думаю, это будет зависеть от точки доступа. Некоторые из тех, что находятся в моем регионе (в стиле незаполненного портала), разрешают только исходящие порты 53, 80 и 443 в сети. Может быть, попробуйте разместить SSH-соединение на другом порту. Или VPN в ящик, который, как вы знаете, может подключаться к устройствам, которые необходимо настроить. Tim_Stewart 6 лет назад 0
0
quaternioneer

Причина, по которой моя мобильная точка доступа подключена к моему серверу из локальной сети, заключается в том, что я не включил WiFi на своем смартфоне. Я понял, что вместо того, чтобы пытаться напрямую манипулировать iptables, было бы гораздо проще настроить переадресацию портов в браузере, чем SSH на маршрутизатор и запустить iptables -L -v, чтобы увидеть, что изменилось в бэкэнде. Поскольку изменения находятся в предварительной и последующей передаче, вышеупомянутая команда не показала никаких изменений впоследствии, поэтому мне пришлось запустить iptables -t nat -L, чтобы увидеть, что изменилось.