ufw блокирует исходящие вызовы на IP-адрес из белого списка

Итак, вот сценарий.

В моем ubuntu я хочу заблокировать весь исходящий трафик, кроме некоторых IP-адресов, что я делаю, добавляя правила ufw, и он отлично работает. Таким образом, службы, к которым я обращаюсь из ubuntu, - это клиент MQTT, который прослушивает порт 1884 на другом сервере, чей IP-адрес я внес в белый список в ufw. Теперь это работает нормально, пока я не попытаюсь установить соединение с помощью безопасного MQTT на порту 1885, теперь это не работает, пока я не отключу брандмауэр один раз, а когда я снова его включаю, он работает каждый раз. Здесь следует отметить, что IP-адрес сервера занесен в белый список в ufw. Так что в этом нет смысла. Если у вас есть идеи, дайте мне знать.

sudo ufw default allow incoming
sudo ufw default deny outgoing
sudo ufw allow out 53
sudo ufw allow out 60001
sudo ufw allow out ntp
sudo ufw allow out to xx.xx.xx.xxx

теперь это работает до тех пор, пока я не использую простой клиент mqtt без tls, когда я пытаюсь включить клиент tls mqtt, это не работает, но работает после того, как я отключил брандмауэр, подключил mqtt к tls, а затем снова включил брандмауэр.

0
задан 16 June 2021 в 22:07

1 ответ

В UFW порядок правил имеет значение. Глядя на ваш список, вы установили отрицание всех исходящих перед разрешающим утверждением. Так что произойдет, если при попытке установить исходящее соединение UFW проверит все правила, чтобы увидеть, есть ли совпадение, и в данном случае первое совпадение - это запрет всех исходящих. Поэтому он блокирует соединение, но не проверяет наличие других совпадений.

Если вы отредактируете файл user.rules в

/etc/ufw/user.rules

Затем измените порядок правил так, чтобы разрешающее утверждение было перед запрещающим все утверждением, и это должно сработать.

0
ответ дан 28 July 2021 в 11:27

Другие вопросы по тегам:

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