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

Блокировать исходящий трафик порта 25 с определенных IP-адресов на хосте openvz

У меня есть сервер под управлением CentOS 5.5, работающий как хост OpenVZ. Один из контейнеров рассылает спам, и мне нужно заблокировать его возможность подключаться к исходящему порту 25. Я посмотрел на http://wiki.openvz.org/Setting_up_an_iptables_firewall, но эта настройка предназначена для предотвращения ВХОДЯЩЕГО трафика, и я не нашел рабочего правила IPTABLES, которое препятствовало бы подключению определенного IP-адреса к OUTBOUND-порту.

Я пробовал:
iptables -I OUTPUT --source [CONTAINER_IP] --protocol tcp --destination-port 25 -j DROP
но это, похоже, не блокирует его. Любые идеи были бы хорошы.

Таблица OUTPUT используется для отправки трафика, исходящего от хоста. С виртуализацией я не уверен, использует ли трафик цепочку OUTPUT или он маршрутизируется с виртуального устройства. через хост, он может использовать вместо этого цепочку FORWARD. Попробуйте заменить OUTPUT на FORWARD в своем правиле.

Ответ Кайла Смита верен с небольшим примечанием: это правило должно быть помещено перед любыми другими правилами FORWARD:

iptables -L

Цепочка ВПЕРЕД (политика ПРИНЯТЬ)

target prot opt ​​источник назначения

DROP tcp - [CONTAINER_IP] в любом месте tcp dpt: smtp

RH-Firewall-1-INPUT все - в любом месте в любом месте

/ и т. д. / sysconfig / iptables

: INPUT ACCEPT [0: 0]

: FORWARD ACCEPT [0: 0]

: OUTPUT ACCEPT [0: 0]

: RH-Firewall-1-INPUT - [0: 0]

/ * Блокируем исходящий 25 порт для контейнеров * /

-A FORWARD -p tcp --destination-port 25 -s [CONTAINER_IP] -j DROP

/ * Основной конфиг * /

-A INPUT -j RH-Firewall-1-INPUT

-A ВПЕРЕД -j RH-Firewall-1-INPUT