LINUX.ORG.RU
решено ФорумAdmin

Сделать шлюзом локальный компьютер

 


0

1

Что имеем:

  • ADSL-роутер (скриншот интерфейса)
  • компьютер в локальной сети на Debian 6, расположенный через четыре свитча от роутера

Что нужно:

  • перенаправить весь траффик, идущий к роутеру, через сервер, не внося изменений в локальную сеть
  • сделать предыдущее так, чтобы можно было реализовать файрвол и шейпинг траффика

Какая документация мне поможет в этом? Если есть готовые статьи с пошаговыми инструкциями, то это, несомненно, для меня будет куда лучше, но гугл мне их не отдал.

★★★

если не внося изменений - вот тебе пошагово:

1. Переводишь adsl-роутер в режим моста.
2. Поднимаешь pppoe на компьютере с debian'ом.
3. Делаешь на компьютере с debian'ом интерфейс с адресом 192.168.3.1/24 - это дефолтгейтвей для остальных компьютеров в сети. 
4. Делаешь NAT.
5. Готово.

Минусы в том, что у тебя в одном L2 сегменте будут фреймы внутренней сеточки (192.168.3.1/24) и для pppoe соединения. Но мешать это дело не будет.

xscrew ★★
()
Последнее исправление: xscrew (всего исправлений: 1)
Ответ на: комментарий от xscrew

ок, по всем пунктам разобрался, только с первым заковырка - не могу в настройках найти где переключается режим работы, в мануале только сказано что оно умеет режим моста, а как его включить - не сказано
***
добавлено:
пардон муа, нашел уже, Routing -> Encapsulation -> Bridge mode

kostett ★★★
() автор топика
Последнее исправление: kostett (всего исправлений: 2)
Ответ на: комментарий от kostett

не могу в настройках найти где переключается режим работы

Тут я увы.

Есть еще вариант, он хуже, но тем не менее есть. Можно не переводить в мост, а сделать, скажем, между роутером и компьютером-шлюзом сетку скажем 192.168.1.0/30 из которой один 192.168.1.1 - adsl роутер, 192.168.1.2 - компьютер-шлюз, на котором 192.168.3.1/24 - для других компьютеров в сети. Получается два NAT'a, на роутере и на компьютере c debian'ом. Правда я не уверен, насчет маршрутизации в линуксе между алиасами.

xscrew ★★
()
Ответ на: комментарий от kostett

наврал, Intefaces setup -> Internet -> Encapsulation -> Bridge mode
теги: zyxel p 660 t bridge mode

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Надо, например 192.168.3.1 - это шлюз, 192.168.3.2 - модем.

по поводу pppoe-discovery - не могу сказать почему не работает, проверяй настройки vpi, vci на модеме. Логика в том, что теперь прозрачный L2 от провайдера через модем до компьютеров, на одном из которых поднимается pppoe.

xscrew ★★
()
Ответ на: комментарий от xscrew

это я понял. А можно пример /etc/network/interfaces для такой конфигурации? //йа проста арчевод с pppd, и с ничем другим особо не возился

kostett ★★★
() автор топика
Последнее исправление: kostett (всего исправлений: 1)
Ответ на: комментарий от kostett

А разве можно шейпить трафик на модеме работающем в режиме бриджа?

У меня есть три подобные сети, не могу распарсить Вашу проблему.

the_green
()
Ответ на: комментарий от the_green

у меня есть выбор - бриджить роутер и поднимать PPPoE на компе в локалке, который будет шейпить или научить роутер поднимать PPPoE и шейпить траффик.
тем временем, мой Atom N450 все еще собирал openwrt
и вообще, я его боюсь - флеш два мегабайта, а он все еще собирает, такое чувство, что он там уже полсотни минимум насобирал. альсо делать нечего, готового конфига для D-Link DSL-2500U найти не получается, а на сабж из первого поста OpenWRT просто не портирован

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Забей. У тебя есть клиенты у которых этот модем прописан как шлюз по умолчанию. Ты не хочешь ничего менять. Тебе нужно дать этот адрес твоему потенциальному шлюзу, а модему дать любой свободный адрес из той же подсети. Например модем имеет адрес 192.168.1.1, стало быть внутренний интерфейс твоего шлюза должен иметь этот же адрес, чтоб клиенты обращались к нему за интернетом, а модему дай адрес например 192.168.2.1, а та сетевая карта, которая смотрит в модем, должна быть в одной подсети с модемом, значит она будет например 192.168.2.0

На шлюзе настраивай нат и прокси, а клиенты даже подозревать не будут, что между ними и модемом есть какой либо сервер. На сервере уже и будешь настраивать шейпер.

При этом не очень важно в каком режиме работает твой модем, но лучше пусть будет бриджем, ибо недодевайс.

the_green
()
Ответ на: комментарий от the_green

прокси

подозревать не будут

разве им не надо будет прописывать прокси-сервер? Я, конечно, думал Squid поднять, но разве он не требует указания своего адреса в настройках браузера клиентов?

но лучше пусть будет бриджем

когда я его в этот режим перевожу, pppoe-discovery никого не находит, хотя на самом бридже все параметры в порядке - стоит его вернуть обратно в pppoe-режим, он сразу подключается.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Если прокси прозрачный, то прописывать клиенту его не надо, на шлюзе завернешь трафик с помощью иптаблеса на порт прокси.

Бридж не обязательно, пусть роутером работает, ничего страшного.

the_green
()
Ответ на: комментарий от the_green

угу. приготовил все по рецепту, но потом начались перебои между вторым и третьим свитчами (линк между домами висит), и ничего не завелось, а пока чинил, рабочий день кончился.. вот схема сети, кстати, насколько она верна и реально ли в ней поднять предложенную схему?

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Вообще, фактически - да, работать должно, свитчей не много, сеть простая как три копейки.

the_green
()

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

the_green
()
Ответ на: комментарий от the_green

модем стоит в квартире вне территории части, компьютеры и после сервера есть, просто не нарисованы (:
в принципе, сетка 100 мбит, адсл же только 2,4 мбит, так что гоняние траффика туда-сюда от компьютеров между шлюзом и роутером особой нагрузки на сеть не добавит.

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

В общем да, только у меня все обходится без перловых скриптов и нет dhcp, мне он не нужен. Еще если канал узкий, то можно немного оптимизировать кэш сквида вот так

И еще советую поднять днс на том же шлюзе.

the_green
()
Ответ на: комментарий от the_green

ага, bind9 это же dns?
кстати, еще вот на такую вкусноту наткнулся, тоже подниму - http://linuxoso.org/2010/06/dlink-dsl-524t-openwrt-2.html - скриптик в конце для урезания канала торрентам, когда кто-то просто сидит в интернете

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Да, бинд.

Торренты лучше вообще исключить, иначе они ими весь канал засрут. Можно порезать им порты

iptables -I FORWARD -s 192.168.100.101 -j DROP #doncov

iptables -I FORWARD -s 192.168.0.101 -i eth1 -p tcp -m tcp --dport 3128 -j ACCEPT
iptables -I FORWARD -s 192.168.0.101 -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -I FORWARD -s 192.168.0.101 -i eth1 -p udp -m udp --dport 53 -j ACCEPT
Этот ползун, например, сможет ходить только по вебу и никакие торренты и онлайн игры ему не светят.

the_green
()
Ответ на: комментарий от the_green

не, у нас низзя так, еще пара человек начальства на территории живет, вдобавок в городке в том здании несколько квартир подключено к каналу, да и я сам качаю тут (домой интернета не провести, а на 3G-модеме много не накачаешь)

kostett ★★★
() автор топика
Ответ на: комментарий от kostett

Тогда просто на будущее я тебе советую запускать на сервере transmission в режиме демона, а клиенты смогут заходить на него через веб интерфейс, тогда ты сможешь установить лимит скорости, а каталог с торрентами расшаришь по сети с помощью самбы. Я сам практикую такой способ в одном месте и дома в том числе.

the_green
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.