Настройка firewall в CentOS(OpenVZ) для zabbix-agent

Настройка firewall в CentOS для Zabbix

Решал проблему с системой OpenVZ на безе CentOS7 и CentOS8, при которой с контейнера нельзя было подключиться к агенту на самом хосте. Причём проблема такая была именно внутри одного сервера: с контейнеров на других серверах с этой же ОС можно было сделать подключение, в а пределах одного сервера не работало.

Для начала на сервер надо выполнять вот такую команду:

iptables -vnL

По результату будет видно, что интерфейса venet0 настроено правило DROP для всех портов, кроме разрешённых.

Поэтому для этого интерфейса надо разрешить входящие соединения на порт 10050:

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 10 -p tcp --dport 10050 -i venet0 -j ACCEPT

При необходимости можно разрешить ping:

firewall-cmd —permanent —direct —add-rule ipv4 filter INPUT 0 -p icmp -i venet0 -j ACCEPT

Чтобы просто разрешить подключение к zabbix агенту с других серверов или контейнеров на других серверах, то достаточно выполнить команду:

firewall-cmd --permanent --zone=public --add-port=10050/tcp

После всех команд выше надо перезапускать firewall:

firewall-cmd --reload

Ещё нашёл такое решение конкретно для zabbix агента.

firewall-cmd --permanent --new-service=zabbix
firewall-cmd --permanent --service=zabbix --add-port=10050/tcp
firewall-cmd --permanent --service=zabbix --set-short="Zabbix Agent"
firewall-cmd --permanent --add-service=zabbix
firewall-cmd --reload

По аналогии можно сделать всё то же самое для других нужных сервисов.


Разрешить ping для всех ip адресов:

firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT

Или для конкретного ip адреса:

firewall-cmd --direct --permanent --add-rule ipv4 filter INPUT 10 -p tcp -s 10.10.10.247 --dport 10050 -i venet0 -j ACCEPT

Все текущие правила можно вручную без команд отредактировать в файле:

nano /etc/firewalld/direct.xml

#Iptable вместо firewall-cmd на CentOS

На CentOS можно использовать Iptables. Но если включен firewall-cmd, то правила не будут сохранятся, которые были введены через iptables. Отключение firewall-cmd:

systemctl disable firewalld
systemctl mask firewalld
systemctl enable iptables

Устанавлвиаем пакет, который позволит нам сохранять правила iptabes после перезагрузки и восстанавливать их:

yum install iptables-services

Теперь правила можно сохранять так:

service iptables save

И восстанавливать:

service iptables restore

 


Использованный материал

https://shurshun.ru/knowledgebase/firewalld-zabbix-agent/

https://www.8host.com/blog/perexod-s-firewalld-na-iptables-v-centos-7/

Добавить комментарий