LINUX.ORG.RU

IPtables --list проблемы с выводом

 


0

1

Доброго времени суток, уважаемые линуксоиды! Понадобилось мне тут сервер настроить и я натолкнулся на проблему с iptables. При применении моих правил они (правила) работают, однако команда iptables --list (-L -v) работает очень долго. Мои правила выглядят следующим образом:

echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t filter
iptables -F -t mangle
iptables -F -t nat

iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp -m tcp --dport 22 --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name root --rsource
iptables -A INPUT -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT

iptables -A INPUT -s 1.1.1.1 -p udp -m udp --dport 5060 -j ACCEPT
iptables -A INPUT -s 1.1.1.1 -p udp -m udp --dport 10000:20000 -j ACCEPT

iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j DROP

iptables -A FORWARD -o eth1 -s 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -d 192.168.10.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -s 192.168.10.0/24 -j MASQUERADE

iptables -A INPUT -i eth1 -j DROP

При этом eth1 смотрит в мир, eth0 это локалка и, соответственно eth1 маскарадит инет в eth0 и дальше в по сети. Если я пишу:

iptables -A INPUT -i eth1 -j ACCEPT
то iptables -L работает нормально.

Подскажите пожалуйста, в чем у меня ошибка?


Ответ на: комментарий от crowbar

Так работает! Спасибо! А почему долго думает без этого параметра? P.S. попутный вопрос: надежно состряпал правила?)

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

А почему долго думает без этого параметра?

Потому что пытается резолвить IP-адреса в имена, но не может обратиться к DNS-серверу. Так и ждет, пока запрос не отвалится по таймауту.

P.S. попутный вопрос: надежно состряпал правила?)

iptables -P FORWARD ACCEPT
iptables -A FORWARD -o eth1 -s 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -d 192.168.10.0/24 -j ACCEPT

Как-то не очень надежно

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

Первое поправил на DROP, а вот с этим:

iptables -A FORWARD -o eth1 -s 192.168.10.0/24 -j ACCEPT
iptables -A FORWARD -i eth1 -d 192.168.10.0/24 -j ACCEPT
Если уберу, то инет не смогу прокинуть через интерфейсы ведь. Или есть другой способ?

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

Или есть другой способ?

Если iptables и ядро достаточно новые, то да.

iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT

Это вместо

iptables -A FORWARD -i eth1 -d 192.168.10.0/24 -j ACCEPT

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

Тааакс, работает! Я заменил Вашу строчку на свою. А вместо

iptables -A FORWARD -o eth1 -s 192.168.10.0/24 -j ACCEPT
что нужно добавить? Потому как без него не работает.

К слову, у меня CentOS 6.5 и iptables 1.4.7

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

Зависит от топологии сети. Если сегмент один и данный сервер - шлюз по умолчанию или сегментов несколько, и шлюз в Интернет всего один и это - этот сервер, тогда да, можно.

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

А вместо него не надо ничего добавлять. Это правило, как я понимаю судя по вашей топологии, разрешает доступ в интернет(через eth1) для всех, чьи IP-адреса находятся в сети 192.168.10.0/24. Это ж вам и надо, правильно?

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

Например? Я с удовольствием выслушаю другие варианты!

Это 2 правила - DNAT и SNAT, вместо маскардинга. Если условия позволяют, то так будет надежнее и производительнее!

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

А вместо него не надо ничего добавлять. Это правило, как я понимаю судя по вашей топологии, разрешает доступ в интернет(через eth1) для всех, чьи IP-адреса находятся в сети 192.168.10.0/24. Это ж вам и надо, правильно?

Да, все верно! Спасибо Вам! =)

Это 2 правила - DNAT и SNAT, вместо маскардинга. Если условия позволяют, то так будет надежнее и производительнее!

Попробую!

Yazov ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.