Проблема с маршрутизацией.

Linux, безопасность, сети и все что с этим связано
KSV

Проблема с маршрутизацией.

Сообщение KSV »

Помогите настроить маршрутизацию пакетов на Linux. Настройка нужна очень тонкая.
Итак, у нас домашняя сеть, которая объединяет несколько домов. Каждый дом имеет свой диапазон IP: 10.8.y.x, где y – номер дома, общая маска сети 255.255.128.0. Все друг друга видят в сети и в сетевом окружении MS Network, все отлично. Сейчас поставили сервер на 3 дома (адреса домов 10.8.3.x, 10.8.4.x, 10.8.5.x), на котором стоит 9й SUSE Linux, SAMBA, IRC и т.п. В сервере стоят 3 сетевых карты: eth2: 10.8.3.1, eth0: 10.8.4.x, eth1: 10.8.5.1. Как правильно настроить маршрутизацию между домами? Если бы это были отдельные подсети с маской 255.255.255.0, проблем бы не было! Но стоит задача сохранить маску 255.255.128.0 для того, что бы все видели друг друга и сервер в MS Network.
Помогите, 2й день бьюсь над проблемой! Какие только правила не прописывал!

Аватара пользователя
zyxel
Неотъемлемая часть форума
Сообщения: 985
Зарегистрирован: 07 июн 2002, 12:05
Откуда: Минск, РБ
Контактная информация:

Сообщение zyxel »

вполне достаточно одного сообщения ИМХО
-Сынок, вставай, 5 утра, пора на работу.
-Папа, на какую работу ? Сегодня воскресенье !
-Сынок, какое воскресенье ! Мы же негры !
(С) анекдот

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

KSV, Есть менение не извращаться и...
1) Прописать всех с маской 24 если тебе так проще
2) На самбе поднять wins
3) Всем прописать этот самый wins
4) Чтобы в будущем не маяться - поднять dhcp.
Как результата - параметры сети будут меняться из одного места - конфига dhcp и в дальнейшем не надо будет ходить по наролу и объяснять что и как им где прописать. В виндовой сети в пределах рабочей группы или домена все друг друга будут видеть благодоря wins. Собственно данная схема является широко распространенной и работает ИМХО неплохо.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Гость

Сообщение Гость »

Спасибо за ответ!

Проблема в том, что наш сегмент сети - только участок большой сети, и прописывать всем WINS не очень удобно. Я не отвечаю за всю сеть и не могу заставить 10.8.3.х прописывать то что мне надо.
Тем более что в дальнейшем через сеть 10.8.3.х мы будем выходить на другие сети (с такой же манерой адресации), и заставлять их делать что-то не выйдет.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

М.б. я что-то путаю - но ИМХО при описаной конфигурации все узлы в локалке имеют одинаковый номер сети - и как в этом случае делать маршрутизаю - я затрудняюсь сказать... Твоя маска не затрагивает младшие разряды третьего байта адреса -> следоватеьно номер сети - 10.8.0.0 (я могу тут ошибиться, т.к. не помню big-endian или low-endian в испльзуется в IP)
На всякий случай - покажи свою таблицу маршрутизации. Попробуй жестко указать устройство при составлени маршрутов (man route на предмет dev). Попроьуй еще прописать маршруты к хостам.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Гость

Сообщение Гость »

Llama, ты правильно уловил суть. По сути комп с линухом должен сдесь работать как обычный хаб + возможность не пропускать трафик для некоторых MAC/IP/портов. А может это можно сделать при помощи ARP?

на счет таблиц пытался сделать например так:
ip rule add from 10.8.4.0/24 lookup Rus3
в файле /etc/iproute2/rt_tables прописал таблицу Rus: 200 Rus3
далее:
ip route add 10.8.3.0/24 via 10.8.3.1 dev eth2 table Rus3

имеет ли это все смысл при маске 255.255.128.0 ?

Гость

Сообщение Гость »

Вот, нашел интересную статейку: http://forum.linux.by/viewtopic.php?p=18511#18511, правда тут возникают другие непонятки:

1. Маски сети все-равно разные (хотя в заключении написано, что теоретически можно использовать и одинаковые).
2. Ограничения по IP можно вводить, но как ввести ограничения по портам? ARP ведь для этого не предназначен.

Аватара пользователя
Llama
Неотъемлемая часть форума
Сообщения: 9749
Зарегистрирован: 06 фев 2002, 11:40
Откуда: Менск

Сообщение Llama »

Попробуй тупо сделать что-нить типа:
route add -host 10.8.4.2 dev eth0 - если после этого из другого сегмента пинги смогут пройти на 10.8.4.2 - то вот тебе тупое решение проблемы - пропиши маршруты ко всем хостам. Надеюсь ты не забыл на клиентах указать соответсвующий интерфейс сервера в качестве шлюза по умолчанию... В данном решении есть большая проблема - если сеть будет расти то для каждого нового компа придется добавлять запись в таблицу маршрутов... В ядре можно включить transparent bridge - но при этом AFAIK отваливается netfilter. Т.е. постановка задачи изначально неверна и работать в любом случае будет через жопу.
Мои предложения:
каждый сегмент - в свою подсеть с маской 24.
Видеть друг друга будут через wins. Если будете линковаться куда-то еще - то просто укажешь в самбе wins-сервер той сети в качестве вышестоящего и опять-таки все будет видно. А между твоей сетью и чужой дожен ставиться маршрутизатор (для того собственно маршрутизаторы и преназначены). Если хочется все же всех загнать в одну ip-сеть и името фильтрацию - то нужно ставить управляемый свич - и уже на нем прописывать правила фильтрации.
Опыт растет прямо пропорционально выведенному из строя оборудованию

Гость

Сообщение Гость »

Спасибо за советы. Нашел решение! Вот оно:
http://bridge.sourceforge.net/
после установки патча (для ядра 2.4) можно применять правила в iptables для прозрачного моста.

Andrei (admin)
Фанатеющий
Сообщения: 143
Зарегистрирован: 05 мар 2003, 13:27
Контактная информация:

Сообщение Andrei (admin) »

Andrei (admin)
и вообще поищи bridge + iptables howto

Ответить