LinuxForum.Fans
Тема

Отключить интернет

Автор: XliN 106 сообщений 22394 просмотров
#219564

С круппой разобрался, но сквиду на это наплевать. Все равно всех пользователей пускает. Не важно, есть он в группе или нет.

auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=smb,dc=mgkb1,dc=local" -D sel_ldap@smb.mgkb1.local -w XXXXX -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -h 192.168.2.82 -p 389

external_acl_type ldap_users %LOGIN /usr/lib/squid/squid_ldap_group -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=CN=ia,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -R -b "CN=Users,DC=smb,DC=mgkb1,DC=local" -D "sel_ldap@smb.mgkb1.local" -w "XXXXXX" -h 192.168.2.82 -v 3 -p 389


auth_param basic children 5
auth_param basic realm Internet Access MGKB1
auth_param basic credentialsttl 1 minutes


acl ldap_users proxy_auth REQUIRED
http_access allow ldap_users
http_access deny all
#219572

На сколько я могу судить сквит берёт пользователй из лдап, а лдап не синхронизирует с NT.
Такое ощущение, что лдап живёт своей жизнью.
Мне кажется проблема тут.

#219573

Vadimsky в точку сказал если домен на samba то nt надо включить дополнительным (забыл точное название).

#219574

Ну вот и все... :D :D :D :D Я очень рад. Все работает.

[console]Вот рабочий конфиг сквида
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=smb,dc=mgkb1,dc=local" -D sel_ldap@smb.mgkb1.local -w XXXXX -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -h 192.168.2.82 -p 389

external_acl_type ldap_users %LOGIN /usr/lib/squid/squid_ldap_group -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=CN=ia,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -R -b "CN=Users,DC=smb,DC=mgkb1,DC=local" -D "sel_ldap@smb.mgkb1.local" -w "XXXXXX" -h 192.168.2.82 -v 3 -p 389


auth_param basic children 5
auth_param basic realm Internet Access MGKB1
auth_param basic credentialsttl 1 minutes

acl inetusers external ldap_users ia
http_access allow inetusers
http_access deny all[/console]

squid теперь интегрирован с AD на Samba4 и пускает только тех, кто в инетовской группе. Так что с Samba4 вполне реально работать, хоть и альфа.

#219575

Я тоже а теперь можно к переменным описание?

#219578
Kettler написал:
Я тоже а теперь можно к переменным описание?

Это к кому вопрос?

З.Ы. Можно ли убрать окно авторизации?

#219580

Тебе. А окно тоже выскакивает?
Попробуй увеличить значение children если не поможет тогда упс.
Я сам в отказывался из за окна.

#219582
Kettler написал:
Тебе. А окно тоже выскакивает?

Это все потом. Там на самом деле все просто, но для самбы четвертой и ее лдапу все по другому. Пришлось лопатить все дерево и изучать.

Kettler написал:
Попробуй увеличить значение children если не поможет тогда упс.

А за что эта директива отвечает?

#219583

Обнаружил проблему. Добавил в группу инетовскую уже ранее созданного пользователя и судя по конфигу сквида, через одну минуту должен появиться инет. Не сработало. :(
Скорее всего из-за того что пользователь находится не по этому адресу CN=Users,DC=smb,DC=mgkb1,DC=local, а в OU=Ограниченные пользователи,CN=Users,DC=smb,DC=mgkb1,DC=local

Интересно, как тут будет с русскими букофками? ))))) Проверю потом.

#219644

children это типо скок одновременно может обрабатывать запросов.

#219734

Во накопил пару вопросов по сквиду.
Если в конфиге добавляю параметр

text
http_port 192.168.1.77:3128 transparent

То пользователей не пускает. Вообще никого. Хотя окошко авторизации не лезет.

Kettler написал:
children это типо скок одновременно может обрабатывать запросов.

Не помогло. Поставил 100.

P.S. И вот еще, как правильно пробросить только 192.168.2.0/24 на прокси?

eth1-inet
eth0-vlan3-vlan4-vlan5
Вот так у меня люди ходят в инет... Подозреваю что есть лишние правила.
[console]iptables --table nat --append POSTROUTING --out-interface vlan3 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface vlan4 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface vlan5 -j MASQUERADE
iptables --table nat --append POSTROUTING --out-interface eth1 -j MASQUERADE[/console]
Пробовал добавлять выше
[console]iptables -t nat -A PREROUTING -i vlan5 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128[/console]
Не сработало.

#221846
--=XliN=-- написал:
Если в конфиге добавляю параметр

http_port 192.168.1.77:3128 transparent

То пользователей не пускает. Вообще никого. Хотя окошко авторизации не лезет.

Это параметр указывает вышестоящий прокси. Эт оможет быт ьпрокся прова, может свой, если он есть и порт и адрес указаны правильно, о работает, если вышестоящего прокси нет - то не работает соответсвенно.
Вот тут пример:
http://linuxforum.ru/viewtopic.php?pid=156512#p156512

#221876

А кто айпишники раздает-то? Если юниксовый дхцпед- то, учитывая, что тинклиенты грузятся по pxe, в конфиге можно выделить секцию- при запросах от пхе (в DHCP протоколе pxe клиенты запрашивают особенными запросами, распознаются, как pxe-сетевки, в общем)- не раздавать им адрес шлюза. Если же клиентов не много, то можно выделить секцию по макам. Либо шлюс раздавать всем, но пхе-девайсам выделить пул, и этот пул не натить на шлюзе.

#221925

Так тоже можно. У меня кстати совмещенны оба эти варианта, DHCP стоит на шлюзе и тем кому в Инет нельзя, тем тупо даёт другие адреса, которые закрыты в iptables и Squid.

#223655

Возник вопрос. Т.к. Squid настроен на выдачу инета только определенным людям в группе AD, появилась проблема.
Пользователи, которые заходят по RDP на 192.168.2.100 юзают программу ТМ "Здоровье", а она требует всегда обновления с сервера их компании. Как я выяснил тащит она их по http и естественно по 80 порту. Из-за прокси она выдает ошибку.

Можно ли как то это обойти? Самой программе не нашел функции.
Вот так я заворачиваю
[console]iptables -t nat -A PREROUTING -i vlan5 -s 192.168.2.100 -p tcp --dport 80 -j DNAT --to 192.168.1.77:3128
iptables -t nat -A PREROUTING -i eth1 -s 192.168.2.100 -p tcp --dport 80 -j REDIRECT --to-port 3128[/console]
Вот конфиг сквида

Показать
# created by SAMS _sams_ 2012-1-15 12:15:9
http_port 192.168.1.77:3128
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "dc=smb,dc=mgkb1,dc=local" -D sel_ldap@smb.mgkb1.local -w XXXXXX -f "(&(objectClass=person)(sAMAccountName=%s))" -u sAMAccountName -h 192.168.2.82 -p 389

external_acl_type ldap_users %LOGIN /usr/lib/squid/squid_ldap_group -f "(&(objectclass=person)(sAMAccountName=%v)(memberOf=CN=ia,CN=Builtin,DC=smb,DC=mgkb1,DC=local))" -R -b "OU=UsersDom,DC=smb,DC=mgkb1,DC=local" -D "reg3@smb.mgkb1.local" -w "reg3" -h 192.168.2.82 -v 3 -p 389


auth_param basic children 20
auth_param basic realm Internet Access MGKB1
auth_param basic credentialsttl 1 minutes

hierarchy_stoplist cgi-bin ?
access_log /var/log/squid/access.log squid
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
#hosts_file /etc/hosts
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl inetusers external ldap_users ia
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
#acl lan src 127.0.0.1 192.168.1.77 192.168.2.0/24
http_access allow localhost
#http_access allow lan
http_access allow inetusers
http_access deny all

http_reply_access allow all
icp_access allow all

А это логи

Показать
327225040.127 4 192.168.2.100 TCP_DENIED/407 2294 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.259 0 192.168.2.100 TCP_DENIED/407 2282 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.267 0 192.168.2.100 TCP_DENIED/407 2282 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.274 0 192.168.2.100 TCP_DENIED/407 2282 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.281 0 192.168.2.100 TCP_DENIED/407 2282 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.288 0 192.168.2.100 TCP_DENIED/407 2282 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.349 0 192.168.2.100 TCP_DENIED/407 2279 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.371 0 192.168.2.100 TCP_DENIED/407 2280 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.389 0 192.168.2.100 TCP_DENIED/407 2280 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.406 0 192.168.2.100 TCP_DENIED/407 2280 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.430 0 192.168.2.100 TCP_DENIED/407 2280 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.447 0 192.168.2.100 TCP_DENIED/407 2280 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.465 0 192.168.2.100 TCP_DENIED/407 2280 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
1327225040.483 0 192.168.2.100 TCP_DENIED/407 2287 POST http://trs.softrust.ru/l10/service.asmx - NONE/- text/html
#223684

Помнишь был скрипт бан соц сети? Так берем его же за основу.

Такс

[console]
#!/bin/bash
n=1;

nslookup softrust.ru >> /tmp/list.tmp;

awk '/Address:/ {if($2=="127.0.0.1#53"){} else{print $2 > «/var/whiteklist.ip» }}’ /tmp/nslookup.tmp

if [ -f /var/whitelist.ip ] ;
then
cat /var/whitelist.ip | while read line
do
iptables -t nat -I PREROUTING $n -p tcp -s 192.168.2.100 -d ${line} --dport 80 -j ACCEPT
let n=n+1;
done
fi
iptables -t nat -A PREROUTING -i vlan5 -s 192.168.2.100 -p tcp --dport 80 -j DNAT --to 192.168.1.77:3128
iptables -t nat -A PREROUTING -i eth1 -s 192.168.2.100 -p tcp --dport 80 -j REDIRECT --to-port 3128
[/console]

Ну а так сам под себя подправишь.

#223687

Токо если ещё придёться в FORWARD добавить.
[console]iptables -A FORWARD -s 192.168.2.100 -d ${line} -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s ${line} -d 192.168.2.100 -p tcp --sport 80 -j ACCEPT[/console]

#223688

костыль, но думаю сработает. :) биатлон кончится и сразу попробую. :)

#223689

Сработает сто пудов smile
Не костыль а доработка напильником.

#223699

Не работает.
Вот все правила

[console]iptables -t nat -A PREROUTING -p tcp -s 192.168.2.100 -d 79.140.77.147 --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i vlan5 -s 192.168.2.100 -p tcp --dport 80 -j DNAT --to 192.168.1.77:3128
iptables -t nat -A PREROUTING -i eth1 -s 192.168.2.100 -p tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -s 192.168.2.100 -d 79.140.77.147 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -s 79.140.77.147 -d 192.168.2.100 -p tcp --sport 80 -j ACCEPT[/console]

Войдите или зарегистрируйтесь, чтобы ответить.