Подскажите плз по 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]
Код: Выделить всё
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
[ipfw]
Код: Выделить всё
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
[squid]
Код: Выделить всё
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"
Фря 7.1, сквид 3.0.