добрый день народ столкнулся с одной проблемой прошу только сильно не пинать я начинающий !
работали как работали ну в скором времени понадобилось прокси .Решил ставить связку APACHE+MYSQL+PHP+SQUID+SAMS с NCSA-AUTH вроде поставил все веб морда открывается,делал все по lissyara.su ,но у клиентов локальной сети при запросе на любой ресурс должно было выскочить окно с просьбой ввести логин и пасс.ну у меня чет такого нет (( кстати пусть вопрос и звучит глупо ну не спросить не могу ,надо ли до того как это все ставить,настраивать IPFW и NAT ? БУДУ ОЧЕНЬ БЛАГОДАРЕН
> добрый день народ столкнулся с одной проблемой прошу только сильно не пинать
> я начинающий !
> работали как работали ну в скором времени понадобилось прокси .Решил ставить связку
> APACHE+MYSQL+PHP+SQUID+SAMS с NCSA-AUTH вроде поставил все веб морда открывается,делал
> все по lissyara.su ,но у клиентов локальной сети при запросе на
> любой ресурс должно было выскочить окно с просьбой ввести логин и
> пасс.ну у меня чет такого нет (( кстати пусть вопрос и
> звучит глупо ну не спросить не могу ,надо ли до того
> как это все ставить,настраивать IPFW и NAT ? БУДУ ОЧЕНЬ БЛАГОДАРЕН1) как начинающему рекомендую подходить к проблеме последовательно
2) изучайте софт по мануалам, а не всякого рода хауту - они не для вас
3) задавайте вопросы четко, грамотно и по существу, по каждой проблеме отдельный - на ваш фееричный бред, вываленный из подсознания, отвечать никто не будет
у меня с изьяснениями беда ну хоть бы кто либо понял помог (( не то я уже все сам на изучаю(
> у меня с изьяснениями беда ну хоть бы кто либо понял помог
> (( не то я уже все сам на изучаю(если у клиента все будет работать через прокси, то nat не нужен (прочитайте что делает нат, а что прокси), пакетный фильтр нужен. и привыкайте смотреть логи
я перечитал кучу ман и всякого рода ссылок,у меня 2 интерфейса один wan static другой lan как они будут без нат работать ?
второе вот конф ipfw#!/bin/sh
FwCMD="/sbin/ipfw" # собственно где лежит бинарник ipfw
LanOut="xl0" # внешний интерфейс
LanIn="sis0" # внутренний интерфейс
IpOut="192.168.10.2" # внешний IP адрес машины
IpIn="192.168.20.1" # внутренний IP машины
NetMask="24" # маска сети
NetIn="192.168.20.0" # Внутренняя сеть# Сбрасываем все правила:
${FwCMD} -f flush# Проверяем - соответствует ли пакет динамическим правилам:
${FwCMD} add check-state# Разрешаем весь траффик по внутреннему интерфейсу (петле)
# Вообще я во многих местах читал что без него может ничё не заработать вообще
# и прочие страшилки. Работает - почта, апач, .... А вот squid - не работает :)
# так что без него и правда - никуда.
${FwCMD} add allow ip from any to any via lo0
# рубим попытки lo0 куда-то лезть и откуда-то лезть на lo0 (вот честно - ни
# одного пакета по этим правилам не зарубилось за всё время... Может в этом
# моё счастье? :))
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any
# Вводим запреты:
# режем частные сети на внешнем интерфейсе - по легенде он у нас
# смотрит в интернет, а значит пакетам этим браться неоткуда на нём.
# рубим частные сeти
${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
# рубим фрагментированные icmp
${FwCMD} add deny icmp from any to any frag
# рубим широковещательные icmp на внешнем интерфейсе
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}
# отправляем всех на squid (в данном случае - прокси прозрачный)
${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn}/${NetMask} to any 80 via ${LanOut}
# пропускаем траффик через трансляцию сетевых адресов (NAT)
${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}# рубим траффик к частным сетям через внешний интерфейс
# заметтьте - эти правила отличаются от тех что были выше!
${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
# рубим автоконфигуреную частную сеть
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
# рубаем мультикастовые рассылки
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}
# разрешаем все установленные соединения (если они установились -
# значит по каким-то правилам они проходили.)
${FwCMD} add allow tcp from any to any established
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}# разрешаем DNS снаружи (нам же надо узнавать IP по именам машин?)
${FwCMD} add allow udp from any 53 to any via ${LanOut}
# разрешаем DNS входящий снаружи - если на этой машине работает named
# и держит какую-то зону. В остальных случаях - не нужно
${FwCMD} add allow udp from any to any 53 via ${LanOut}
# разрешаем UDP (для синхронизации времени - 123 порт)
${FwCMD} add allow udp from any to any 123 via ${LanOut}
# разрешаем ftp снаружи (оба правила - для пасивного режима)
# для узнавания портранджа по которому будет работать, лезем в
#/usr/home/lissyara/>sysctl net.inet.ip.portrange.first
# net.inet.ip.portrange.first: 49152
# /usr/home/lissyara/>sysctl net.inet.ip.portrange.last
# net.inet.ip.portrange.last: 65535
${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
#Можно изгалиться примерно так, если есть желание, но я предпочитаю руками
#${FwCMD} add allow tcp from any to ${IpOut} \
#`sysctl net.inet.ip.portrange.first | awk '{print $2}'`-\
#`sysctl net.inet.ip.portrange.last | awk '{print $2}'` via ${LanOut}
${FwCMD} add allow tcp from any to ${IpOut} 49152-65535 begin_of_the_skype_highlighting 49152-65535 end_of_the_skype_highlighting begin_of_the_skype_highlighting 49152-65535 end_of_the_skype_highlighting via ${LanOut}
# разрешаем некоторые типы ICMP траффика - эхо-запрос,
# эхо-ответ и время жизни пакета истекло
${FwCMD} add allow icmp from any to any icmptypes 0,8,11
# открываем снаружи 80 порт - если у нас есть WWW сервер на машине
${FwCMD} add allow tcp from any to ${IpOut} 80 via ${LanOut}
# открываем снаружи 25 порт (SMTP) если на машине крутится почта
#${FwCMD} add allow tcp from any to ${IpOut} 25 via ${LanOut}
# открываем снаружи 22 порт - если надо будет ходить на машину по ssh
${FwCMD} add allow tcp from any to ${IpOut} 22 via ${LanOut}
# открываем снаружи 143 порт(если надо смотреть почту снаружи по IMAP)
${FwCMD} add allow tcp from any to ${IpOut} 143 via ${LanOut}
# открываем снаружи 110 порт(если надо смотреть почту снаружи по POP)
${FwCMD} add allow tcp from any to ${IpOut} 110 via ${LanOut}
# по поводу следующих трёх правил, для tcp, udp и icmp - их можно
# заменить одним правилом:
#${FwCMD} add allow ip from any to any via ${LanIn}
# но для удобства наладки и контроля происходящего я предпочитаю три отдельных
# правила, хотя могут быть грабли - например протокол gre не пройдёт -
# придётся стругать отдельное правило для него, типа
#${FwCMD} add allow gre from any to any via ${LanIn}
# итак:
# разрешаем весь tcp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow tcp from any to any via ${LanIn}
# разрешаем весь udp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow udp from any to any via ${LanIn}
# разрешаем весь icmp траффик внутри локалки (на внутреннем интерфейсе)
${FwCMD} add allow icmp from any to any via ${LanIn}
# запрещаем всё и всем. Если тип файрволла не open то это правило добавится
# автоматически, но всё-же ну его. Лучше сам. Надёжней.
${FwCMD} add deny ip from any to anyкогда задаю родные правила которые по умолчанию лежали в /etc/rc.firewall и ставлю firewall_type="open" то все работает у клиентов без авторизации
> я перечитал кучу ман и всякого рода ссылок...Надо было ставить Linux
Не-не-не, хэндбуком его, хэндбуком!...
> Не-не-не, хэндбуком его, хэндбуком!...руки кривые а руководство по freebsd поверь читал учил практиковал ,ну с этой связкой я себе жбам скипятил,обычно у меня и так получаеться, ну сдесь я бессилен я про ipfw все уже выучил но увы !
> я про ipfw все уже выучил ноКакой скромный мальчик :)
>> я перечитал кучу ман и всякого рода ссылок...
> Надо было ставить LinuxДа ну? И что бы изменилось? :)
Тогда бы павлинукс выкрикивал RTFM а не bsd-шнеги? О - да отно того стоит, щас поставлю линукс, жди вопросов! :)
А чего под Аноним-то, очкуем плесень?!
> А чего под Аноним-то, очкуем плесень?!Баааа! Да у тебя мания величия ... тоже мне форумный герой, почти мультяшка :)
По делу - по сути моего поста в чём не согласен?
> По делу - по сути моего поста в чём не согласен?Мои посты №18, #19 и #21. И эта (L)Public Domain, Sans None :)
>> По делу - по сути моего поста в чём не согласен?
> Мои посты №18, #19 и #21. И эта (L)Public Domain, Sans None
> :)Да тыгыдымский конь! 19, 20, 21 :)
Под анонимусом принципиально всегда.
PS: Народ всех С Наступающим! :)
> я перечитал кучу ман и всякого рода ссылок,у меня 2 интерфейса один
> wan static другой lan как они будут без нат работать ?когда поймете что делает nat, а что проски, этот вопрос отпадет
> когда задаю родные правила которые по умолчанию лежали в /etc/rc.firewall и ставлю
> firewall_type="open" то все работает у клиентов без авторизациизначит пока оставьте firewall_type="open" и заставте работать так как нужно.
у клиентов прокси прописан?
> значит пока оставьте firewall_type="open" и заставте работать так как нужно.
> у клиентов прокси прописан ?да ну он не отвечает 192.168.20.1 3328,
я вернул все как было
00555 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00655 allow ipv6-icmp from :: to ff02::/16
00755 allow ipv6-icmp from fe80::/10 to fe80::/10
00855 allow ipv6-icmp from fe80::/10 to ff02::/16
00955 allow ipv6-icmp from any to any ip6 icmp6types 1
01055 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
00050 divert 8668 ip4 from any to any via fxp0
65000 allow ip from any to anynatd_enable YES
firewall-type open
инет работает в обход прокси (
убейте меня !
>> значит пока оставьте firewall_type="open" и заставте работать так как нужно.
>> у клиентов прокси прописан ?
> да ну он не отвечает 192.168.20.1 3328,а он запущен и именно на этом адресе и порту
>[оверквотинг удален]
> 00655 allow ipv6-icmp from :: to ff02::/16
> 00755 allow ipv6-icmp from fe80::/10 to fe80::/10
> 00855 allow ipv6-icmp from fe80::/10 to ff02::/16
> 00955 allow ipv6-icmp from any to any ip6 icmp6types 1
> 01055 allow ipv6-icmp from any to any ip6 icmp6types 2,135,136
> 00050 divert 8668 ip4 from any to any via fxp0
> 65000 allow ip from any to any
> natd_enable YES
> firewall-type open
> инет работает в обход прокси (если кому то будет указано ходить через шлюз, а не через прокси, то так и будет
> убейте меня !
и это возможно
>> убейте меня !
> и это возможновы очень любезны )мне что делать что почитать что посоветуете
>>> убейте меня !
>> и это возможно
> вы очень любезны )мне что делать что почитать что посоветуетепонять отличия и как что работает
http://ru.wikipedia.org/wiki/%D0%9F%D1%8...
1. Сначала клиент подключается к прокси-серверу и запрашивает какой-либо ресурс (например, e-mail), расположенный на другом сервере.
2. Затем прокси-сервер либо подключается к указанному серверу и получает ресурс у него, либо возвращает ресурс из собственного кэша (в случаях, если прокси имеет свой кэш).http://ru.wikipedia.org/wiki/NAT
NAT — это механизм в сетях TCP/IP, позволяющий преобразовывать IP-адреса пакетов.
логи смотреть cache.log , заставить запустится прокси, умудрится пробиться через пакетный фильтр и пользоваться
вы не поверите ну я почти наизусть знаю и про NAT и про проксю ,вопрос в том что проблемма очевидна она в ipfw я не могу добиться от нее что бы она заруливала весь исходящий трафик с локалки на squid .Пакеты идут либо через natd c с открытым типом фильтра(any to any) либо затыкаються на нем ! я и правило отдельное создал и прописал все переменные и одно правило add frw 127.0.0.1 from 192.168.20.0/24 80 to lanout ,там оно по другому выглядит пищу по памяти ) вот хотел посмотреть заруливает он или нет.......НЕТ вообще ни че не хочет, в логах все запросы попадают в это правило. я уж грешным делом на squid думаю,хотя в процессе он есть да и самс его реконфегурирует без ошибок !
> вы не поверите ну я почти наизусть знаю и про NAT и
> про проксю ,вопрос в том что проблемма очевидна она в ipfwконечно не поверю, тут вы описываете попытки сделать прозрачный прокси, а вначале про NCSA-AUTH упоминали , а это противоречия для прокси, либо то, либо то.
> я не могу добиться от нее что бы она заруливала весь
> исходящий трафик с локалки на squid .Пакеты идут либо через natd
> c с открытым типом фильтра(any to any) либо затыкаються на нем
> ! я и правило отдельное создал и прописал все переменные и
> одно правило add frw 127.0.0.1 from 192.168.20.0/24 80 to lanout ,там
> оно по другому выглядит пищу по памяти ) вот хотел посмотреть
> заруливает он или нет.......НЕТ вообще ни че не хочет, в логах
> все запросы попадают в это правило. я уж грешным делом на
> squid думаю,хотя в процессе он есть да и самс его реконфегурирует
> без ошибок !вы уж определите на каких адресах и портах работает прокси, пропишите это в браузере и добейтесь работы, а уж потом делайте прозрачный, кстати для этого и прокси должен знать что он будет в прозрачном режиме и должен быть собран с поддержкой работы с пакетными фильтрами
с этого места по подробней
хочу через NCSA как должно выглядеть правило ?машина где стоит squid 192.168.20.1
wan 192.168.10.2
pleez
> с этого места по подробней
> хочу через NCSA как должно выглядеть правило ?правило одно: идете к клиенту и указываете использовать прокси.
> машина где стоит squid 192.168.20.1
> wan 192.168.10.2
> pleezв конфиге можно определить на каких адресах и портах squid будет слушать, если это не менялось, то squid слушает 3128 порт на всех адреса машины, и тогда клиенту из 192.168.20.0/24 подсети вы укажите ходить через 192.168.20.1:3128 , а не 192.168.20.1 3328
пробывал и так и сяк ,мажет попробывать порт поменять ?
> пробывал и так и сяк ,мажет попробывать порт поменять ?если хотите, пожалуйста. только смысл какой?
grep http_port squid.conf
> пробывал и так и сяк ,мажет попробывать порт поменять ?Нет! Надо забубенить красную ленточку через всю серверную! (С) анегдод
Ну а серьёзно:1. Определись с конфигурацией
1.1. Серверной части
1.2. Клиента.
2. Запусти tcpdump со сбросом в файл
3. Попробуй с настроенного клиента зайти куда нить
4. Останови tcpdump
5. ВКЛЮЧИ ГОЛОВУ! Посмотри выхлоп tcpdump, ipfw, и логи сквида тоже6. Если всё Ок - беги покупать шампанское ибо Новый Год близок! :)
7. Иначе - пойми где не срослось, (RTFM again) подумай как подправить и го на пункт 1.
Если хочешь чтобы эту без сомнения увлекательную работу проделали мы - не проблема, но деньги вперед! :)На вопросы в процессе - народ ответит. На _конкретные_ ...
PS: Хотя 29-ое уже ... как бы ты до числа этак до 15 Января не попал :)
народ УРААААА я победил его )) спасибо всем )
кстати а победил так add frw 192.168.20.1,8080 192.168.20.0/24 to 80 192.168.20.1
окошко выскакивает )дальше после выходных !!!ВСЕХ С НАСТУПАЮШИМ!!! да прибудет с нами сила )