Что такое правило NFT, позволяющее SSH туннелю работать?
Я могу установить SSH соединение с правилами "Все IP совпадают" в nft:
table ip filter {
chain INPUT {
type filter hook input priority 0; policy drop;
iifname "eth0" ip saddr { 0.0.0.0-255.255.255.255 } accept
}
chain FORWARD {
type filter hook forward priority 0; policy accept;
}
chain OUTPUT {
type filter hook output priority 0; policy accept;
}
}
Туннель SSH работает без вышеуказанного набора правил, но не работает, когда nft представляет:
Вопрос: Каково минимальное правило, чтобы туннель SSH работал при сохранении политики ввода "отбрасывать"?
1 ответ
Политика по умолчанию "drop" применяется ко всему интерфейсу. В то время как пользовательские правила относятся к "eth0" конкретно. В результате любой трафик, использующий петлевой интерфейс, такой как туннель SSH, будет заблокирован политикой по умолчанию.
Чтобы ответить на вопрос, удалите интерфейс "eth0":
...
chain INPUT {
type filter hook input priority 0; policy drop;
ip saddr { 0.0.0.0-255.255.255.255 } accept
}
...
Или добавьте интерфейс обратной связи:
...
chain INPUT {
type filter hook input priority 0; policy drop;
iifname { "lo", "eth0" } ip saddr { 0.0.0.0-255.255.255.255 } accept
}
...