информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Где водятся OGRыСтрашный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Домашний роутер на нескольких провайдеров 18.08.06 12:24  
Автор: J'JF <Dmytro Volhushyn> Статус: Elderman
<"чистая" ссылка>
Имеем следующую ситуацию:
Ко мне домой заходят ethernet-линки от двух разных провайдеров. Эти линки дают доступ только в локальный сегмент. Каждый из провайдеров имеет общегородскую сеть, которая становится доступной у одного - через vpn, а у другого - через pppoe. Через эти же линки проходят и маршруты в глобальную сеть.
Дома у меня есть локальная сеть по квартире на пару машин, к которой еще подрубается ноут и т.п. девайсы.
Т.к. второй провайдер только-только дотянул линк, возникло вполне естественное желание увязать это все хозяйство так, чтобы выполнялись следующие задачи:
1. Из домашней сети был доступен локальный сегмент провайдера А.
2. Из домашней сети была доступна общегородская сеть провайдера А.
3. Доступ в глобальную сеть шел через провайдера А (но с возможностью быстрого (желательно - автоматичекого) переключения на Б, если у А откажет что-то, что, в общем-то, случается периодически.
4. Из домашней сети был доступен локальный сегмент провайдера Б.
5. Из домашней сети была доступна общегородская сеть провайдера Б.
6. Из домашней сети иметь возможность использовать чат для локальной сети провайдера Б, работающий на бродкастах.

Вот, вкратце, то, что хотелось бы получить.
Есть несколько нюансов, которые могут облегчить задачу или внести корректировки в методы:
1. Ни в одной из перечисленных сетей нет пересекающихся адресов. Т.е. не будет такой ситуации, когда адрес Х есть и в одной, и в другой сети.
2. Фактически, на всех интерфейсах IP - статические.
3. В локальный сегмент провайдера А адреса раздаю я со своего dhcp (провайдер не поддерживает локальные сегменты, все висят на аварийках, никакого порядка, а я так не люблю :) ).

Что думаю:
У меня есть отдельная машинка под фрей, на единственной морде которой, смотрящей в локалку провайдера А, висит dhcp. Попутно она выполняет еще кое-какие задачи, которые в контексте данного вопроса роли не играют. На эту машину думаю установить еще две сетевухи, чтобы одна смотрела в изолированную домашнюю сеть, а две остальные - в сети провайдеров. Также на этой тачке устанавливать vpn и pppoe-линки к провайдерам.
Т.к. адреса нигде не пересекаются, достаточно будет прописать статические маршруты, чтобы разрулить, куда и как лезть. Вместе с тем, домашка ведь будет ходить наружу через nat, а работа нат на несколько внешних интерфейсов для меня пока - темный лес. Какие тут методы можно применить?
Также нужно настроить фаер так, чтобы эта машина ни в коем случае не роутила пакеты между внешними интерфейсами (объединять сети двух провайдеров в мои планы ну никак не входит). Дивертов на нат для локалки и deny ip from any to any в конце будет достаточно? Или достаточно просто вырубить gateway_enable в rc.conf? (По сути, гейта-то у меня нет, все через nat идет).
Для того, чтобы выполнить п.6 требований, нужно, вероятно, создавать впн-линк с клиента на этот роутер. Тогда встает вопрос - а какой адрес выдавать клиенту, который создаст этот линк, если в локалке провайдера Б адреса выдаются через провайдерский dhcp (они статические - просто к маку привязаны)? Могу ли я выдавать тот же адрес, что и на морде роутера в этот сегмент? Или он должен быть другим? А если другим - то как же корректно это сделать, чтобы адрес не пересекся с уже существующим в том локальном сегменте? Что-то я путаюсь слегка в этом вопросе...

Извините за сумбурность, но это, в общем-то все. У кого какие замечания будут? Может, я что-то не так спланировал и представляю себе?
С натом всё будет в порядке. 18.08.06 17:23  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
> Что думаю:
> У меня есть отдельная машинка под фрей, на единственной
> морде которой, смотрящей в локалку провайдера А, висит
> dhcp. Попутно она выполняет еще кое-какие задачи, которые в
> контексте данного вопроса роли не играют. На эту машину
> думаю установить еще две сетевухи, чтобы одна смотрела в
> изолированную домашнюю сеть, а две остальные - в сети
> провайдеров. Также на этой тачке устанавливать vpn и
> pppoe-линки к провайдерам.
> Т.к. адреса нигде не пересекаются, достаточно будет
> прописать статические маршруты, чтобы разрулить, куда и как
> лезть. Вместе с тем, домашка ведь будет ходить наружу через
> nat, а работа нат на несколько внешних интерфейсов для меня
> пока - темный лес. Какие тут методы можно применить?

С натом всё будет в порядке.
Надо будет запустить два ната на разных портах.
соответственно, у тебя в правилах будет два диверта:
ipfw add 1000 divert ${nat_prov_a} ip from any to any via ${if_prov_a}
ipfw add 1100 divert ${nat_prov_b} ip from any to any via ${if_prov_b}

> Также нужно настроить фаер так, чтобы эта машина ни в коем
> случае не роутила пакеты между внешними интерфейсами
> (объединять сети двух провайдеров в мои планы ну никак не
> входит). Дивертов на нат для локалки и deny ip from any to
> any в конце будет достаточно? Или достаточно просто
> вырубить gateway_enable в rc.conf? (По сути, гейта-то у
> меня нет, все через nat идет).

gateway_enable выключать нельзя. Без роутинга пакет до ната не дойдёт. У тебя именно что гейт. Ну так достаточно пары правил:

ipfw add 2000 deny ip from ${prov_a_net} to ${prov_b_net}
ipfw add 2000 deny ip from ${prov_b_net} to ${prov_a_net}

1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach