Решено: правила iptables (отказывается работать с нормальными правилами)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

Rovnyi
Сообщения: 46
ОС: Debian Lenny

Решено: правила iptables

Сообщение Rovnyi »

суть дела такова. версия iptables 1.4.2. до сегодняшнего дня все правила работали. тут случилось так, что сервак пару раз просто вырубился(питание отключалось). и теперь когда я применяю старые правила командой iptables-restore из файла в котором были сохранены работающие правила, они не работают, т.е сервак не выпускает в интернет, не позволяет пинговать через себя внешку и вообще ведет себя так как будто файрволл настроен на дроп всех пакетов из локалки. eth1 - смотрит во внешку, eth0 - в локалку. локалка висит на 192.168.0.0/24 сетке. вот правила с файла с которого всегда подгружался.

Код: Выделить всё

# Generated by iptables-save v1.4.2 on Tue May  5 19:22:28 2009
*nat
:PREROUTING ACCEPT [81:4176]
:POSTROUTING ACCEPT [43:2845]
:OUTPUT ACCEPT [43:2845]
[20:960] -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
COMMIT
# Completed on Tue May  5 19:22:28 2009
# Generated by iptables-save v1.4.2 on Tue May  5 19:22:28 2009
*mangle
:PREROUTING ACCEPT [570:92068]
:INPUT ACCEPT [517:89499]
:FORWARD ACCEPT [53:2569]
:OUTPUT ACCEPT [582:294072]
:POSTROUTING ACCEPT [582:294072]
:outtos - [0:0]
:pretos - [0:0]
[570:92068] -A PREROUTING -j pretos
[582:294072] -A OUTPUT -j outtos
[0:0] -A outtos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0xff
[0:0] -A outtos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10/0xff
[0:0] -A outtos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10/0xff
[0:0] -A outtos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10/0xff
[0:0] -A outtos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08/0xff
[0:0] -A outtos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08/0xff
[0:0] -A pretos -p tcp -m tcp --dport 22 -j TOS --set-tos 0x10/0xff
[0:0] -A pretos -p tcp -m tcp --sport 22 -j TOS --set-tos 0x10/0xff
[0:0] -A pretos -p tcp -m tcp --dport 21 -j TOS --set-tos 0x10/0xff
[0:0] -A pretos -p tcp -m tcp --sport 21 -j TOS --set-tos 0x10/0xff
[0:0] -A pretos -p tcp -m tcp --sport 20 -j TOS --set-tos 0x08/0xff
[0:0] -A pretos -p tcp -m tcp --dport 20 -j TOS --set-tos 0x08/0xff
COMMIT
# Completed on Tue May  5 19:22:28 2009
# Generated by iptables-save v1.4.2 on Tue May  5 19:22:28 2009
*filter
:INPUT ACCEPT [181:47945]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [582:294072]
[336:41554] -A INPUT -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
[0:0] -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j LOG --log-level 7 --log-tcp-options
[0:0] -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,ACK SYN -j REJECT --reject-with icmp-port-unreachable
[0:0] -A FORWARD -s 192.168.0.0/24 -i eth1 -p icmp -j ACCEPT
[0:0] -A FORWARD -d 192.168.0.0/24 -o eth1 -p icmp -j ACCEPT
[0:0] -A FORWARD -s 192.168.0.0/24 -i eth1 -p udp -m udp --dport 53 -j ACCEPT
[0:0] -A FORWARD -d 192.168.0.0/24 -o eth1 -p udp -m udp --sport 53 -j ACCEPT
[0:0] -A FORWARD -s 192.168.0.0/24 -i eth1 -p tcp -m multiport --dports 20,21,25,80,110,3128,8080 -j ACCEPT
[0:0] -A FORWARD -d 192.168.0.0/24 -o eth1 -p tcp -m multiport --sports 20,21,25,80,110,3128,8080 -j ACCEPT
[0:0] -A FORWARD -p ! icmp -m state --state INVALID -j DROP
[0:0] -A FORWARD -p ! icmp -m state --state INVALID -j DROP
[53:2569] -A FORWARD -o eth0 -j DROP
[0:0] -A FORWARD -o eth1 -j DROP
COMMIT
# Completed on Tue May  5 19:22:28 2009

ip_forward разрешен, т.е в файле /proc/sys/net/ipv4/ip_forward стоит 1. помогите плз. эта проблема для меня нерешаема без чужой помощи.
Я ПИШУ ПО-РУССКИ!!!
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Решено: правила iptables

Сообщение danger08 »

Видимо, вы восстановили старую версию правил :unsure:

Навскидку - NAT-а для выхода на внешку нету (стоит какой-то редирект, но надо "локалку" маскарадить). Потом, вы говорите, что форварды разрешены - но у вас правила файрвола убивают форварды во всех направлениях (см. таблицу filter).
Блогосайт - http://www.fateyev.com
Спасибо сказали:
Rovnyi
Сообщения: 46
ОС: Debian Lenny

Re: Решено: правила iptables

Сообщение Rovnyi »

danger08 писал(а):
25.05.2009 18:09
Видимо, вы восстановили старую версию правил :unsure:

Навскидку - NAT-а для выхода на внешку нету (стоит какой-то редирект, но надо "локалку" маскарадить). Потом, вы говорите, что форварды разрешены - но у вас правила файрвола убивают форварды во всех направлениях (см. таблицу filter).

нда, версию я видимо старую восстановил. другой просто не было.
1) разве без маскарадинга файрволл не будет пускать во внешку? вроде как-то до этого работало. да я и правила не знаю на маскарадинг((((
2) насчет дропа всех форвардов: имеете в виду два последних правила в таблице filter? так ведь по идее правила применяются сверху вниз. он не должен дропать пакеты с локалки.
возможно я и ошибаюсь. тыкните меня носом, а то я что-то не вижу(((
Я ПИШУ ПО-РУССКИ!!!
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Решено: правила iptables

Сообщение Mage-Warrior »

Rovnyi писал(а):
25.05.2009 18:25
нда, версию я видимо старую восстановил. другой просто не было.
1) разве без маскарадинга файрволл не будет пускать во внешку? вроде как-то до этого работало. да я и правила не знаю на маскарадинг((((
2) насчет дропа всех форвардов: имеете в виду два последних правила в таблице filter? так ведь по идее правила применяются сверху вниз. он не должен дропать пакеты с локалки.
возможно я и ошибаюсь. тыкните меня носом, а то я что-то не вижу(((

1) Тут есть вариант и без NAT - наличие прокси-сервера (squid?) на настраиваемой машине (видно по нескольким правилам, относящимся к порту 3128).
2) Сброса пакетов в цепочке FORWARD необдуманного нет - правила, вроде, логичны.

Диагноз: Проверить на жизнеспособность proxy-server (скорее всего, squid).
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Rovnyi
Сообщения: 46
ОС: Debian Lenny

Re: Решено: правила iptables

Сообщение Rovnyi »

Mage-Warrior писал(а):
25.05.2009 19:20
Rovnyi писал(а):
25.05.2009 18:25
нда, версию я видимо старую восстановил. другой просто не было.
1) разве без маскарадинга файрволл не будет пускать во внешку? вроде как-то до этого работало. да я и правила не знаю на маскарадинг((((
2) насчет дропа всех форвардов: имеете в виду два последних правила в таблице filter? так ведь по идее правила применяются сверху вниз. он не должен дропать пакеты с локалки.
возможно я и ошибаюсь. тыкните меня носом, а то я что-то не вижу(((

1) Тут есть вариант и без NAT - наличие прокси-сервера (squid?) на настраиваемой машине (видно по нескольким правилам, относящимся к порту 3128).
2) Сброса пакетов в цепочке FORWARD необдуманного нет - правила, вроде, логичны.

Диагноз: Проверить на жизнеспособность proxy-server (скорее всего, squid).

А! спасибо телепатам! действительно сквид не живет)))) большое спасибо))))
но тут другое дело: я выставил правила чтоб браузер лазил не ориентируясь на сквид, но все равно пропуска через сервер не идет. позволил все, т.е
-P INPUT ACCEPT
-P OUTPUT ACCEPT
-P FORWARD ACCEPT

следуя логике вещей браузер все рано должен подключаться к инету. но он этого не делает. или правила не те?
Я ПИШУ ПО-РУССКИ!!!
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: Решено: правила iptables

Сообщение Mage-Warrior »

Вам же сказали - NAT нужен (MASQUERADE подойдет). Без него пакеты не знают, куда им вернуться :)
Читайте тут. Мануал очень хороший, в конце есть примеры.
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Rovnyi
Сообщения: 46
ОС: Debian Lenny

Re: Решено: правила iptables

Сообщение Rovnyi »

большое всем спасибо за то, что потратили свое время на такую тему))))) дело оказалось в том, что squid повис и его нужно было перезапускать. старые правила действуют, все нормально. ссылки обязательно почитаю :-) можно закрывать
Я ПИШУ ПО-РУССКИ!!!
Спасибо сказали: