Вопрос по FreeBSD7 + ipfw + Squid3
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2008-12-30 14:55:24
Вопрос по FreeBSD7 + ipfw + Squid3
Доброго времени суток.
Помогите, совсем запутался.
Запутался в следующем:
Установил FreeBSD7 + ipfw + Squid3(в прозрачном режиме).
1. в какой последовательности должны идти правила в ipfw, т.е. с начала разрешающие потом запрещающие или как?
2. такой же вопрос и по Squid-у.
у меня эта связка работает в прозрачном режиме, только я на Squid не могу перенаправить весь трафик, не пойму как и в каком месте ставить правила. К примеру не получается работа в SSL (443), правило в ipfw ставлю вроде показывает что пакеты по нему бегут, но когда браузером захожу на сайт с авторизацией (SSL) появляется надпись что версии SSL не совпадают.
И еще, пожалуйста, подскажите ссылку на то как с такой связкой разделить трафик на городской и вне городской.
Спасибо.
Помогите, совсем запутался.
Запутался в следующем:
Установил FreeBSD7 + ipfw + Squid3(в прозрачном режиме).
1. в какой последовательности должны идти правила в ipfw, т.е. с начала разрешающие потом запрещающие или как?
2. такой же вопрос и по Squid-у.
у меня эта связка работает в прозрачном режиме, только я на Squid не могу перенаправить весь трафик, не пойму как и в каком месте ставить правила. К примеру не получается работа в SSL (443), правило в ipfw ставлю вроде показывает что пакеты по нему бегут, но когда браузером захожу на сайт с авторизацией (SSL) появляется надпись что версии SSL не совпадают.
И еще, пожалуйста, подскажите ссылку на то как с такой связкой разделить трафик на городской и вне городской.
Спасибо.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: Вопрос по FreeBSD7 + ipfw + Squid3
1 без разници - логика должна быть
2 fwd
3 логику и подход к учету трафика меняйте
2 fwd
3 логику и подход к учету трафика меняйте
-
- майор
- Сообщения: 2684
- Зарегистрирован: 2007-09-25 10:20:59
- Откуда: Сочи, Москва
- Контактная информация:
Re: Вопрос по FreeBSD7 + ipfw + Squid3
В ipfw нет приоритета правил по сути, это иногда бывает сложно понять тем, кто в первый раз сталкивается. Фаервол применяет к попавшему в него пакету правила по очереди до тех пор, пока не найдет подходящее. После этого другие правила не применяются. Так что смотри сам, как расставить запрещающие и разрешающие правила.
В сквиде не помню, кажется там верхнее правило имеет больший приоритет. Или нижнее
В сквиде не помню, кажется там верхнее правило имеет больший приоритет. Или нижнее

Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru
http://www.itforum-sochi.ru
-
- майор
- Сообщения: 2684
- Зарегистрирован: 2007-09-25 10:20:59
- Откуда: Сочи, Москва
- Контактная информация:
Re: Вопрос по FreeBSD7 + ipfw + Squid3
В каком смысле разделить?qwl писал(а):И еще, пожалуйста, подскажите ссылку на то как с такой связкой разделить трафик на городской и вне городской.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru
http://www.itforum-sochi.ru
-
- рядовой
- Сообщения: 49
- Зарегистрирован: 2008-12-30 14:55:24
Re: Вопрос по FreeBSD7 + ipfw + Squid3
С ipfw я панял. Я с Squid несовсем, в принципе Squid любой (весь) трафик через себя пропускает? Или только, все ж определенный?
На Squid правило такое: {${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any http via ${LanOut}}, http = 80, получается на Squid уходит весь 80 поток, так? А поток по другим портам, в зависимости от правил ipfw будут ходить в обход Squid или вовсе не будут ходить? Или как то правилами, можно завернуть все на 80 порт?
Разъясните, пожалуйста, данный вопрос.
По вопросу о трафике:
Логии ведет Squid, и можно ли разделить эти логии на внутренне городской и на вне городской трафик, и какими средствами?
На Squid правило такое: {${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any http via ${LanOut}}, http = 80, получается на Squid уходит весь 80 поток, так? А поток по другим портам, в зависимости от правил ipfw будут ходить в обход Squid или вовсе не будут ходить? Или как то правилами, можно завернуть все на 80 порт?
Разъясните, пожалуйста, данный вопрос.
По вопросу о трафике:
Логии ведет Squid, и можно ли разделить эти логии на внутренне городской и на вне городской трафик, и какими средствами?
-
- рядовой
- Сообщения: 23
- Зарегистрирован: 2009-01-27 7:05:47
- Откуда: Томск
- Контактная информация:
Re: Вопрос по FreeBSD7 + ipfw + Squid3
Ты ведь сам указал, что будет заворачиваться на squid только http траффик, а если быть точным, то все пакеты у которых порт назначения 80. Траффик на тот же https = 443 будет идти мимо Squid. Главное - понять логику. Правило редиректа должно стоять до правил nat, если таковые есть, иначе заголовок отправителя будет переписан и ты не узнаешь адрес источникаqwl писал(а): На Squid правило такое: {${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any http via ${LanOut}}, http = 80, получается на Squid уходит весь 80 поток, так? А поток по другим портам, в зависимости от правил ipfw будут ходить в обход Squid или вовсе не будут ходить? Или как то правилами, можно завернуть все на 80 порт?
Разъясните, пожалуйста, данный вопрос.
Если у тебя есть список городских подсетей, то можно сделать двоякоqwl писал(а): По вопросу о трафике:
Логии ведет Squid, и можно ли разделить эти логии на внутренне городской и на вне городской трафик, и какими средствами?
1. Поднять второй сквид на порт например 3129 и средствами ipfw весь городской трафик гнать на 2-ой сквид... Типа.. Эмм...
Код: Выделить всё
${fwcmd} add ${num}501 fwd 127.0.0.1,3129 tcp from ${localnet} to "table(2)" http out xmit ${iface}
${fwcmd} add ${num}501 fwd 127.0.0.1,3128 tcp from ${localnet} to any http out xmit ${iface}
Подгрузить список можно в том же конфиге файервола
Код: Выделить всё
#Загружаем таблицу городских сетей
while read LINE; do
ipfw table 2 add $LINE
done < /usr/local/etc/ipfw/tables/ipfw.table2
Код: Выделить всё
10.156.80.0/24
192.168.1.0/24
62.68.128.0/19
77.106.64.0/18
..................
2. Еще вариант - использовать утилитку, которая разбирает логфаил сквида и делит траффик

-
- рядовой
- Сообщения: 18
- Зарегистрирован: 2009-01-28 11:09:50
Re: Вопрос по FreeBSD7 + ipfw + Squid3
Подскажите плз по squid, я уже устал с ним бороться =(
Хочу настроить его так что бы он пускал пользователей (rl0) по ипам, а пользователей (sis0 и tun0) по авторизации через ncsa.sams
В наличие имею:
4 интерфейса, 2 локальных (2 разных сети rl0 и sis0), 1 ппп (tun0), 1 сморит на провайдера(rl1).
Сделал следующие:
1) Руководствуясь статьей собрал squid+ipfw+sams
2) ipfw по правилам все что идет на 80 порт пробрасывается на squid, остальное натится.
3) Дальше начинается омут... если в настройках squid не стоит 3128 транспарент то при выходе в инет сразу появляется ошибка invalid url. Если стоит то пишет access denied. Я оставил транспарент. Далее создаю шаблон net_ip, в нем делаю авторизациию по ip для сети rl0, и создаю юзеров с ипами 192.168.0/24, и если на клиентской машине стоит ип из этого диапазона то все гуд, если нет то акссесс дениед и все тут, т.е. не выдается запрос логина и пароля, юзера соответственные созданы. Ладно думаю, фиг с этим 3128 транспарент и вешаю сквид еще на порт 3129 для сети sis0, так впринципе работает, но в настройках броузера необходимо указать проксю скажем 190.34.0.111:3129, тогда выдается запрос логина и пароля, а если сеть sis0 прокидывать на сквид средствами ipfw, да бы не прописывать проксю в броузере то сразу получаем инвалид урл, т.е. тоже что и на порту 3128 без транспарент, и если не прокидывать на сквид через ипввф и не указывать его вручную то получаем доступ в интернет, т.к. шлюзом у всех сетей стоит этот рутер. Ладно думаю, пускай будет так, т.е. для сети rl0 авторизация по ипам работает как и задумывалось, а для сети tun0 и sis0 буду ручками прописывать проксю в браузере, но тут я столкнулся с еще одной проблемой: когда прописываешь ручками проксю в сети sis0 то запрос логина и пароля выдается, но принимается тока юзер которого я создал самым первым, еще до возни с авторизацией по ипам, а все юзера созданые после него уже не проходят авторизацию, хотя в ncsa.sams добавляются.
Старалася описать ситуация как можно яснее, для большей ясности прикладываю конфиги:
[ifconfig]
[ipfw]
[squid]
Фря 7.1, сквид 3.0.
Хочу настроить его так что бы он пускал пользователей (rl0) по ипам, а пользователей (sis0 и tun0) по авторизации через ncsa.sams
В наличие имею:
4 интерфейса, 2 локальных (2 разных сети rl0 и sis0), 1 ппп (tun0), 1 сморит на провайдера(rl1).
Сделал следующие:
1) Руководствуясь статьей собрал squid+ipfw+sams
2) ipfw по правилам все что идет на 80 порт пробрасывается на squid, остальное натится.
3) Дальше начинается омут... если в настройках squid не стоит 3128 транспарент то при выходе в инет сразу появляется ошибка invalid url. Если стоит то пишет access denied. Я оставил транспарент. Далее создаю шаблон net_ip, в нем делаю авторизациию по ip для сети rl0, и создаю юзеров с ипами 192.168.0/24, и если на клиентской машине стоит ип из этого диапазона то все гуд, если нет то акссесс дениед и все тут, т.е. не выдается запрос логина и пароля, юзера соответственные созданы. Ладно думаю, фиг с этим 3128 транспарент и вешаю сквид еще на порт 3129 для сети sis0, так впринципе работает, но в настройках броузера необходимо указать проксю скажем 190.34.0.111:3129, тогда выдается запрос логина и пароля, а если сеть sis0 прокидывать на сквид средствами ipfw, да бы не прописывать проксю в броузере то сразу получаем инвалид урл, т.е. тоже что и на порту 3128 без транспарент, и если не прокидывать на сквид через ипввф и не указывать его вручную то получаем доступ в интернет, т.к. шлюзом у всех сетей стоит этот рутер. Ладно думаю, пускай будет так, т.е. для сети rl0 авторизация по ипам работает как и задумывалось, а для сети tun0 и sis0 буду ручками прописывать проксю в браузере, но тут я столкнулся с еще одной проблемой: когда прописываешь ручками проксю в сети sis0 то запрос логина и пароля выдается, но принимается тока юзер которого я создал самым первым, еще до возни с авторизацией по ипам, а все юзера созданые после него уже не проходят авторизацию, хотя в ncsa.sams добавляются.
Старалася описать ситуация как можно яснее, для большей ясности прикладываю конфиги:
[ifconfig]
Код: Выделить всё
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:e0:7d:ba:49:ac
inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:50:fc:6b:84:a7
inet 10.10.10.2 netmask 0xffffff00 broadcast 10.10.10.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
sis0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 00:0d:87:4e:a4:dc
inet 190.34.0.111 netmask 0xffff0000 broadcast 190.34.255.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
plip0: flags=108810<POINTOPOINT,SIMPLEX,MULTICAST,NEEDSGIANT> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8010<POINTOPOINT,MULTICAST> metric 0 mtu 1500
Код: Выделить всё
00100 check-state
00200 allow ip from any to any via lo0
01200 fwd 127.0.0.1,3128 tcp from 192.168.0.0/24 to any dst-port 80 via rl1
#01300 fwd 127.0.0.1,3128 tcp from 111.111.111.0/24 to any dst-port 80 via rl1
01400 fwd 127.0.0.1,3128 tcp from 190.34.0.0/16 to any dst-port 80 via rl1
01500 divert 8668 ip from 192.168.0.0/24 to any out via rl1
01600 divert 8668 ip from 190.34.0.0/16 to any out via rl1
01700 divert 8668 ip from 111.111.111.0/24 to any out via rl1
01800 divert 8668 ip from any to 10.10.10.2 in via rl1
01900 allow tcp from any to any established
02500 allow udp from any 53 to any via rl1
03200 allow ip from any to any via rl0
03300 allow ip from any to any via tun0
03400 allow ip from any to any via sis0
03500 deny log logamount 100 ip from any to any
Код: Выделить всё
auth_param basic program /usr/local/libexec/squid/ncsa_auth /usr/local/etc/squid/ncsa.sams
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
http_port 3128 transparent
http_port 3129
forwarded_for off
# TAG: acl
acl _sams_49a518ce6a6da src "/usr/local/etc/squid/49a518ce6a6da.sams"
acl _sams_49a518ce6a6da_time time MTWHFAS 00:00-23:59
acl _sams_default proxy_auth "/usr/local/etc/squid/default.sams"
acl _sams_default_time time MTWHFAS 00:00-23:00
acl _sams_local_ip dst "/usr/local/etc/squid/local_ip.sams"
-
- проходил мимо
Re: Вопрос по FreeBSD7 + ipfw + Squid3
а так нельзя??
table 2 городской сеть
${fwcmd} add ${num}501 fwd 127.0.0.1,3128 tcp from ${localnet} to not "table(2)" http out xmit ${iface}
table 2 городской сеть
${fwcmd} add ${num}501 fwd 127.0.0.1,3128 tcp from ${localnet} to not "table(2)" http out xmit ${iface}
-
- ст. прапорщик
- Сообщения: 530
- Зарегистрирован: 2009-07-10 22:12:06
- Откуда: Ржев
- Контактная информация:
Re: Вопрос по FreeBSD7 + ipfw + Squid3
1.
2.
если ipnat то тоже в начеле , до nat правил
3.
1. перенпровляешь
2. запрещаешь что точно не нужно
3. разрешаешь что нужно.
4. запрещаешь все остольное что не разрешено...
ssl 443 в прозрачной прокси на работает...К примеру не получается работа в SSL (443), правило в ipfw ставлю вроде показывает что пакеты по нему бегут, но когда браузером захожу на сайт с авторизацией (SSL) появляется надпись что версии SSL не совпадают.
2.
если пользуешь ipfw то в самом начале ставь правело перенапровления трафикав какой последовательности должны идти правила по Squid-у.
Код: Выделить всё
ipfw add fwd 127.0.0.1,3128 tcp from 10.10.0.0/24 to any 80 via ng0
# 127.0.0.1,3128 это ip и port каторый слушает squid , сматри что прописал у себя squid.conf
# 10.10.0.0/24 эт твая сеть
# ng0 эт через что ты ходишь в интернет
Код: Выделить всё
rdr fxp0 0.0.0.0/0 port 80 -> 127.0.0.1 port 3128 tcp
# 0.0.0.0/0 эт вместо сети как в предыдущем примере, с ipnat такое не прокатит если выставишь тут 10.10.0.0/24
# fxp0 эт сетевуха каторая подключена к локалке
принцеп ipfw1. в какой последовательности должны идти правила в ipfw, т.е. с начала разрешающие потом запрещающие или как?
1. перенпровляешь
2. запрещаешь что точно не нужно
3. разрешаешь что нужно.
4. запрещаешь все остольное что не разрешено...
... Да освятится имя твое и pасшиpение твое, Господи...