LINUX.ORG.RU
ФорумAdmin

Iptables с того света

 , , , , virbr0


0

1

Имеется работающая система на основе CentOS 7. Сервисы iptables и firewalld отстановлены и отключены (файл /etc/sysconfig/iptables существует и содержит стандартные правила: на входящих разрешить ssh, остальное запретить). При этом существут следующие активные правила iptables:

*mangle

:PREROUTING ACCEPT [240409:32592413]
:INPUT ACCEPT [240409:32592413]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [158835:38568858]
:POSTROUTING ACCEPT [158835:38568858]
[0:0] -A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT

*filter

:INPUT ACCEPT [240418:32593029]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [158841:38569806]
[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
[0:0] -A FORWARD -i virbr0 -o virbr0 -j ACCEPT
[0:0] -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
COMMIT

Интерфейс virbr0 (и с ним некий virbr0-nic) существует без моего участия:

17: virbr0    inet 10.37.130.2/24 brd 10.37.130.255 scope global virbr0\       valid_lft forever preferred_lft forever

Упоминаний, где могут подниматься эти правила, я не нашёл. Строка «10.37.130.2» в /etc/ встречается в следующих файлах:

/etc/issue
/etc/libvirt/qemu/networks/autostart/Host-Only.xml
/etc/libvirt/qemu/networks/Host-Only.xml
/etc/vz/digested.network.xml
/etc/vz/network.xml

До последнего времени это не беспокоило, но возникло желание добавить своё правило. С одной стороны эти, похоже, не нужны и их можно удалять или просто не обращать на них внимание. Но с другой, если правила меняются без моего участия то это может случиться ещё раз. Причём неизвестно как это будет сочетаться с работающими правилами iptables или firewalld.

Как найти кто за них ответственный?

★★★★★

Последнее исправление: sin_a (всего исправлений: 1)
Ответ на: комментарий от sin_a

Возможно. Оно раздаёт IP по DHCP, если не перенастроить, и открывает само всё необходимое. Подробнее не помню, но удавалось это всё отключить, и управлять вручную.

anonymous
()
Ответ на: комментарий от anonymous

В общем, против них непосредственно возражений нет. Но если вписать что нибудь в /etc/sysconfig/iptables и стартовать его (и включить), то при перезапуске libvirt или перезагрузке можно ожидать что я увижу свои правила, а libvirt пусть добавляет свои в конец если хочет? Надо будет смоделировать на отдельном компьютере, но это займёт некоторое время.

sin_a ★★★★★
() автор топика

существует без моего участия

а тебе сообственно нужен этот интерфейс virbr0? Сеть на виртуалках через него поднята?

возникло желание добавить своё правило

как правило такое юзают https://libvirt.org/hooks.html https://bozza.ru/art-268.html

ving2
()
Последнее исправление: ving2 (всего исправлений: 1)
Ответ на: комментарий от ving2

В том и дело что нет. Он существует но не используется. Даже судя по счётчикам, по этим правилам не прошло ни одного пакета. Виртуализация контейнерная, для контейнеров сеть сделана и работает через мосты. Просто не стал трогать то, что пришло с установкой. Собственно, больше всего смущало что не могу найти где это управляется. Каталога /etc/libvirt/hooks не существует. Подозреваю что либвирт мне вообще не нужен, но это нужно смоделировать на другом железе и проверить.

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

Даже судя по счётчикам, по этим правилам не прошло ни одного пакета

Если включишь /proc/sys/net/bridge/bridge-nf-call-iptables или /sys/class/net/virbr0/bridge/nf_call_iptables, то счетчики в будут != 0.

Вообще это полезная вещь, если нужно мониторить/фильтровать трафик через мост без ebtables

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Включил:

# cat /sys/class/net/virbr0/bridge/nf_call_iptables
1
# cat /proc/sys/net/bridge/bridge-nf-call-iptables
1
# iptables-save -c | grep "^\["
[0:0] -A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
[0:0] -A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
[0:0] -A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
[0:0] -A FORWARD -i virbr0 -o virbr0 -j ACCEPT
[0:0] -A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
[0:0] -A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
#
Трафика на контейнеры прошло может быть не очень много, но он гарантированно был

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

В том и дело что нет. Он существует но не используется

так удали его.

не могу найти где это управляется

Сети не используемые нужно удалить, удалится и этот интерфейс и правила не будут подгружаться.

Подозреваю что либвирт мне вообще не нужен

Правильнее сети от libvirt-а не нужны, если все настроено через мосты.

Каталога /etc/libvirt/hooks не существует.

Он создается самостоятельно, но оно тебе не надо судя по всему...

ving2
()
Ответ на: комментарий от ving2

В /etc/sysconfig/network-scripts его нет, то есть надо полагать нужно остановить libvirtd. Но если в интерфейсе, вернее в его ненужности, я почти уверен то в этом уже нет.

sin_a ★★★★★
() автор топика
Ответ на: комментарий от sin_a

/etc/sysconfig/network-scripts его нет

Его там и не должно быть.

ving2
()
Ответ на: комментарий от ving2

Тебе нужно грохнуть какую то сеть (по умолчанию она default называется) :

virsh net-destroy default
virsh net-undefine default

ving2
()
Ответ на: комментарий от ving2
# virsh net-list --all
 Имя               Статус Автозапуск Persistent
----------------------------------------------------------
 Bridged              активен yes           yes
 Host-Only            активен yes           yes
 vzlan                активен yes           yes
 vzwan                активен yes           yes

Судя по содержимому /etc/libvirt/qemu/networks, с тем адресом Host-Only

sin_a ★★★★★
() автор топика
Последнее исправление: sin_a (всего исправлений: 1)
Ответ на: комментарий от sin_a

Вообщем тебе остается определиться, что из этого списка не нужно.

ving2
()
Последнее исправление: ving2 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.