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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

Оффлайн Laplanya

  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
    • Laplanya Home
to Nesmit: Простите, да я не уверен что средствами DHCP.. но мне надо ограничить скорось клиентам согласно тарифу!)) и желательно использовать DHCP.
Кстати привязку по MAC сделал теперь DHCP раздает адреса из пула 192.168.1.10-110 только определенный MAC, остальные не могут подключиться)))

Осталось теперь используя привязку по MAC ограничить скорость!!! КАК?!! (самый простой способ..)
Мой маленький Блог о любимых Debian и Ubuntu!
http://www.laplanya.com

Оффлайн Nesmit

  • Старожил
  • *
  • Сообщений: 1296
    • Просмотр профиля

Оффлайн xcr

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Вот, есть вопрос. Как сделать так, чтобы dnsmasq запоминал имена хостов, которые у него получали айпишники, и при этом резолвил их в выданные айпишники? То есть задача такая: хочу чтобы компьютеры в локальной сети могли обращаться друг к другу по именам.
Конечно, можно заполнить /etc/hosts на сервере, и тогда все будет хорошо, но это не вариант.
Гуглил, читал маны и конфиги dnsmasq. Вроде бы ничего не нашел. Подскажите, пожалуйста.
Заранее спасибо за помощь.
Gentoo Linux, ~amd64

Оффлайн lamer2

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Использую freeradius+freenibs + pptpd + mabill(web interface) + mysql + apache + php.
Причем ставил все из deb пакетов на 5.10 и из rpm на ASP Linux 10,11.
Получаем полноценный биллинг, на VPN клиенты создают у себя vpn соединение, вводст логин и пароль и работают.

P.S. На дебиановских (ака Ubuntu´вских) пакетах мне больше понравилось, pptpd их сборки куда лучше ASP´вского (ака FC).

Можно по подробнее (по шагам). К провайдеру подключаюсь по витой паре и создан VPN соединение (PPTP).В данный момент работает на винде и подключение расшарено на 2-ю сетевуху. Надо раздавать инет своим пользователям, чтоб всё работало (почта, аська и т.п. ) и биллинг, а также возможность зажимать скорость отдельным пользователям.

Оффлайн Nostro

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Код:
...
http_port 3128 #<<< раскомментировать эту строчку
...
cache_dir ufs /var/spool/squid 100 16 256 #<<< раскомментировать эту строчку
...
acl our_networks src 192.168.0.0/24 #<<< раскомментировать эту строчку
http_access allow our_networks #<<< раскомментировать эту строчку
...
visible_hostname proxy.localdomain #<<< добавить строчку, скорее всего взамен строки 2161
...


Что значит #<<< раскоментировать эту строчку????

Оффлайн kmfdm

  • Новичок
  • *
  • Сообщений: 45
    • Просмотр профиля
    • Art-Futuro - Студия дизайна и веб-технологий, Новосибирск
перед строкой есть знак # вот убрать его надо

Оффлайн Nostro

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

Еще вопрос: Squid можно поднять тока на серверной ubuntu?   Или же на настольном варианте тоже???

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Да его даже под вендой поднять можно  :)
Homo homini admini est...

Оффлайн bmalkov

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Всё замечательно получилось с Ubuntu Server на работе, но когда решил поиздеваться над домашним десктопом, что-то не клеится.

eth1 - смотрит на ADSL-роутер (192.168.1.1), получает адрес по DHCP.
eth0 - локалка.

root@hikari:/home/borislav# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:11:6b:96:66:67 
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::211:6bff:fe96:6667/64 Диапазон:Ссылка
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3831 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1119 errors:0 dropped:0 overruns:0 carrier:0
          коллизии:0 txqueuelen:1000
          RX bytes:1348986 (1.3 MB)  TX bytes:155973 (155.9 KB)
          Прервано:22 Base address:0xa000

eth1      Link encap:Ethernet  HWaddr 00:13:d4:40:5a:54 
          inet addr:192.168.1.6  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::213:d4ff:fe40:5a54/64 Диапазон:Ссылка
          ВВЕРХ BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7462 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5234 errors:0 dropped:0 overruns:0 carrier:0
          коллизии:0 txqueuelen:1000
          RX bytes:3080999 (3.0 MB)  TX bytes:1561185 (1.5 MB)
          Прервано:17 Base address:0xa400

lo        Link encap:Локальная петля (Loopback) 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Диапазон:Узел
          ВВЕРХ LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:77 errors:0 dropped:0 overruns:0 frame:0
          TX packets:77 errors:0 dropped:0 overruns:0 carrier:0
          коллизии:0 txqueuelen:0
          RX bytes:5924 (5.9 KB)  TX bytes:5924 (5.9 KB)

root@hikari:/home/borislav# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Что получается: с другой машины из "локалки" пингуем шлюз 192.168.2.2 - есть, пингуем его "внешний" интерфейс (192.168.1.6) - есть, а вот роутер 192.168.1.1 и другие компы в этой сети - не видит. Что мог упустить?
Сам шлюз прекрасно видит всё в обеих сетях.

Оффлайн xcr

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Была похожая проблема.
По-моему, дело вот в чем: компы в сети 192.168.1.x получают пакеты из сети 192.168.2.x и не знают куда слать ответ, т.к. у них не прописаны роуты до этой сети. Пропишите роуты до 192.168.2.x через ваш комп с двумя интерфейсами,  и все должно заработать.
И, пожалуйста, отпишитесь, если все получится. Мне просто интересно, в этом ли дело или нет.
Gentoo Linux, ~amd64

Оффлайн bmalkov

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Была похожая проблема.
По-моему, дело вот в чем: компы в сети 192.168.1.x получают пакеты из сети 192.168.2.x и не знают куда слать ответ, т.к. у них не прописаны роуты до этой сети. Пропишите роуты до 192.168.2.x через ваш комп с двумя интерфейсами,  и все должно заработать.
И, пожалуйста, отпишитесь, если все получится. Мне просто интересно, в этом ли дело или нет.

Так-то оно так, можно просто сделать SNAT, чтобы они отвечали "шлюзу". Маршрутизацию на каждой машине прописывать имхо неправильно. Интересно другое - на работе всё получилось с полтыка без плясок: с компа за шлюзом пингуются все узлы сети,  при том, что route не трогал нигде.
Пробовал прописать в IPTABLES -j LOG во всех цепочках, но в логах пусто :(

Оффлайн xcr

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Конечно, неправильно. Ну а кто же вас заставляет это делать? Может быть, я ошибаюсь, но вроде бы можно было раздавать роуты по DHCP. Но хотя с ADSL роутером не факт что получится.
Вы лучше вот что скажите: на работе вместо ADSL-роутера стоит обычный комп? И как там устроена сеть?
Есть ведь еще вот какая идея: скорее всего в той сети, в которой расположен роутер, все между компами идут именно через роутер. В этом разница с нормальной сетью со свичами и хабами.
Gentoo Linux, ~amd64

Оффлайн bmalkov

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Конечно, неправильно. Ну а кто же вас заставляет это делать? Может быть, я ошибаюсь, но вроде бы можно было раздавать роуты по DHCP. Но хотя с ADSL роутером не факт что получится.
Вы лучше вот что скажите: на работе вместо ADSL-роутера стоит обычный комп? И как там устроена сеть?
Есть ведь еще вот какая идея: скорее всего в той сети, в которой расположен роутер, все между компами идут именно через роутер. В этом разница с нормальной сетью со свичами и хабами.

На работе сеть 255.255.255.0, забитая до предела, причем используемая разными отделами в разных целях  - поэтому и стал делать шлюз, чтобы в будущем разделить отделы по подсетям, каждый за своим роутером с прокси. Заодно и трафик считать легче, и задавать "обрезку" контента.
Значит, сеть эта смотрит в инет через шлюз на фряхе со сквидом (192.168.5.118). В перспективе "юзерских" компов в ней не будет (все будут за шлюзами в своих сетях). Шлюз на фряхе делал не я, и не особо хочется в него лезть - работает :)

"мой" шлюз (eth1 - "внешняя", eth0 - будущая локалка):

root@srv-1:~# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:02:b3:51:04:b6 
          inet addr:172.16.0.1  Bcast:172.16.255.255  Mask:255.255.0.0
          inet6 addr: fe80::202:b3ff:fe51:4b6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2204 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3395 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:389833 (380.6 KB)  TX bytes:1235585 (1.1 MB)
          Base address:0x2460 Memory:fc320000-fc340000

eth1      Link encap:Ethernet  HWaddr 00:02:b3:51:04:b5 
          inet addr:192.168.5.250  Bcast:192.168.5.255  Mask:255.255.255.0
          inet6 addr: fe80::202:b3ff:fe51:4b5/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1530536 errors:0 dropped:0 overruns:0 frame:0
          TX packets:148082 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:249555189 (237.9 MB)  TX bytes:42151097 (40.1 MB)

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:41769 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41769 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:12134209 (11.5 MB)  TX bytes:12134209 (11.5 MB)


iptables пока пустые, везде ACCEPT. Поднят dhcp и squid. Клиентам dhcp раздаёт шлюз и DNS 172.16.0.1.  Сегодня началась такая же фигня, как и дома: пинг из "локалки" вовне перестал проходить, хотя через проксю инет идёт нормально.
Кстати, ламерный вопрос: не очень понятен механизм прохождения запросов на DNS. В нынешней локалке DNS'ом прописан фряшный 192.168.5.118, своему шлюзу я сказал давать клиентам себя как DNS. Т.е. запрос от клиента, например, 172.16.0.10, проходит на шлюз 172.16.0.1, передаётся с его внешнего интерфейса на шлюз 192.168.5.118, дальше не суть важно. Так вот, чем он передаётся через мой шлюз? На данный момент браузер клиента с прописанным прокси 172.16.0.1:3128 спокойно ходит в инет, но пинг, например, на yandex.ru - не проходит.
Пинг обоих интерфейсов шлюза из "локалки" проходит, дальше - никак.

ЗЫ Понял для себя, что температурить и работать одновременно не есть хорошо :( Но надо...


------------------------------
LATER:


Покурил маны :)

На работе всё завелось: доступ из "новой" локалки в "старую" и прозрачный Сквид.
Для доступа к "внешней" локалке пришлось делать SNAT:
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  anywhere             anywhere            to:192.168.5.250

Правда, теперь в недоумении, как при необходимости обратиться из "внешней" сети к нужному компу во "внутренней" (чует моё что-то, это несложно, но туплю/нуб/прочее).

Заворот на прозрачный прокси на самом деле выглядит совсем не так, как в первом посте:

# iptables -t nat -A PREROUTING -s 172.16.0.0/16 -p udp -m multiport --dport 53,80,81,82,83,88,5190,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128
# iptables -t nat -A PREROUTING -s 172.16.0.0/16 -p tcp -m multiport --dport 53,80,81,82,83,88,5190,8000,8001,8002,8080,8081 -j REDIRECT --to-port 3128

При этом теряется DNS, и на сайты можно заходить только по IP. Так как DNS не поднимал, завернул запросы на фряшный шлюз:

# iptables -t nat -I PREROUTING -s 172.16.0.0/16 -p udp -m multiport --dport 53 -j DNAT --to-destination 192.168.5.118
# iptables -t nat -I PREROUTING -s 172.16.0.0/16 -p tcp -m multiport --dport 53 -j DNAT --to-destination 192.168.5.118

Итого, что в iptables:

root@srv-1:/etc/squid# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  172.16.0.0/16        anywhere            multiport dports domain to:192.168.5.118
DNAT       udp  --  172.16.0.0/16        anywhere            multiport dports domain to:192.168.5.118
REDIRECT   tcp  --  172.16.0.0/16        anywhere            multiport dports domain,www,81,82,83,kerberos,aol,8000,8001,8002,webcache,tproxy redir ports 3128
REDIRECT   udp  --  172.16.0.0/16        anywhere            multiport dports domain,www,81,82,83,kerberos,aol,8000,8001,8002,8080,8081 redir ports 3128

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  anywhere             anywhere            to:192.168.5.250

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Теперь всё работает. На работе :) Дома ещё не разбирался...
« Последнее редактирование: 29 Декабря 2008, 12:45:58 от bmalkov »

Оффлайн xcr

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Знаете, скорее всего через проксю ходит потому, что она непрозрачная. То есть прокся работает SNAT'ом
Вы ходите в инет - работает SNAT, никакие роуты не нужны, все идет от имени шлюза. Вы пингуете аналогичные хосты - ничего. Ступор. А все потому, что никто ничего определенного не знает про сеть за шлюзом. Попробуйте все-таки прописать роуты на одном компе в сети 192.168.1.x и попробовать попинговать этот комп. Но так как пакеты идут через роутер, я точно не знаю, чего от него ждать. Может быть придется писать роуты на нем.
Gentoo Linux, ~amd64

Оффлайн bmalkov

  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Знаете, скорее всего через проксю ходит потому, что она непрозрачная. То есть прокся работает SNAT'ом
Вы ходите в инет - работает SNAT, никакие роуты не нужны, все идет от имени шлюза. Вы пингуете аналогичные хосты - ничего. Ступор. А все потому, что никто ничего определенного не знает про сеть за шлюзом. Попробуйте все-таки прописать роуты на одном компе в сети 192.168.1.x и попробовать попинговать этот комп. Но так как пакеты идут через роутер, я точно не знаю, чего от него ждать. Может быть придется писать роуты на нем.

Дополнил предыдущий пост :)

 

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