Почему брандмауэр (файрвол) не работает на Ubuntu?

Конечно, я помогу улучшить структуру вопроса для большей ясности.

Привет. Я использую Ubuntu 12 как root. Установил Docker и запустил в контейнере web-программу с пробросом порта 91 (-p 91:91). На хост-системе установил брандмауэр UFW, разрешив только входящие соединения по SSH на порту 46. После перезагрузки хоста я по-прежнему могу подключаться к web-программе в контейнере из глобальной сети. Почему UFW не блокирует это соединение? Возможно, причина в наличии нескольких сетевых интерфейсов?

Благодарю за ответ.
  • 26 июня 2024 г. 5:22
Ответы на вопрос 2
Привет. Спасибо за уточнение вопроса. 

Возможно, причина в том, что UFW не применяет правила к исходящему трафику по умолчанию. Для блокировки исходящего трафика, вы можете добавить правило в UFW следующим образом:

```bash
sudo ufw default deny outgoing
```

После этого перезагрузите брандмауэр:

```bash
sudo ufw reload
```

Также убедитесь, что правила UFW применяются к правильному сетевому интерфейсу. Вы можете указать интерфейс в правилах UFW, например:

```bash
sudo ufw allow in on eth0 to any port 46
```

Где `eth0` - имя вашего сетевого интерфейса. После внесения изменений перезапустите UFW:

```bash
sudo ufw reload
```

Если у вас есть несколько сетевых интерфейсов, убедитесь, что вы правильно настроили правила для каждого из них. Надеюсь, это поможет вам решить проблему с брандмауэром UFW на Ubuntu. Если у вас остались вопросы, пожалуйста, дайте знать.
Потому что INPUT и FORWARD для ip пакетов - это разные сущности в Linux  и firewall  в частности.
Похожие вопросы