Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Шлюз Интернета на базе Ubuntu-Server / Internet Connection Sharing + Squid  (Прочитано 521460 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Оффлайн ploxish

  • Любитель
  • *
  • Сообщений: 97
    • Просмотр профиля
Ты действительно очень помог,а по делу есть что сказать?!
интерфейс ррр передставляет из себя защещенное соединение по верх не защищеннного и в том что он отваливается нет ничего удивительного...
Если бы хотелось без гемороя я бы не грохнул win2003 serv ,там все работало и настраивалось намного проще чем в лине.

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Первое впечатление ложно. все что тебе надо, человек уже раз настраивавший может за 15 минут поднять.
DHCP server
DNS
VPN
Squid
Samba
в каждом случае правка конфига минимальна.
Теперь по твоему вопросу:
Цитировать
Для того чтоб раздать интернет можно использовать NAT. В Linux это делается так:

iptables -t nat -A POSTROUTING -s 192.168.1.0/255.255.255.0 -j SNAT -- to-source 192.168.2.1

где 192.168.1.0/255.255.255.0 -- VPN сеть с клиентами, 192.168.2.1 -- интерфейс сервера, с которого есть доступ в интернет. Так же необходимо разрешить роутинг.

echo 1 > /proc/sys/net/ipv4/ipforward
Взято из FAQ, биллинга Cake

Оффлайн winhex

  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
Помогите решить такую вот задачку - есть
1. выход в интернет через  ADSL
2. выход в инет через прокси (спутниковый провайдер)

Нужно:
1. Организовать кэширование трафика для обоих соединений
2. Сделать возможным доступ в инет по выбору на компе пользователя через любое из этих соединений. Т.е. если в браузере указан прокси, поулчаем выход ч-з спутник. Если не указан, то через ADSL.

Как примерно это можно организовать?

Оффлайн Astalavista

  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
подскажите в чем может быть дело.
на проксе ubuntu server 8.04 (squid) nslookup отрабатывает как в локалку так и в интернет,
а с виндовых машин только в локалку
есть подозрения что сквид не пропускает запрос , когда контроллер домена пытается перслать запрос на днс-сервера провайдера

результаты ipconfig и ifconfig

C:\Documents and Settings\Администратор>nslookup www.ru
Server: dc.company.local
Address: 10.0.0.3

DNS request timed out.
timeout was 2 seconds.
*** Request to dc.company.local timed-out

C:\Documents and Settings\Администратор>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : dc
Основной DNS-суффикс . . . . . . : company.local
Тип узла. . . . . . . . . . . . . : неизвестный
IP-маршрутизация включена . . . . : нет
WINS-прокси включен . . . . . . . : нет
Порядок просмотра суффиксов DNS . : company.local

Подключение по локальной сети - Ethernet адаптер:

DNS-суффикс этого подключения . . :
Описание . . . . . . . . . . . . : NVIDIA nForce Networking Controller
Физический адрес. . . . . . . . . : 00-1D-60-33-8D-F5
DHCP включен. . . . . . . . . . . : нет
IP-адрес . . . . . . . . . . . . : 10.0.0.3
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз . . . . . . . . . . : 10.0.0.1
DNS-серверы . . . . . . . . . . . : 10.0.0.3


admin@pr360:~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:22:64:03:be:00
inet addr:192.168.0.99 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::222:64ff:fe03:be00/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:12863 errors:0 dropped:0 overruns:0 frame:0
TX packets:4794 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4877907 (4.6 MB) TX bytes:533892 (521.3 KB)
Interrupt:18 Memory:f8000000-f8012100

eth1 Link encap:Ethernet HWaddr 00:22:64:03:cd:3c
inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::222:64ff:fe03:cd3c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3792 errors:0 dropped:0 overruns:0 frame:0
TX packets:6057 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:565238 (551.9 KB) TX bytes:4763895 (4.5 MB)
Interrupt:19 Memory:fa000000-fa012100

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:300 (300.0 B) TX bytes:300 (300.0 B)

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
to winhex : Нат + сквид, в качестве каскадного прокси.

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
подскажите в чем может быть дело.
на проксе ubuntu server 8.04 (squid) nslookup отрабатывает как в локалку так и в интернет,
а с виндовых машин только в локалку
есть подозрения что сквид не пропускает запрос , когда контроллер домена пытается перслать запрос на днс-сервера провайдера
Все хорошо и все правильно. Сквид пропускает только http и точка :)
для днс запросов, настраивайте bind

Оффлайн winhex

  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
to winhex : Нат + сквид, в качестве каскадного прокси.
А как это будет вместе выглядеть? С каскадным прокси все понятно. Так и работает. Отдельно с ADSL тоже ничего сложного...
Напр. если мы работаем через прокси, сквид будет гнать трафик на прокси спутникового провайдера. А если прокси мы не указали, и нам нужно чтобы трафик пошел через сквид, но уже напрямую не через спутник, тогда как? Т.е. как разрулить такой трафик?   :idiot2: Можно конечно пустить его мимо сквида, но тогда не будет кэширования.


Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
заведите 2й конфиг сквида, к примеру в прозрачном режиме (завернуть на него все порты кроме порта 1го прокси) и к первому с учетом, что если в кеше в первой проксе нет, тогда 2я прокся пусть ломится по адсл.
Кажется должно получиться.

Оффлайн winhex

  • Любитель
  • *
  • Сообщений: 85
    • Просмотр профиля
Nesmit, спасибо конечно за помощь, но как-то мудрено...
Есть
1. интерфейс eth0 - инет ADSL
2. интерфейс eth1 - спутниковый инет. С ним работает прокси провайдера (Slonax)
3. интерфейс eth2 - LAN

Нужно -
1. общий кэш независимо от того, через что юзается инет
2. возможность выбора на клиентской машине через что идти в нет

Не понял насчет второго конфига сквида... В нем можно сделать к примеру так: если на клиентской машине выбран (к примеру) порт прокси 8081, то гнать трафик на внешний прокси, если прокси не указан (или указан другой порт) то трафик кэшировать и пускать напрямую через шлюз по-умолчанию?


Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля
Nesmit, спасибо конечно за помощь, но как-то мудрено...
Не понял насчет второго конфига сквида... В нем можно сделать к примеру так: если на клиентской машине выбран (к примеру) порт прокси 8081, то гнать трафик на внешний прокси, если прокси не указан (или указан другой порт) то трафик кэшировать и пускать напрямую через шлюз по-умолчанию?
Ничего мудрённого. Все есть у гугла в закромах.
Буквально месяц назад читал статью как человек объединил 2 интернет канала путем запуска на 1м сервере 3х прокси сервера.
В твоем втором случае все просто, нужно создать новый стартовый скриптв котором и насильно прописать новый фаил конфига, в конфиге прописать другое название файлов и логов /var/run/.... /var/log/squid/....
Направление дал, дело за тобой.

Оффлайн San2k

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Свершилось! Не прошло и года, как говорится...
В общем, коротко:

в squid.conf:
http_port 3128 transparent

apt-get install dnsmasq

iptables -t nat -A PREROUTING -i eth0 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128eth0 - карта с IP внутренней сети, а 192.168.0.1 - внутренний адрес шлюза.
После "-i eth0" можно ещё прибавить "-d ! 192.168.0.0/24", чтобы переправлять на порт 3128 запросы клиентов, адресованные именно ЗА пределы сети 192.168.0.0/24.

Так что, проблема была, в основном, в праАвиле iptables. Вот что значит бездумно копировать примеры всяких "советчиков"...

Vadim Bilalov
Спасибо  за участие.

ADD:
Извините за наглость, но можно ли информацию о настройке прозрачного прокси добавить в первый пост?
Авось, не только мне пригодится. (:

у меня такая же проблема. Но так как вы описали - не лечится.

какие могут быть еще решения?

Цитировать
1224848661.894      0 192.168.2.0 TCP_DENIED/400 1950 GET error:invalid-request - NONE/- text/html
1224848662.479      2 192.168.2.0 TCP_DENIED/400 1942 GET error:invalid-request - NONE/- text/html
1224848663.036      6 192.168.2.0 TCP_DENIED/400 2098 GET error:invalid-request - NONE/- text/html
1224848665.858      1 192.168.2.0 TCP_DENIED/400 2462 GET error:invalid-request - NONE/- text/html
1224848666.628      1 192.168.2.0 TCP_DENIED/400 2551 GET error:invalid-request - NONE/- text/html

вот чуток из access.log

Цитировать
2008/10/24 16:01:21| clientReadRequest: FD 14 (192.168.2.50:44756) Invalid Request
2008/10/24 16:01:22| clientReadRequest: FD 14 (192.168.2.50:44757) Invalid Request
2008/10/24 16:01:23| clientReadRequest: FD 14 (192.168.2.50:44758) Invalid Request
2008/10/24 16:01:23| clientReadRequest: FD 14 (192.168.2.50:44759) Invalid Request
2008/10/24 16:01:24| clientReadRequest: FD 14 (192.168.2.50:44760) Invalid Request
2008/10/24 16:01:26| clientReadRequest: FD 14 (192.168.2.50:44762) Invalid Request
2008/10/24 16:01:26| clientReadRequest: FD 14 (192.168.2.50:44763) Invalid Request
2008/10/24 16:02:03| clientReadRequest: FD 14 (192.168.2.12:2345) Invalid Request

cache.log


---

есть мысли?

Оффлайн San2k

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Починил. Проблема в том, что я не внимателен :(

Возникла иная трабла:

нормально ли что у меня в логах access.lo везде ИП - 192.168.2.0 ?

тк sams у меня вообще не показывает статы ни для одного клиента почему то, я подозреваю, что проблема в этом ИПЕ

Оффлайн aim

  • Заслуженный пользователь
  • Участник
  • *
  • Сообщений: 203
  • GNU / Linux
    • Просмотр профиля
    • Digital Activity
Re: Шлюз Интернета на базе Ubuntu-Server
« Ответ #612 : 25 Октября 2008, 12:21:27 »
если давать инет через тот же squid скорость ощутимо возрастет за счет кеша.

только при использовании memcache, т.е. кеширования в оперативную память и то не сильно - порядка 3-5%. в любом ином случае использование 1 сервера squid для >10 пользователей только тормозит их работу в сети
Ответил на вопрос? Напиши статью в wiki! https://help.ubuntu.ru/

Оффлайн Rabb1t1

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
как сделать в ipmasq авторестарт? при поднятии ppp0 тунеля, ато надоело каждый раз после загрузки делать эту команду /etc/init.d/ipmasq restartа без неё инет не пашет.
За ранее благодарен

Оффлайн San2k

  • Новичок
  • *
  • Сообщений: 9
    • Просмотр профиля
Друзья!

Выручите! Как быть с тем, что у меня все идет через один ip?

Цитировать
1225190751.322     28 192.168.2.0 TCP_HIT/200 563 GET http://mailstatic.yandex.net/classic/63/i/i-clip-1.gif - NONE/- image/gif
1225190751.456    132 192.168.2.0 TCP_HIT/200 511 GET http://mailstatic.yandex.net/classic/63/i/i-sort-asc.gif - NONE/- image/gif
1225190751.460      0 192.168.2.0 TCP_HIT/200 505 GET http://mailstatic.yandex.net/classic/63/i/i-sort-empty.gif - NONE/- image/gif
1225190751.464      8 192.168.2.0 TCP_MISS/200 861 GET http://mailstatic.yandex.net/classic/63/js/inbox_init.js - DIRECT/87.250.251.87 application/x-javascript
1225190752.157     38 192.168.2.0 TCP_MISS/200 590 GET http://export.yandex.ru/counters-mail-js.xml - DIRECT/213.180.204.69 application/x-javascript
вот лог access.log - Сквида.

Везде ИП 192.168.2.0

я думаю дело в iptables, но плохо в нем разбираюсь. Как починить есть идеи?

 

Страница сгенерирована за 0.032 секунд. Запросов: 25.