Тема : Squid + AD


kev-wapbbs  01-07-2009 15:31
Сильно не бейте , вопрос вполне себе нормальный только ответ мало кто знает ибо телепатия еще не настолько развита :
Две сети Local и NET
FreeBSD 7.1 + сквид всё авторизуется в АД, прокси работает как надо, в инет пускает логи пишет! Ужас пинги просто не ходят с клиентских компов до любого адреса NET.... особенностью всего является способность самой фряхи пинговать в обе стороны.На клиентах стоит XP , еще один мальнький особенность в том что при выводе Ping ya.ru с системы XP ==> ya.ru[93.158.134.8] пинг показывает адрес тоисть имена резольвятся тоесть проблема я так понимаю не ДНС. Кто чем может помочь ? если мало исходной инфы скажите выдам конфиги, просто не вижу смысла этого сразу делать, ибо даже не знаю какой кидать :shy:

barabashka  01-07-2009 16:02
А я не понял в чем проблема.

kev-wapbbs  01-07-2009 16:09
Комп с системой [Б]XP[/Б] пингует адрес [Б]www.ya.ru[/Б] через фреебсд с установленным сквидом а в ответ только имя резольвится....

C:\Program Files\Microsoft.NET\SDK\v2.0>ping mail.ru

Обмен пакетами с mail.ru [217.69.128.41] по 32 байт:

Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.

Статистика Ping для 217.69.128.41:
Пакетов: отправлено = 4, получено = 0, потеряно = 4 (100% потерь),


Просто не понимаю куда копать, наставьте на путь истинный!

P.S. Повторюсь службы сквида как прокси работают ! тоесть на страницы сквозь него я захожу вообще без проблем.

barabashka  01-07-2009 16:12
А сам mail.ru открывается?

Если открывается, то просто запрещены ICMP пакеты, а именно Echo request.

Если не открывается, то значит прокся наружу ничего не пускает, а лишь реагирует на DNS запрос, возвращая результат обработки.

kev-wapbbs  01-07-2009 16:35
IpFw вроде даже и не стоял рядом еще, сайт сам действительно открывается...
поправьте если ошибаюсь это надо искать в sysctl или ?

#-- первый раз пытаюсь проксю поднять -- #

barabashka  01-07-2009 16:39
А вот где смотреть - эт я уже хз, я с линуксом давно уже не общался ;) щас кто-нить подскажет, где проверить ICMP ;)

Macmep  01-07-2009 17:37
а кто сказал, что на этом гейте есть NAT?

kev-wapbbs  01-07-2009 20:12
Недаром ты аТмин, стыдно конечно но ты прав нат я поднять забыл.

Macmep  01-07-2009 20:48
/me интересуется, как будет выглядеть этот самый нат...

cyberb  01-07-2009 22:12
как-то так
http://images.google.ru/images?hl=ru&q=%D0%BD%D0%B0%D1%82&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BE%D0%BA&gbv=2&aq=f&oq=

kev-wapbbs  02-07-2009 10:29
Собственно было уже , лишний раз хламить топик небуду

_http://www.wapbbs.com/bbs/showthread.php?t=112204&highlight=Natd

barabashka  02-07-2009 11:31
Гыыыы, что-то я даже и не подумал о том, что нет НАТа ;)

cyberb  02-07-2009 14:08
Я в БСД уж год не сидел, но по прошлому опыту могу сказать - natd простой и весьма убогий (хотя я может просто в нем разобрался не до конца), как впрочем и ipfw и даже ipfw2. Если копатья то pf с его системами ната или ipfilter с его натом (кста оба применяются не только во free, первый ваще openbsd и уже стандарт в функциональности, причем стандарт остальными пока не достижимый, а второй простой и оч интуитивный).

Из плюсов могу сказать одно, что тока в pf нашел средства когда пакет приходит с одной карты сетевой, отправлять ответ на ту же, а не в default gateway. Это нужно когда есть 2 карты в инет и хочется разделить нагрузку на уровне клиентов.

kev-wapbbs  02-07-2009 17:35
Я не обладаю достаточными знаниями и практикой для таких рассуждений. У меня вот к сожалению затык на затыке... демон ната почемуто не стартует

rc.conf :
gateway_enable="YES"
keymap="ru.koi8-r"
linux_enable="YES"
samba_enable="YES"
sshd_enable="YES"
apache_enable="YES"
squid_enable="YES"
ifconfig_em1="inet *.*.215.90 netmask 255.255.255.240"
defaultrouter="*.*.215.81"
ifconfig_em0="inet 192.168.0.4 netmask 255.255.255.0"
tcp_drop_synfin="YES"
natd_enable="YES"
natd_program="/sbin/natd"
natd_interface="em1"
natd_flags="-f /etc/natd.conf"

я изгалился мальца, и придумал скриптом его пускать из каталога rc.d ... однако хочется узнать как можно продиагностировать проблему ?! хотяб в логах чтото посмотреть.. а забыл сказать еще кстати что задача изначально пустиковая пробросить 25тый порт на сервак с exchange. Однако немогу никак решить ... обчитался всяких статей в результате ноль на массу ((( Если есть обходные вырианты то буду рад услышать тоже...

cyberb  02-07-2009 17:46
keymap="ru.koi8-r" - в высшей степени фарс никому не нужный

tcp_drop_synfin="YES" - ваще знаешь зачем это нада?)

natd_program="/sbin/natd" - это тоже не нада

как ты понимаешь что он не запустился? правила разрешающие в файеровле есть? правила трансляции в natd.conf есть?

PS выше я писал что natd мутный, ты не воспринял - твое право

kev-wapbbs  02-07-2009 17:52
tcp_drop_synfin="YES" - ваще знаешь зачем это нада?)
как ты понимаешь что он не запустился? правила разрешающие в файеровле есть? правила трансляции в natd.conf есть?

tcp_drop_synfin="YES" -- взял с "Лисяры" эта опция должна поидее не отдавать имя хоста.

натд.конф :
same_ports yes
use_sockets yes
redirect_port tcp 192.168.0.100:25 25

правило в фаере:

allow tcp from any to {Внешний IP} dst-port 25 in via {Внешняя сетевуха}

если демон ната не запушен , тоесть я убираю скрипт из rc.d , с моего компа да и вообще с localhosta перестают ходить даже пинги.... вот так и понимаю

cyberb  02-07-2009 17:59
Так вот если не по идее, то ты тыкаешь то, что совсем не понимаешь ни что ни зачем - признак вообщем подхода к вопросу.

Патологическая лень не позволяет ознакомиться с
http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/network-natd.html
http://www.freebsd.org/cgi/man.cgi?query=natd&sektion=8

1) ядро поддерживает ipdivert?
2) правил на диверт в файере не заметил, тока на разрешение коннекта.

Ваще подходишь к вопросу крайне плохо - спустя рукава, вообщем как глобальное большинство тут. Я к тому, что ты спрашиваешь вопросы которые легко в состоянии решить сам, ты включаешь в конфиги то что не понимаешь. Как ты думаешь как будет работать сервер настроенный так?

kev-wapbbs  02-07-2009 20:53
Ну вот зачем так сразу =)
Я еще в первом посте отписался что делаю это в первый раз, теперь по теме :
Ядро пересобрал с опциями :
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options IPFIREWALL_DEFAULT_TO_ACCEPT


Привел одно правило из фаера только потому что пытаюсь решить вполне конкретную задачу входящий форвардинг на 25 порту. Спросить совета решил потому что см. первый пост. В нат полез потому что как мне показалось ед. возможность решить задачу. Туплю в районе фаервола как мне кажется (более вероятно) либо изза левого запуска демона NAT не цепляется конфиг с редиректом. В общем вы уважаемый cyberb помоглиб несчастному студенту проблему решить =)

cyberb  02-07-2009 21:09
я тож студент и если посмотришь по истории постов, то практически всегда отвечал на вопросы, а не задавал их

где правило диверта в файере? он примерно выглядит так
/sbin/ipfw add divert natd all from any to any via ed0

и потом твое правило не работает, потому что у тя политика - по умолчанию открыто

kev-wapbbs  02-07-2009 21:25
с послендней опцией проступил копи паст... извиняюсь ..

вот ipfw show:

em0- внутренний
em1- внешний

00100 0 0 check-state
00200 0 0 allow ip from any to any via lo0
00300 0 0 deny ip from any to 127.0.0.0/8
00400 0 0 deny ip from 127.0.0.0/8 to any
00500 0 0 deny ip from any to 10.0.0.0/8 via em1
00600 0 0 deny ip from any to 172.16.0.0/12 via em1
00700 0 0 deny ip from any to 192.168.0.0/16 via em1
00800 0 0 deny ip from any to 0.0.0.0/8 via em1
00900 0 0 deny ip from any to 169.254.0.0/16 via em1
01000 17 2130 deny ip from any to 240.0.0.0/4 via em1
01100 0 0 deny icmp from any to any frag
01200 0 0 deny log icmp from any to 255.255.255.255 in via em1
01300 0 0 deny log icmp from any to 255.255.255.255 out via em1
01400 0 0 fwd 192.168.0.4,3128 tcp from 192.168.0.0/24 to any dst-port 80 via em1
01500 576 216614 allow tcp from any to {Внейшний адрес} dst-port 49152-65535 via em1
01600 4 216 allow tcp from any to {Внейшний адрес} dst-port 25 in via em1
01700 0 0 fwd 192.168.0.100,25 tcp from any to {Внейшний адрес} dst-port 2 5 via em1
01800 0 0 allow tcp from 192.168.0.0/24 to any dst-port 443 via em1
01900 0 0 allow tcp from 192.168.0.0 to any dst-port 5190 in via em0

02100 485 39528 allow tcp from any to {Внейшний адрес} dst-port 22 via em1
02200 0 0 divert 8668 ip from 192.168.0.0/24 to any out via em1
02300 863 44239 divert 8668 ip from any to {Внейшний адрес} in via em1
02400 166 10214 allow icmp from any to any icmptypes 0,8,11
02500 0 0 allow gre from any to any via em0
02600 3732 1228938 allow tcp from any to any established
02700 231 21090 allow ip from {Внейшний адрес} to any out xmit em1
02800 110 5388 allow tcp from any to any via em0
02900 2957 331529 allow udp from any to any via em0
03000 1 56 allow icmp from any to any via em0
03100 0 0 allow tcp from any to 192.168.0.4 dst-port 80 via em0

cyberb  02-07-2009 21:49
02300 863 44239 divert 8668 ip from any to {Внейшний адрес} in via em1

ну все работает, какие проблемы? Правила нада ваще делать закрыть все по умолчанию, изучить параметр keep-state и понять зачем он нужен. Из лога четко видно что половина правил ты тупо вставил непонятно зачем.

kev-wapbbs  02-07-2009 22:38
не совсем понимаю разницы между keep-state и setup , как написано в хэндбуке setup
Обязательное ключевое слово, которое распознает запрос о начале сессии для TCP пакетов. а меж тем keep-state
Обязательное ключевое слово. После совпадения файрволл создаст динамическое правило, чье поведение по умолчанию состоит в том, что бы было совпадение двунаправленного траффика между IP адресом или портом источника и приемника по тому же самому протоколу.

надёжнее юзать keep-state ?

cyberb  03-07-2009 00:05
надежнее понять чем отличается

Dud  03-07-2009 16:41
kev-wapbbs:

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

Сетуп запускает отслеживание каждой тцп-сессии, распознавая запросы на соединение, а кипстейт сравнивает клуджи в приходящих и уходящих пакетах (от начала обмена пакетами, т.е. сессии, и до её конца клудж один и тот же) -- и при совпадении действует так, как написано в хендбуке.