URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4818
[ Назад ]

Исходное сообщение
"iptables, почтовые клиенты, icq и т.д."

Отправлено neftonus , 31-Мрт-11 13:07 
Доброго времени суток, господа!
Тревожит вас очередной мало что понимающий в никсовых системах юзверь. Отсюда, думаю, много станет понятно, так что не буду много об этом. Итак, я пытался разобраться с этим http://www.opennet.me/docs/RUS/iptables/ на протяжении нескольких недель, но мало что вышло.
Итак, дано:
rusfedora 14
squid 3.1
sarg 2.2.3.1
iptables
LAN = eth0
INET = eth1
все ипы статические
Задачи:
SQUID - HTTP интернет с авторизацией (пока реализован на непрозрачной основе, странно, но работает);
SARG - снятие отчетов саргом (работает, но таблички генерятся без обрамления, в общем стили кажется в отключке);
IPTABLES - доступ от любой машинки из LAN к сервисам/протоколам ICQ (поначалу работало через прокси, потом перестало, изменений не вносилось), Skype (работает через хттп-прокси без проблем), HTTPS (все в порядке через прокси), FTP (через браузер клиентом работает, через файлзиллы и прочее - не проверялось), почтовые клиенты pop3/smtp (не работает), ICR/Jabber порты 6667-6669 (пока работают через хттп-прокси), проброс натом портов к конкретным машинкам для банк-клиента (не приступал к реализации).

Итого: имеется 2 основных задачи, которые мне пока решить ну никак не удается.

1)нормальное отображение sarg-отчета (в конфиге включены все тэги, отвечающие за "рисование", в одной из тестовых версий все работало без каких-либо проблем, но по несчастливой случайности, тот конфиг не сохранился), прошу подсказок, что искать и где копать.
2)проблема с почтовыми клиентами pop3/smtp/imap как заставить их корректно работать, я в курсе, что осьминожка не умеет транслировать эти протоклы через себя, а вот реализовать iptables'ами у меня пока не выходит, самая главная загвоздка - сделать это для всех юзеров локали разом(вводим допущение, что у нас сеть LAN из N компов и у всех поголовно есть доступ к инету и указанным протоколам и без доступа к любым другим). Читал про то, что можно это решить только используя прозрачное проксирование, но этот вариант пробовать буду только если других не останется, т.к. шлюз используется и оставить людей без инета пока нет возможности.
3)также выслушаю замечания и рекомендации по текущей конфигурации иптаблесов, возможно по версиям продуктов, к сожалению, сами продукты не обсуждаются.

ну и до кучи, текущие правила iptables:
==================================================
#!/bin/sh

/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_conntrack_ftp
/sbin/modprobe ipt_conntrack_irc
/sbin/modprobe ipt_nat_ftp
/sbin/modprobe ipt_REJECT

iptables -F

iptables - P INPUT DROP
iptables - P OUTPUT DROP
iptables - P FORWARD DROP

iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -p icmp -i eth0 --icmp-typoe echo-request -j ACCEPT
iptables -A OUTPUT -p icmp -o eth1 --icmp-typoe echo-reply -j ACCEPT
iptables -A INPUT -p icmp -i eth1 --icmp-typoe echo-reply -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 3128 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 3128 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 22 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -o eth0 --sport 80 -j ACCEPT

iptables -A OUTPUT -p tcp -o eth1 -j ACCEPT
iptables -A OUTPUT -p udp -o eth1 -j ACCEPT
iptables -A OUTPUT -p icmp -o eth1 --icmp-type echo-request -j ACCEPT

iptables -A INPUT -p tcp -i eth1 --dport 80 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 6667:6669 -j ACCEPT

iptables -A INPUT -p tcp -i eth0 --dport 443 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 5190 -j ACCEPT

service iptables save
service iptables restart
==================================================

Вот, наверное так... очень надеюсь на вашу помощь, уважаемые *nix-гуру


Содержание

Сообщения в этом обсуждении
"iptables, почтовые клиенты, icq и т.д."
Отправлено Дядя_Федор , 31-Мрт-11 14:11 
Как-то Вы плохо читали про iptables. Потому что если бы читали ВНИМАТЕЛЬНО - было бы понятно, что все пакеты из LAN в Интернет идут через цепочку FORWARD (в которой у вас все дропается). Кроме того - не вижу НАТящего правила (-t nat -I PREROUTING и т.д.). Нет (или не приведено Вами) еще вот это - net.ipv4.ip_forward = 1. Резюме - Вы так и не разобрались в логике работы iptables и в том, как работают его цепочки. Еще раз медленно и вдумчиво курим мануал. На тему - что такое INPUT, что такое OUTPUT, что такое FORWARD.

"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 31-Мрт-11 14:47 
> Как-то Вы плохо читали про iptables. Потому что если бы читали ВНИМАТЕЛЬНО
> - было бы понятно, что все пакеты из LAN в Интернет
> идут через цепочку FORWARD (в которой у вас все дропается). Кроме
> того - не вижу НАТящего правила (-t nat -I PREROUTING и
> т.д.). Нет (или не приведено Вами) еще вот это - net.ipv4.ip_forward
> = 1. Резюме - Вы так и не разобрались в логике
> работы iptables и в том, как работают его цепочки. Еще раз
> медленно и вдумчиво курим мануал. На тему - что такое INPUT,
> что такое OUTPUT, что такое FORWARD.

не все так просто... надеюсь...

net.ipv4.ip_forward > = 1 - имеется

Пробовал и натом и форвардом управлять, вариантов имеется несколько, просто не стал захламлять пост именно по факту почтовика, поскольку перепробовал много чего, а оно все равно не работает и выложил остальные правила, дабы в них не содержалось проблемных строчек (на суд общественности, так сказать). Согласен, может я и не очень хорошо разобрался, но видимо не под силу мне самому это осилить, вот и отправился сюда с вопросами. Читал немало тем и с этого форума и со многих других. Видимо, я не могу понять какую-то принципиальную вещь, ибо рисовал на бумажке как ходют пакеты из сети в сеть, как работают с приложениями и т.д., но что-то не выходит.

Хотелось бы более конструктивных предложений, а по-возможности, и примеров правил, а в идеале и разъяснений почему так, а не эдак...


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 31-Мрт-11 16:32 
>[оверквотинг удален]
> оно все равно не работает и выложил остальные правила, дабы в
> них не содержалось проблемных строчек (на суд общественности, так сказать). Согласен,
> может я и не очень хорошо разобрался, но видимо не под
> силу мне самому это осилить, вот и отправился сюда с вопросами.
> Читал немало тем и с этого форума и со многих других.
> Видимо, я не могу понять какую-то принципиальную вещь, ибо рисовал на
> бумажке как ходют пакеты из сети в сеть, как работают с
> приложениями и т.д., но что-то не выходит.
> Хотелось бы более конструктивных предложений, а по-возможности, и примеров правил, а в
> идеале и разъяснений почему так, а не эдак...

для начинающего правила нормальные если не учитывать что не поняли для чего FORWARD.

по аналогии с тем как вы делали правила для 22 порта, сделайте для pop3/smtp/imap портов только в FORWARD, т.к. пакеты будут идти транзитом.

и
iptables -t nat -A POSTROUTING -o внешний_интерфейс -j SNAT --to-source ваш_внешний_ip

потом читайте про статусы пакетов


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 31-Мрт-11 16:35 
>[оверквотинг удален]
>> приложениями и т.д., но что-то не выходит.
>> Хотелось бы более конструктивных предложений, а по-возможности, и примеров правил, а в
>> идеале и разъяснений почему так, а не эдак...
> для начинающего правила нормальные если не учитывать что не поняли для чего
> FORWARD.
> по аналогии с тем как вы делали правила для 22 порта, сделайте
> для pop3/smtp/imap портов только в FORWARD, т.к. пакеты будут идти транзитом.
> и
> iptables -t nat -A POSTROUTING -o внешний_интерфейс -j SNAT --to-source ваш_внешний_ip
> потом читайте про статусы пакетов

и да, у клиентов должны быть прописаны шлюз и dns


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 04-Апр-11 09:24 
>>[оверквотинг удален]
> потом читайте про статусы пакетов

А можно поподробнее о чем конкретно идет речь? Выполненные правила пока не помогли, для Nmap'a порт все также закрыт и почта отказывается ходить в обоих направлениях.


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 04-Апр-11 11:46 
>>>[оверквотинг удален]
>> потом читайте про статусы пакетов
> А можно поподробнее о чем конкретно идет речь? Выполненные правила пока не
> помогли, для Nmap'a порт все также закрыт и почта отказывается ходить
> в обоих направлениях.

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


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 04-Апр-11 12:05 
>>>>[оверквотинг удален]
>>> потом читайте про статусы пакетов
>> А можно поподробнее о чем конкретно идет речь? Выполненные правила пока не
>> помогли, для Nmap'a порт все также закрыт и почта отказывается ходить
>> в обоих направлениях.
> тогда зачем вам про это поподробней , если вы то еще не
> запустили. хотите запутаться.

хммм.... Так правила я прописал, но ничем это не помогло. В сквиде были разрешения на порты, убрал их, чтобы не перехватывал на себя. По сути, пробовал и так, и так. Nmap видит вообще только 3128, 22 и 80. Т.е. все ходит исключительно через проскю, Хотя пробовал правила писать на открытие разных портов и INPUT'ами и FORWARD'ами. Видимо, я что-то глобальное упускаю, а что - не пойму.


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 04-Апр-11 12:41 
>[оверквотинг удален]
>>> помогли, для Nmap'a порт все также закрыт и почта отказывается ходить
>>> в обоих направлениях.
>> тогда зачем вам про это поподробней , если вы то еще не
>> запустили. хотите запутаться.
> хммм.... Так правила я прописал, но ничем это не помогло. В сквиде
> были разрешения на порты, убрал их, чтобы не перехватывал на себя.
> По сути, пробовал и так, и так. Nmap видит вообще только
> 3128, 22 и 80. Т.е. все ходит исключительно через проскю, Хотя
> пробовал правила писать на открытие разных портов и INPUT'ами и FORWARD'ами.
> Видимо, я что-то глобальное упускаю, а что - не пойму.

показывайте iptables-save


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 04-Апр-11 13:16 
>[оверквотинг удален]
>>>> в обоих направлениях.
>>> тогда зачем вам про это поподробней , если вы то еще не
>>> запустили. хотите запутаться.
>> хммм.... Так правила я прописал, но ничем это не помогло. В сквиде
>> были разрешения на порты, убрал их, чтобы не перехватывал на себя.
>> По сути, пробовал и так, и так. Nmap видит вообще только
>> 3128, 22 и 80. Т.е. все ходит исключительно через проскю, Хотя
>> пробовал правила писать на открытие разных портов и INPUT'ами и FORWARD'ами.
>> Видимо, я что-то глобальное упускаю, а что - не пойму.
> показывайте iptables-save

как-то уж очень странно, многих правил в исполняемом файле нет и -F прописано...

iptables-save
# Generated by iptables-save v1.4.9 on Mon Apr  4 12:10:40 2011
*nat
:PREROUTING ACCEPT [16:1753]
:OUTPUT ACCEPT [19:1140]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -s 192.168.1.111/32 -p tcp -j ACCEPT
-A PREROUTING -d 192.168.1.10/32 -p tcp -m tcp --dport 4081 -j ACCEPT
-A PREROUTING -s 192.168.2.10/32 -p tcp -m tcp --dport 110 -j ACCEPT
-A PREROUTING -s 192.168.2.10/32 -p tcp -m tcp --dport 110 -j ACCEPT
-A PREROUTING -s 192.180.1.3/32 -p tcp -m tcp --dport 110 -j ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.180.1.3
-A PREROUTING -i eth1 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.2.10
-A PREROUTING -i eth1 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.2.10
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.2.10
-A PREROUTING -i eth0 -p tcp -m tcp --dport 110 -j DNAT --to-destination 192.168.2.10
-A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A POSTROUTING -d 192.168.1.111/32 -p tcp -j ACCEPT
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.168.2.10
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.168.2.10
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.168.2.10
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/13 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/13 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -d 192.168.2.10/32 -o eth1 -p tcp -m tcp --dport 25 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -d 192.168.2.10/32 -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -d 192.168.2.10/32 -o eth1 -p tcp -m tcp --dport 25 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -d 192.168.2.10/32 -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth0 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -o eth0 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth0 -p tcp -m multiport --dports 25,110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 110 -j MASQUERADE
-A POSTROUTING -s 192.168.0.0/16 -p tcp -m tcp --dport 25 -j MASQUERADE
-A POSTROUTING -o eth1 -p tcp -m tcp --dport 110 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth0 -p tcp -m multiport --dports 25,110 -j MASQUERADE
-A POSTROUTING -o eth1 -p tcp -m multiport --dports 25,110 -j MASQUERADE
-A POSTROUTING -o eth0 -p tcp -m multiport --dports 25,110 -j MASQUERADE
-A POSTROUTING -o eth1 -p tcp -m multiport --dports 25,110 -j MASQUERADE
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
COMMIT
# Completed on Mon Apr  4 12:10:40 2011
# Generated by iptables-save v1.4.9 on Mon Apr  4 12:10:40 2011
*mangle
:PREROUTING ACCEPT [106:13485]
:INPUT ACCEPT [106:13485]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [99:21883]
:POSTROUTING ACCEPT [99:21883]
COMMIT
# Completed on Mon Apr  4 12:10:40 2011
# Generated by iptables-save v1.4.9 on Mon Apr  4 12:10:40 2011
*filter
:INPUT DROP [25:2455]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 6667:6669 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5190 -j ACCEPT
-A FORWARD -p tcp -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A OUTPUT -o eth0 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 3128 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -j ACCEPT
-A OUTPUT -o eth1 -p udp -j ACCEPT
-A OUTPUT -o eth1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Mon Apr  4 12:10:40 2011


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 04-Апр-11 13:37 
>[оверквотинг удален]
> -A POSTROUTING -o eth0 -p tcp -m multiport --dports 25,110 -j MASQUERADE
> -A POSTROUTING -o eth1 -p tcp -m multiport --dports 25,110 -j MASQUERADE
> -A POSTROUTING -o eth0 -p tcp -m multiport --dports 25,110 -j MASQUERADE
> -A POSTROUTING -o eth1 -p tcp -m multiport --dports 25,110 -j MASQUERADE
> -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
> -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
> -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
> -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
> -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
> -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3

в nat, все что выше уберайте, оставте одну строку которая ниже, при условии что 192.180.1.3 - это внешний ip
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
>[оверквотинг удален]
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 3128 -j ACCEPT
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT
> -A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
> -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
> -A OUTPUT -o eth1 -p tcp -j ACCEPT
> -A OUTPUT -o eth1 -p udp -j ACCEPT
> -A OUTPUT -o eth1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
> COMMIT
> # Completed on Mon Apr  4 12:10:40 2011


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 04-Апр-11 14:26 
>>[оверквотинг удален]
> в nat, все что выше уберайте, оставте одну строку которая ниже, при
> условии что 192.180.1.3 - это внешний ip

ip действительно внешний, но других правил просто нет в файле, были закомментированые, но после их удаления, ничего не изменилось (впрочем, потому, что не должно было измениться). Может есть еще какие стандартные конфиги iptables, где могли быть прописаны данные правила?


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 04-Апр-11 14:48 
>>>[оверквотинг удален]
>> в nat, все что выше уберайте, оставте одну строку которая ниже, при
>> условии что 192.180.1.3 - это внешний ip
> ip действительно внешний, но других правил просто нет в файле, были закомментированые,
> но после их удаления, ничего не изменилось (впрочем, потому, что не
> должно было измениться). Может есть еще какие стандартные конфиги iptables, где
> могли быть прописаны данные правила?

какой дистрибутив?
если перегружали правила, давайте снова вывод iptables-save, если вывод не изменился, то удаляйте их из памяти ручками


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 04-Апр-11 15:41 
>>>>[оверквотинг удален]
>>> в nat, все что выше уберайте, оставте одну строку которая ниже, при
>>> условии что 192.180.1.3 - это внешний ip
>> ip действительно внешний, но других правил просто нет в файле, были закомментированые,
>> но после их удаления, ничего не изменилось (впрочем, потому, что не
>> должно было измениться). Может есть еще какие стандартные конфиги iptables, где
>> могли быть прописаны данные правила?
> какой дистрибутив?
> если перегружали правила, давайте снова вывод iptables-save, если вывод не изменился, то
> удаляйте их из памяти ручками

дистрибутив ОС Russian Fedora 14 (NY), версия iptables 1.4.9. ничего не изменяется после перегрузки правил. Очистка таблиц нат не производилась.
добавил iptables -F -t nat

после чего получил такое:

iptables-save
# Generated by iptables-save v1.4.9 on Mon Apr  4 14:41:18 2011
*nat
:PREROUTING ACCEPT [112670:4971871]
:OUTPUT ACCEPT [12:720]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3
COMMIT
# Completed on Mon Apr  4 14:41:18 2011
# Generated by iptables-save v1.4.9 on Mon Apr  4 14:41:18 2011
*mangle
:PREROUTING ACCEPT [117707:8564751]
:INPUT ACCEPT [117461:8548088]
:FORWARD ACCEPT [238:12948]
:OUTPUT ACCEPT [5585:3597488]
:POSTROUTING ACCEPT [5529:3592578]
COMMIT
# Completed on Mon Apr  4 14:41:18 2011
# Generated by iptables-save v1.4.9 on Mon Apr  4 14:41:18 2011
*filter
:INPUT DROP [112408:4957584]
:FORWARD DROP [238:12948]
:OUTPUT DROP [56:4910]
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -i eth1 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 6667:6669 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 5190 -j ACCEPT
-A FORWARD -p tcp -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A OUTPUT -o eth0 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 3128 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT
-A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth1 -p tcp -j ACCEPT
-A OUTPUT -o eth1 -p udp -j ACCEPT
-A OUTPUT -o eth1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT
# Completed on Mon Apr  4 14:41:18 2011

эффект тот же


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 04-Апр-11 16:13 
>[оверквотинг удален]
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 3128 -j ACCEPT
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 22 -j ACCEPT
> -A OUTPUT -o eth0 -p tcp -m tcp --sport 80 -j ACCEPT
> -A OUTPUT -o eth1 -p udp -m udp --dport 53 -j ACCEPT
> -A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
> -A OUTPUT -o eth1 -p tcp -j ACCEPT
> -A OUTPUT -o eth1 -p udp -j ACCEPT
> -A OUTPUT -o eth1 -p icmp -m icmp --icmp-type 8 -j ACCEPT
> COMMIT
> # Completed on Mon Apr  4 14:41:18 2011

у Fedora файл для правил - /etc/sysconfig/iptables, может отсутствовать, правила загружаются - service iptables start или restart, формат файла такой же как и вывод iptables-save

> эффект тот же

с эти правилами должно уже работать.
шлюз и dns у клиентов прописаны?


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 04-Апр-11 16:36 
>>[оверквотинг удален]
> у Fedora файл для правил - /etc/sysconfig/iptables, может отсутствовать, правила загружаются
> - service iptables start или restart, формат файла такой же как
> и вывод iptables-save
>> эффект тот же
> с эти правилами должно уже работать.
> шлюз и dns у клиентов прописаны?

Файл присутствует, в нем ровно то же, что и в iptables-save с теми же таймштампами. В файле присутствуют команды сохранения правил и перезапуска iptables (service iptables save; service iptables restart).

Шлюз прописан верный, инет и другие сервисы через squid работают из под рабочий станций как виндовых (XP/Vista/7), так и никсовых (та же fedora 14).  DNS прописано 2 штуки, primary - gate, secondary - контроллер домена для виндомашин. Для никсовых - только адрес шлюза.


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 04-Апр-11 17:01 
>[оверквотинг удален]
>>> эффект тот же
>> с эти правилами должно уже работать.
>> шлюз и dns у клиентов прописаны?
> Файл присутствует, в нем ровно то же, что и в iptables-save с
> теми же таймштампами. В файле присутствуют команды сохранения правил и перезапуска
> iptables (service iptables save; service iptables restart).
> Шлюз прописан верный, инет и другие сервисы через squid работают из под
> рабочий станций как виндовых (XP/Vista/7), так и никсовых (та же fedora
> 14).  DNS прописано 2 штуки, primary - gate, secondary -
> контроллер домена для виндомашин. Для никсовых - только адрес шлюза.

для того что работает через прокси dns не нужен, и шлюз, если прокси в той же подсети, не нужн.
nslookup opennet.ru с клиента.

cat /proc/sys/net/ipv4/ip_forward
ifconfig


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 05-Апр-11 13:33 
>>[оверквотинг удален]
> для того что работает через прокси dns не нужен, и шлюз, если
> прокси в той же подсети, не нужн.
> nslookup opennet.ru с клиента.
> cat /proc/sys/net/ipv4/ip_forward
> ifconfig

из Windows-машины:
C:\Users\user>nslookup opennet.ru
DNS request timed out.
    timeout was 2 seconds.
╤хЁтхЁ:  UnKnown
Address:  192.168.2.10

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Превышено время ожидания запроса UnKnown

C:\Users\user>nslookup opennet.ru
DNS request timed out.
    timeout was 2 seconds.
╤хЁтхЁ:  UnKnown
Address:  208.67.222.222

DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
DNS request timed out.
    timeout was 2 seconds.
*** Превышено время ожидания запроса UnKnown

из Fedora для обоих dns-серверов:
nslookup opennet.ru
;; connection timed out; no servers could be reached


[root@userpc ~]# cat /proc/sys/net/ipv4/ip_forward
1
[root@userpc ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:C0:CE:14:73:C9
          inet addr:192.168.1.111  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::2c0:caff:fe13:7ac8/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7191262 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3115372 errors:4 dropped:0 overruns:0 carrier:6
          collisions:0 txqueuelen:1000
          RX bytes:680707926 (649.1 MiB)  TX bytes:2649585261 (2.4 GiB)
          Interrupt:11 Base address:0x2000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

попробовал добавить следующие правила:
-A FORWARD -p upd -i eth1 --dport 53 -j ACCEPT
-A FORWARD -p upd -i eth0 --dport 53 -j ACCEPT

Но не помогло... то, что с пробросом dns проблемы, это я вроде понимаю. Есть еще подозрение, что какие-то из локальных процессов могут перехватывать данные порты, но как это отследить, так и не сумел найти. Хотя dns-сервер не пытался настраивать, не говоря уже о почте.


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 05-Апр-11 15:05 
>[оверквотинг удален]
>           RX packets:0
> errors:0 dropped:0 overruns:0 frame:0
>           TX packets:0
> errors:0 dropped:0 overruns:0 carrier:0
>           collisions:0 txqueuelen:0
>           RX bytes:0
> (0.0 b)  TX bytes:0 (0.0 b)
> попробовал добавить следующие правила:
> -A FORWARD -p upd -i eth1 --dport 53 -j ACCEPT
> -A FORWARD -p upd -i eth0 --dport 53 -j ACCEPT

протокол udp и ответные пакеты вы не разрешили.

> Но не помогло... то, что с пробросом dns проблемы, это я вроде
> понимаю. Есть еще подозрение, что какие-то из локальных процессов могут перехватывать
> данные порты, но как это отследить, так и не сумел найти.
> Хотя dns-сервер не пытался настраивать, не говоря уже о почте.

локальные на шлюзе? это только если вы их сами с помощью iptables завернете, а так демоны просто ждут обращение на адрес:порт и ничего сами не захватывают.


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 05-Апр-11 16:43 
>>[оверквотинг удален]
>> -A FORWARD -p upd -i eth1 --dport 53 -j ACCEPT
>> -A FORWARD -p upd -i eth0 --dport 53 -j ACCEPT
> протокол udp и ответные пакеты вы не разрешили.

добавил на исходящие (в данной ситуации dport/sport значения ведь не имеет?):
-A FORWARD -p upd -o eth1 --dport 53 -j ACCEPT
-A FORWARD -p upd -o eth0 --dport 53 -j ACCEPT

И что значит "протокол udp вы не разрешили"? Получается, что на данный момент работают только порты, на которых висят локальные службы ssh, apache, squid. Все, что ни пытаюсь форвардить, теряется в бездне.


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 05-Апр-11 17:16 
>>>[оверквотинг удален]
>>> -A FORWARD -p upd -i eth1 --dport 53 -j ACCEPT
>>> -A FORWARD -p upd -i eth0 --dport 53 -j ACCEPT
>> протокол udp и ответные пакеты вы не разрешили.
> добавил на исходящие (в данной ситуации dport/sport значения ведь не имеет?):

имеет, запрос отправляется на 53 порт , но не с 53, а ответ будет идти с 53 , но не на 53
> -A FORWARD -p upd -o eth1 --dport 53 -j ACCEPT
> -A FORWARD -p upd -o eth0 --dport 53 -j ACCEPT
> И что значит "протокол udp вы не разрешили"? Получается, что на данный
> момент работают только порты, на которых висят локальные службы ssh, apache,
> squid. Все, что ни пытаюсь форвардить, теряется в бездне.

именно то что написано.

протокол udp, а не upd.
вы разрешили запрос к dns серверам в инете, если протокол правильно укажите
-A FORWARD -p upd -o eth1 --dport 53 -j ACCEPT
а ответы от них?

-A FORWARD -p upd -o eth0 --dport 53 -j ACCEPT
под это правило ответы не попадут

что типа этого должно быть:
-A FORWARD -p udp -i eth1 --sport 53 -j ACCEPT


"во развели бодягу...."
Отправлено Andrey Mitrofanov , 05-Апр-11 19:02 
> -A FORWARD -p upd -o eth1 --dport 53 -j ACCEPT

-A FORWARD -p upd -o eth1 --sport 53 -j ACCEPT

> -A FORWARD -p upd -o eth0 --dport 53 -j ACCEPT


"во развели бодягу...."
Отправлено reader , 05-Апр-11 19:57 
>> -A FORWARD -p upd -o eth1 --dport 53 -j ACCEPT
> -A FORWARD -p upd -o eth1 --sport 53 -j ACCEPT
>> -A FORWARD -p upd -o eth0 --dport 53 -j ACCEPT

eth1 - это вроде внешний интерфейс и upd - хорошо смотрится :)


"трагения греческая 8-/"
Отправлено Andrey Mitrofanov , 06-Апр-11 11:09 
>> -A FORWARD -p upd -o eth1 --sport 53 -j ACCEPT
> eth1 - это вроде внешний интерфейс и upd - хорошо смотрится :)

Бр!... Вздымает очи небу, заламывает пальчы, руки, ноги, со стонами уползает.


...со стонами возвращается, изрыгает:

# cat users-dns.firehol.conf
version 5

MY_INET_IP=219.219.219.219

snat to "$MY_INET_IP" outface eth1

router x inface eth0 outface eth1
        client dns accept

# firehol users-dns.firehol.conf debug |./explain-sorter
-N out_x_dns_c1
-A out_x_dns_c1 -p udp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-A out_x_dns_c1 -p tcp --dport 53 -m state --state NEW,ESTABLISHED -j ACCEPT
-N in_x_dns_c1
-A in_x_dns_c1 -p udp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-A in_x_dns_c1 -p tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT
-N out_x
-A out_x -j out_x_dns_c1
-A out_x -m state --state RELATED -j ACCEPT
-N in_x
-A in_x -j in_x_dns_c1
-A in_x -m state --state RELATED -j ACCEPT
-A OUTPUT -m state --state RELATED -j ACCEPT
-A OUTPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-level warning --log-prefix='OUT-unknown:'
-A OUTPUT -j DROP
-A INPUT -m state --state RELATED -j ACCEPT
-A INPUT -m limit --limit 1/second --limit-burst 5 -j LOG --log-level warning --log-prefix='IN-unknown:'
-A INPUT -j DROP
-A FORWARD -i eth0 -o eth1 -j in_x
-A FORWARD -i eth1 -o eth0 -j out_x
-A FORWARD -m state --state RELATED -j ACCEPT
-A FORWARD -m limit --limit 1/second --limit-burst 5 -j LOG --log-level warning --log-prefix='PASS-unknown:'
-A FORWARD -j DROP
-t nat -N nat.1
-t nat -A POSTROUTING -o eth1 -j nat.1
-t nat -A nat.1 -j SNAT --to-source 219.219.219.219
# exit

Невнятно мычит, рвёт на себе, уходит.


"iptables, почтовые клиенты, icq и т.д."
Отправлено neftonus , 08-Апр-11 14:56 

> eth1 - это вроде внешний интерфейс и upd - хорошо смотрится :)

upd это очепятка здешняя, при применении правил такая ошибка бы вылезла при запуске исполняемого файла. Помучался немного, теперь все работает. Всем спасибо! Особенно за пост №20, где расписано, как ходит пакет, очень наглядно вышло.

Решение получилось следующим.

Для DNS теперь правила следующие:
-A FORWARD -p udp -i eth0 --dport 53 -j ACCEPT
-A FORWARD -p udp -o eth1 --dport 53 -j ACCEPT
-A FORWARD -p udp -i eth1 --sport 53 -j ACCEPT
-A FORWARD -p udp -o eth0 --sport 53 -j ACCEPT
-t nat -A POSTROUTING -p tcp -o eth1 --dport 53 -j SNAT --to-source 192.180.1.3 (внешний ифейс)

аналогично сделал для 110 и 25 портов(только протокол tcp!), теперь почта радует своих юзеров. Собственно, аналогично для любого другого сервиса в обход squid'a правила делаются по данному шаблону. Пишу это для тех, кто однажды может оказаться в такой же ситуации. Не забываем убирать из настроек программ проксю, иначе не будет работать :)


"iptables, почтовые клиенты, icq и т.д."
Отправлено reader , 09-Апр-11 14:01 
>[оверквотинг удален]
> запуске исполняемого файла. Помучался немного, теперь все работает. Всем спасибо! Особенно
> за пост №20, где расписано, как ходит пакет, очень наглядно вышло.
> Решение получилось следующим.
> Для DNS теперь правила следующие:
> -A FORWARD -p udp -i eth0 --dport 53 -j ACCEPT
> -A FORWARD -p udp -o eth1 --dport 53 -j ACCEPT
> -A FORWARD -p udp -i eth1 --sport 53 -j ACCEPT
> -A FORWARD -p udp -o eth0 --sport 53 -j ACCEPT
> -t nat -A POSTROUTING -p tcp -o eth1 --dport 53 -j SNAT
> --to-source 192.180.1.3 (внешний ифейс)

для тех кто окажется в такой же ситуации в nat протокол все таки udp, но в целом в snat указывать много критерий плохая идея потому что на человеческом языке это звучит как : делать snat только для указанных пакетов, остальные пропустить без нат. в результате то что не было заблокировано в таблице фильтров и для чего не было сделано snat пойдут к провайдеру с серыми адресами, что не хорошо. лучше натить весь выход с интерфейса, а что не должно выходить резать в таблице фильтров.

-t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.180.1.3 (внешний ифейс)

> аналогично сделал для 110 и 25 портов(только протокол tcp!), теперь почта радует
> своих юзеров. Собственно, аналогично для любого другого сервиса в обход squid'a
> правила делаются по данному шаблону. Пишу это для тех, кто однажды
> может оказаться в такой же ситуации. Не забываем убирать из настроек
> программ проксю, иначе не будет работать :)

http://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=sh...


"iptables, почтовые клиенты, icq и т.д."
Отправлено PavelR , 14-Июн-11 05:51 
> Шлюз прописан верный, инет и другие сервисы через squid работают из под
> рабочий станций как виндовых (XP/Vista/7), так и никсовых (та же fedora
> 14).  DNS прописано 2 штуки, primary - gate, secondary -
> контроллер домена для виндомашин. Для никсовых - только адрес шлюза.

DNS-сервера должны обладать идентичными знаниями обо всех используемых зонах.
В вашем случае я предполагаю, что "контроллер домена для виндомашин" не знает о доменных зонах интернета, а gate не знает о зонах "контроллера домена для виндомашин". Рекомендую оставить один "контроллер домена для виндомашин", предварительно научив его резольвить имена интернета.

Обучить gate всем зонам "контроллера домена для виндомашин" несколько сложнее.