[Sysadmins] Вопрос по Squid + PPTP туннель.

Vyacheslav A. Brunev =?iso-8859-1?q?bv_=CE=C1_gres=2Etomske=2Eelektra=2Eru?=
Пт Мар 7 06:25:52 MSK 2008


В сообщении от Thursday 06 March 2008 16:55:09 Dmitriy Shadrinov написал(а):
> 6 March 2008, Dmitriy Shadrinov написал(а):
> > > > На этом сервере есть DHCP, Squid, iptables... Внутри LAN пользователи
> > > > получают настройки сети автоматически (DHCP).
> > > > Нужно чтобы Сквид работал на eth0, а после авторизации выпускал уже
> > > > через ppp0. Соответственно те кто не авторизировался (или вообще не
> > > > знает о такой возможности) из LAN продолжали работать через шлюз
> > > > eth0.
> > > >
> > > > Сразу оговорюсь, что вариант пускать всех через PPP0 и разруливать
> > > > всех с помощью самого Squid не подходит т.к. в туннеле PPTP скорость
> > > > в 4-6 раз медленней чем через eth0 и работать тем кому по долгу
> > > > службы не нужна "внешка" становиться совсем невозможно.
> > > >
> > > > Внешка нужна для "серфинга", почты, бухгалтерии (банк-клиенты) и
> > > > конечно же ICQ :)
> >
> > Если у вас 2 провайдера, то вам потребуются возможности (несколько
> > маршрутизационных таблиц), которые предоставляет утилитка ip из пакета
> > iproute2 (соответственно, и настройку сети проврдить посредством etcnet).
> > И прежде чем настраивать squid, вам нужно разобраться с маршрутизацией.
> >
> > Во-вторых, вы затронули вопрос достаточно ёмкий, который требует
> > проработки и не описали вашей ситуации достаточно детально. Что значит
> > "работать на eth0": принимать подключения или делать запросы через
> > него???
>
> С необходимостью ip я поторопился, но так или иначе они все равно были бы
> полезны; route, ifconfig - это уже устаревшие утилиты.
>
> Прежде всего:
> Если внешка у вас доступна только через ppp0 то и настройте основной шлюз
> через него. Определитесь с доступом через первого провайдера (какие подсети
> через него доступны) и пропишите соответствующие маршруты.
>
А вот здесь много (для меня) минусов:
1) При таком варианте нужно писать какой-то скрипт, который бы ходил на сайт 
провайдера, забирал оттуда таблицу BGP, интерпретировал в понятный для route 
формат команды, прописывал их и хотя бы раз в месяц запускался.
2) Я в таком случае не представляю как мне нужно извернуться, чтобы клиентам 
без Сквида был недоступен глобальный интернет. Пока на ум приходит только 
это:
iptables -A OUTPUT -p ALL -i ppp0 -j DROP
iptables -t mangle -A OUTPUT -m owner --uid-owner (ID Squid) -d ! 
127.0.0.1/8 -j ACCEPT
iptables -t mangle -A OUTPUT -m owner --uid-owner (ID Squid) -d ! 
172.27.1.0/24 -j ACCEPT

А в сквиде стоит:
http_port 82.110.110.110:3128 # IP интерфейса eth0
....
....
acl proxy_users proxy_auth REQUIRED
tcp_outgoing_address 10.10.10.210 proxy_users # IP интерфейса ppp0
http_access allow proxy_users
http_access deny all
....

Зуб не дам, что будет работать, но по другому не знаю как. Подскажите.

> Далее ограничте с помощью iptables хождение пакетов. Проверьте
> net.ipv4.ip_forward: sysctl net.ipv4.ip_forward
>
> Если это router, то оно должно быть 1.
>
Это Router и это уже давно работает.
> Уже после этого можно приступать к Squid.
> _______________________________________________
> Sysadmins mailing list
> Sysadmins на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins

Мне вот интересно, сейчас у многих подобная ситуация т.е. есть один провайдер 
у которого например очень дорогая "внешка", но есть и другой у которого она 
дешевле или есть анлимит в большинстве случаев предоставляется через VPN. 
Так, что никто ещё не боролся с этой ситуацией - Squid слушает на одном 
интерфейсе (основном), а вот выпускает во "вне" уже через другой - VPN?

-- 
С уважением, Вячеслав.


Подробная информация о списке рассылки Sysadmins