Управление Firewalld

Как я и просил в комментариях к этой теме: блокируйте все, кроме нескольких ips, с помощью 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:

1 ответ

Решение

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

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

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

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

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