Ubuntu ufw: установить правило для каждого интерфейса

30

Я хочу создать правило, позволяющее любому пользователю на eth1 получить доступ к порту 80. Может ли UFW сделать это или я должен вернуться к использованию Shorewall?

Чтобы уточнить: это вопрос возможностей, может ли UFW обрабатывать интерфейсы в качестве цели?

Антоний Блох
источник
Я специально ищу указывать интерфейс, а не ip или сеть.
Антониус Блох
Это рабочая станция управления / сапожник / марионеточный сервер. Он имеет 4 интерфейса, соединяющих его с 4 различными сетями, 2 общедоступными сетями, 1 мультитенантной сетью и 1 частной сетью управления. Я хочу убедиться, что серверы tftp, dhcp и другие службы обеспечения доступны только в сети управления, а не в других сетях.
Антониус Блох

Ответы:

51

Я наконец прочитал справочную страницу:

By default, ufw will apply rules to all available interfaces. To
limit  this,  specify DIRECTION on INTERFACE, where DIRECTION is
one of in or out (interface aliases  are  not  supported).   For
example,  to  allow  all  new incoming http connections on eth0,
use:

ufw allow in on eth0 to any port 80 proto tcp

Чтобы уточнить немного, ответ - да, UFW может использовать интерфейс в качестве цели. Мое конкретное правило выглядело так:

ufw allow in on eth1 to [eth1 ip addr] port 80 proto tcp
Антоний Блох
источник
3

Да, если eth1 - это обычный интерфейс с собственным IP-адресом (и этот IP-адрес - то, к чему вы пытаетесь предоставить доступ):

ufw allow from any to [eth1 ip addr] port 80

Но если есть что-то более сложное, чем это, то нам нужно больше информации о том, как эта система настроена.

Шейн Мэдден
источник
См. Мои комментарии выше, поскольку возможно, что арендаторы могут изменять настройки сети и получать доступ к этому IP-адресу, это может не сработать.
Антониус Блох
Если они могут изменять настройки сети, то у них есть root и также могут изменять правила брандмауэра, независимо от того, какой программный брандмауэр используется.
Шейн Мэдден