Что такое правило 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
}
...
Другие вопросы по тегам