Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Найти ошибку в правиле IPTABLES  (Прочитано 806 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн saifuddin

  • Автор темы
  • Активист
  • *
  • Сообщений: 918
    • Просмотр профиля
Найти ошибку в правиле IPTABLES
« : 06 Марта 2016, 11:42:19 »
Доброго времени суток!
Помогите найти ошибку в правиле IPTABLES. Как то, все не очевидно получается. По логике должно работать, а все не работает.


Код: (javascript) [Выделить]
#!/bin/sh
# для удобства, особенно если интерфейсов несколько
INET_IFACE="
eth0
"
# доверенные сервера
PRIV_IP="
192.168.0.102
192.168.0.103
"
# перечень портов только для разрешённых диапазонов. ограничение до 15 портов.
TCP_PORTS_PRIV="873,1379,3306,4567,4568,4444"
UDP_PORTS_PRIV=""
# перечень портов в кавычках через запятые пробелов, которые нужно разрешить (отдельно TCP и UDP)
TCP_PORTS="80,123,22,53"
TCP_PORTS_OUT="80,123,22,53,25"

# тоже для удобства
IPTABLES="/sbin/iptables"
IPTABLES6="/sbin/ip6tables"
# стандартные действия
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P FORWARD DROP
#IP6 полностью блокируем. Он нам не нужен.
$IPTABLES6 -P INPUT DROP
$IPTABLES6 -P OUTPUT DROP
$IPTABLES6 -P FORWARD DROP

# удаляем все имеющиеся правила
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
$IPTABLES -Z
$IPTABLES -t nat -Z
$IPTABLES -t mangle -Z

# tcp, прошедшие основную проверку
$IPTABLES -N allowed
# открыты для всех порты
$IPTABLES -N allowed_ports_in
# открыты для всех порты OUTPUT
$IPTABLES -N allowed_ports_out

# все пакеты соотв. протоколов таблицы INPUT
$IPTABLES -N tcp_packets_in
$IPTABLES -N tcp_packets_out

# Доверенные IP
$IPTABLES -N trust_ip_in
$IPTABLES -N trust_ip_out




# принимаем все пакеты, относящиеся к уже установленным соединениям
$IPTABLES -A allowed -p TCP -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -j RETURN


for ip in $PRIV_IP;
do
$IPTABLES -A trust_ip_in -s $ip -i $INET_IFACE -p TCP -m multiport --dports $TCP_PORTS_PRIV -j RETURN
$IPTABLES -A trust_ip_in -i $INET_IFACE -p TCP -j DROP
done


for ip in $PRIV_IP;
do
$IPTABLES -A trust_ip_out -d $ip -o $INET_IFACE -p TCP -m multiport --sports $TCP_PORTS_PRIV -j RETURN
$IPTABLES -A trust_ip_out -o $INET_IFACE -p TCP -j DROP
done

#Разрешенные порты для всех
$IPTABLES -A allowed_ports_in -p TCP -m multiport --dports $TCP_PORTS -j ACCEPT
$IPTABLES -A allowed_ports_in -p TCP -j RETURN

#Разрешенные порты для всех OUTPUT
$IPTABLES -A allowed_ports_out -p TCP -m multiport --sports $TCP_PORTS_OUT -j ACCEPT
$IPTABLES -A allowed_ports_out -p TCP -j RETURN

# здесь отрываем порты для всех наших серверов
# INPUT tcp_packets_in
$IPTABLES -A tcp_packets_in -p TCP -j allowed_ports_in
$IPTABLES -A tcp_packets_in -p TCP -j trust_ip_in
$IPTABLES -A tcp_packets_in -p TCP -j ACCEPT
# OUTPUT tcp_packets_out
$IPTABLES -A tcp_packets_out -p TCP -j allowed_ports_out
$IPTABLES -A tcp_packets_out -p TCP -j trust_ip_out
$IPTABLES -A tcp_packets_out -p TCP -j ACCEPT


$IPTABLES -A INPUT -p ALL -i $INET_IFACE -j allowed
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets_in


$IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j allowed
$IPTABLES -A OUTPUT -p TCP -o $INET_IFACE  -j tcp_packets_out

Это вырезка из всего кода. Тут проблема заключается в этих двух циклах. Там на отказ не хочется подключаться указанный в переменной $PRIV_IP сервер к порту, указанному в $TCP_PORTS_PRIV. Стоит Galera cluster вроде все это его порты. Так же пробую подключиться по telnet (Так быстрее можно определить, открыт порт или нет).  telnet 192.168.0.104 3306 не подключается. 192.168.0.104 это сервер, на котором запускается этот скрипт(iptables)

Помогите разобраться в чем проблема!?

ТС не появлялся на Форуме более полугода по состоянию на 13/07/2019 (последняя явка: 28/07/2017). Модератором раздела принято решение закрыть тему.
--zg_nico
« Последнее редактирование: 13 Июля 2019, 22:33:00 от zg_nico »
Ubuntu 22.04

 

Страница сгенерирована за 0.016 секунд. Запросов: 20.