Рейтинг:0

Почему SSH зависает при использовании следующих правил nftables?

флаг bz
$ кошка /etc/nftables.conf
#!/usr/sbin/nft -f

очистить набор правил

таблица IP-брандмауэра {
  цепочка ввода {
    тип filter фильтр приоритета ввода хука; падение политики;
    iif "lo" принять
    iif != "lo" ip ddr 127.0.0.0/8 drop
    tcp dport 22 принять
    состояние ct установлено, связанное с принятием
  }

  цепочка вперед {
    тип фильтра перехвата приоритета фильтра; падение политики;
  }

  выход цепи {
    фильтр приоритета вывода обработчика типа фильтра; падение политики;
    iif "lo" принять
    udp dport { 53, 123 } принять
    TCP-порт {53, 80, 443} принять
    состояние ct установлено, связанное с принятием
  }
}

Соединение в конечном итоге работает, но это занимает гораздо больше времени, чем предполагалось.

Бег журналctl -f, Я понимаю systemd[1]: не удалось запустить диспетчер пользователей для UID 1000 прежде чем соединение будет окончательно установлено.

Если я побегу набор правил сброса nft, соединение работает сразу.

sunknudsen avatar
флаг bz
Нашел проблему… опечатка в цепочке выходных данных. `iif "lo" accept` должно быть `oif "lo" accept`.
djdomi avatar
флаг za
если вы принимаете ssh только для локального хоста, то есть локально, вы не можете просто привязать ssh к локальному хосту?
Рейтинг:0
флаг fr

Для входящих соединений ВСЕ внешние входящие пакеты соответствуют этому правилу:

iif != "lo" ip ddr 127.0.0.0/8 drop

поскольку они приходят на интерфейс, который не является локальной петлей, и их адрес назначения определенно не находится в сети 127.0.0.0/8. Я удивлен, что это происходит даже после некоторого тайм-аута, если у вас также не запущен и не работает IPv6.

Для всех локально инициированных исходящих подключений, которые не являются DNS, NTP, HTTP и HTTPS, применяется политика отбрасывания выходной цепочки. Опять же - они вообще не должны работать, если у вас не запущен и не запущен IPv6.

sunknudsen avatar
флаг bz
Спасибо за помощь. Найдена проблема, смотрите комментарии.
Рейтинг:0
флаг bz

Нашел проблему… опечатка в цепной выход. iif "lo" принять должно быть oif "lo" принять.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.