Назад | Перейти на главную страницу

Управление Firewalld

Как я спросил об этом в комментариях к этой теме: заблокировать все IP-адреса, кроме нескольких, с помощью firewalld

Я ищу способ запретить все публичные IP-адреса, кроме моего, в публичной зоне firewalld.

На данный момент в моей общедоступной зоне есть только службы ssh / http / https, и я указал, что IP-адреса источников требуются для всего Интернета.

Дело в том, что я не понимаю, почему firewalld не фильтрует исходные IP-адреса по запросу?

Обычно, насколько я понимаю, при указании зоны исходные IP-адреса просят Firewalld отбрасывать все запросы, кроме тех, которые поступают с указанных IP-адресов.

Но на моем компьютере он не работает, поскольку я могу подключиться к машине из дома, которая не является одним из указанных исходных IP-адресов.

Некоторые предлагают создать новую зону с именем «Internal / Other», дело в том, что у меня есть только один общедоступный интерфейс, поскольку сервер не находится в частной сети, так почему я должен создавать / использовать другую зону, поскольку общедоступная зона должна отбрасывать все IP-адреса кроме указанных в списке источников.

Открывает ли публичная зона Firewalld добавленные в нее сервисы для всего мира автоматически?

Если я создам вторую зону с именем internal, только с IP-адресами службы ssh и источников, а затем свяжу эту зону с моим eth0, будет ли firewalld блокировать все IP-адреса, не являющиеся источниками?

Конечно, выполнение такого процесса будет предполагать, что я удаляю службу ssh из служб, обслуживаемых общедоступной зоной.

Мой брандмауэр:

[root@groot ~]# firewall-cmd --list-all-zones
block
  interfaces:
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

dmz
  interfaces:
  sources:
  services: ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

drop (default)
  interfaces:
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

external
  interfaces:
  sources:
  services: ssh
  ports:
  masquerade: yes
  forward-ports:
  icmp-blocks:
  rich rules:

home
  interfaces:
  sources:
  services: dhcpv6-client ipp-client mdns samba-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

internal (active)
  interfaces: eth0
  sources: 192.168.0.0/24
  services: ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

public
  interfaces:
  sources:
  services: dhcpv6-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

trusted
  interfaces:
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

work
  interfaces:
  sources:
  services: dhcpv6-client ipp-client ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

Это похоже на вашу проблему:

internal (active)
  interfaces: eth0
  sources: 192.168.0.0/24

Если вы укажете обе интерфейсы и исходные IP-адреса для зоны, тогда эта зона соответствует трафику из либо интерфейс или исходные IP-адреса.

Если вы хотите, чтобы зона соответствовала только исходным IP-адресам, удалите из нее интерфейс.