![]() |
Несколько интернет шлюзов в одной подсети за маршрутизатором
В общем дело такое. Хочется раздать свой, небольшой =) интернет в сеть провайдера, нескольким хостам.
Имеется локальная сеть провайдера. Имеется маршрутизатор draytek 210 (10.10.16.51/16 адрес в сети провайдера) В WAN1 подключена локальная сеть (10.10.0.0/16) (топология сети не известна) провайдера (именно в WAN, потому как в сети провайдера IP привязан к MAC адресу, а задать MAC на draytek 210 можно только на WAN1 порту). В LAN1 подключен маршрутизатор TL-MR3040 (адрес 192.168.0.1 назначаемый draytek'ом) выполняющий роль интернет шлюза1 В LAN2 подключен еще один маршрутизатор TL-MR3040 (адрес 192.168.0.2 назначаемый draytek'ом) выполняющий роль интернет шлюза2 (добавлен из за ограниченного интернет канала шлюза1) Из за неизвестной топологии и отсутствии доступа к маршрутизаторам провайдера, предполагаю что нужно создать VPN тоннель между всеми моими устройствами. Вопрос в следующем, как в VPN сети, хосту1, хосту2, задать шлюз1 для выхода в интернет. И одновременно, для хоста3 и хоста4 задать шлюз2. Схема понятно дело мазахистская=) P.S. Провайдер ценами давит, спасибо всем кто поможет разобраться. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Итак, предположим? что вы лично интернетом не пользуетесь и вам нужно нескольким клиентам из локальной сети 10.10.0.0/16 организовать доступ в интернет через одного провайдера. Ставим маломощьный компьютер с двумя сетевыми картами: eth0: 10.10.16.51/16 (изменяем на ней MAC адрес, что бы локалка заработала) eth1: смотрит в сторону провайдера. Дальше есть разные пути в организации доступа ваших друзей к вашему шлюзу: - можно просто настроить NAT (eth0 -> eth1), разрешить форвардинг пакетов из одной сети в другую и сказать вашим друзьям прописывать у себя на сетевых картах шлюз 10.10.16.51. Для обеспечения безопасности нужно бы подстроить правила фаервола: к примеру разрешить подключение только с определённых IP или MAC адресов, что бы кто-нибудь ещё не воспользовался. - можно на этом компьютере поднять прокси-сервер (очень популярен squid). Тогда ваши друзья просто будут проприсывать в браузере или в другом ПО адрес и порт вашего прокси 10.10.16.51:3128. У Squid также есть несколько вариантов авторизации: по IP, логину и т.д. - можно на компьютере поднять VPN сервер для того, что бы начать всю работу с авторизации, но хотя бы без одного из предыдущих пунктов выпустить кого-либо в интернет через ваш шлюз не получится. Далее можно развивать схему: подключить второго провайдера (+ сетевая карта) и заняться распределением нагрузки на канал с использованием route2 или того же squid. Наверняка вам и самому нужен будет доступ в интернет, придётся ещё одну карточку добавлять в шлюз и делать локальную сеть дома. |
Tonny_Bennet, обычно на свичах доступа ставят изоляцию портов и весь трафик идет через шлюз провайдера
|
slava007, согласен. Но такая система обычно строится на Vlan-ах и клиентам раздаются сети /30 или /29. И тогда авторизация идёт не по MAC-адресу, а по номеру порта (а точнее Vlan). В примере mistic1282 настройки сети видно, что клиенты получают адреса из большой сети с маской /16 и опять же авторизация по MAC-адресу сетевой. Мне кажется, что там нет такого уровня безопасности.
|
Tonny_Bennet, спасибо за подробный мануал. Все поставил, поднял NAT между своими интерфейсами, работает так как и хотел.
Остался один вопрос, у меня, как я уже говорил выше, два интерфейса (скорости одного мало) которые смотрят в интернет. Как распределить клиентов между этими двумя интерфейсами? |
mistic1282, в Ubuntu (но наверно не только в этой ОС) есть утилита маршрутизации route2. При помощи неё можно создавать чуть более сложные правила маршрутизации. Но это только при условии если вы используете NAT.
Вам потребуется создать две таблицы маршрутизации: ISP_1, ISP_2 к примеру. В каждую из таблиц добавить основной шлюз для провайдера и информацию о всех локальных сетях, к которым подключен компьютер, настроить правила маршрутизации таким образом, что бы пакеты от первого провайдера попадали в таблицу ISP_1, а от второго провайдера в ISP_2. Ну и конечно правила примитивной балансировки: пакеты от net_1 в первую таблицу, от net_2 во вторую. В итоге должно получится, что компьюетры из подсети net_1 пойдут в таблицу ISP_1 и завурнутся на шлюз первого провайдера, а пакеты net_2 на шлюз второго. Инструкций в сети много. Вот на примере Ubuntu. Я боролся настройками пару месяцев пока не заработала как хотел. Заработала. Оформил всё в виде скриптов и могу сменой пары значений в скриптах часть офиса или весь офис перевести на резервный канал. |
Tonny_Bennet, спасибо за оперативный ответ.
Неожиданно проблема возникла в другом месте. Как уже говорил NAT поднялся, и клиент подцепленный напрямую к шлюзу c фришкой, отлично пинговал интернет. Проблема обнаружилась когда я подцепил кабель локальной сети провайдера. Обнаружилось, что клиенты, находящиеся на одном этаже с моим фряшным сервером, интернет видять, все остальные клиенты, не важно где они находятся, хотя и пингуют мой шлюз, интернета не видять. Я начинаю подозревать, что это тот самый уровень безопасности о котором говорил slava007 выше в своем посте. Вдобавок (хотя возможно это и не связано), попробовал поставить на машину клиента IP и MAC другого клиента с другого этажа, а все остальные параметры оставить как их выдал провайдер локальной сети. В таком случае, другие машины на том же этаже пингуются, все остальные нет. Не подскажете в чем может быть проблема? |
mistic1282, возможно ваш провайдер использует Port-based VLAN, объединяя клиентов по портам в свитче, а не TAG-based VLAN, использующий метки в пакете. В любом случае есть некоторый уровень безопасности, через который вам не перепрыгнуть. Внутри Vlan может быть разрешено многое (если не всё), а вот обмен информацией между разными Vlan может быть сильно ограничен. Из вашей записи понятно, что между клиентами могут передаваться ICMP пакеты. Попробуйте поднять VPN сервер на шлюзе. Если получится подключится - прекрасно, если нет - нужно придумывать какие-нибудь системы инкапсуляции в разрешённые протоколы по разрешённым сокетам. А может и это провайдер вычислит и закроет.
Цитата:
|
|
В качестве быстрого теста сделал только что следующее: воткнул кабель провайдера в свой апаратный драйтек. Выставил все параметры для провайдера локальной сети, поднял впн сервер. Попробовал приконнектиться с других этажей, все прошло удачно. Коннект от клиентов идет. Поэтому думаю, что проблем с впн коннектом к фрибсд, тоже не будет.
Единственный небольшой вопрос, как мне работать с трафиком на фребсд с поднятой впн'кой? Ведь в таком случае, как я понимаю все клиенты подключенные по впн получат виртуальный адрес. То есть придется конфигурировать NAT для виртуальных адресов? |
Цитата:
|
В общем реализовал все что хотел, огромное спасибо всем кто отписывался в теме, особенно Tonny_Bennet
Все оказывается проще чем я предполагал. Спасибо за то что все разложили по полочкам и дали внятные ответы. :up |
mistic1282, всегда пожалуйста. ;)
|
Время: 13:29. |
Время: 13:29.
© OSzone.net 2001-