маршрутизатор на linux

Linux, безопасность, сети и все что с этим связано
cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

маршрутизатор на linux

Сообщение cranium »

Прошу помощи у народа по данному вопросу. Посоветуйте что почитать, какие man, т.к. вобще не знаю с чего начать.
Проблема в том, чтобы организовать маршрутизацию трафика между двумя подсетями (10.0.0.0/8 и 10.5.5.0/25). Попробую предположить (поправте, если буду неточен): набиваются таблицы маршрутизации вручную к примеру, ну а поверх работает файервол (iptables какой-нить), что дает возможность очень тонко производить конфигурацию.
Про iptables есть какие-то представления, а вот что нужно для переадресации между сетевыми интерфейсами трафика, и как это все осуществить, для меня загадка, просветите, плиз

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

Сообщение Llama »

Опыт растет прямо пропорционально выведенному из строя оборудованию

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

Llama, сенк
Debian GNU/Linux 3.1 Sarge
Kernel 2.6.16

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

Код: Выделить всё

(subnet1)----------(eth0)-|Linux Router|-(eth1)--------------------(subnet2)
(10.5.5.0/25)         (10.5.5.100)     ^     (192.168.1.100)  (192.168.1.0/24) 
                                    (eth2)
                                (172.16.1.100)
                                       ^
                                       ^
                                 |ADSL Modem|
                                (172.16.1.1)

Хотелось бы настроить маршрутизацию. Хотя бы для начала можно откинуть eth2 интерфейс. Остаются eth0 и eth1, которые будут соединять 2 подсети( 10.5.5.0/25 и 192.168.1.0/24). Вроде делаю все как надо, а именно (все интерфейсы подняты и работают). Из subnet2 пингуется eth1 сервера, а из subnet1 пингуется eth0 сервера. Но никакие пинги не проходят к машинам из subnet1 в subnet2.

* 1)$ ip ro

10.5.5.0/25 dev eth0 proto kernel scope link src 10.5.5.100
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.100

*Примечание:
#Т.е. как я здесь понимаю: пакет пришел например из сети 10.5.5.0/25 с адресом назначения например 192.168.1.10 (маска 192.168.1.0./24)
#исходя из этого ядро принимает пакет, считывает адрес назначения и перенаправляет его на eth1 (в нужную подсеть). Так?

* 2) $ iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
LOG all -- anywhere anywhere LOG level warning

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

*Примечание:
#Пересылаемые пакеты все разрешены... Все вроде просто (iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT и наоборот -i eth1 -o eth0)
#Что касается логов /var/log/messages, то там ничего особого не пишется (я имею ввиду входящие пакеты или перенаправленые), вобще не
#видно подобных правил. Есть толкьо пару записей насчет 127.0.0.1

* 3) $ ip ru

0: from all lookup local
32763: from 192.168.1.0/24 to 10.5.5.0/25 lookup main
32764: from 10.5.5.0/25 to 192.168.1.0/24 lookup main
32765: from 10.254.10.10 lookup main
32766: from all lookup main
32767: from all lookup default

* 4) $ cat /proc/sys/net/ipv4/ip_forward

1

*Примечание:
#Т.е. поддержка ip_forward в ядре включена

Сомнения возникают насчет способности ядра к маршрутизации (ядро 2.4.26). Объясните, какие опции должны быть в нем включены для этого?[/code]

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

Сообщение Llama »

echo 1 >/proc/sys/net/ipv4/ip_forward
Опыт растет прямо пропорционально выведенному из строя оборудованию

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

Включена опция ip_forward уже была:
* 4) $ cat /proc/sys/net/ipv4/ip_forward

1
Кстати как глянуть логи сетевой активности, ну к примеру какие пакеты приходили на какой интерфейс машины и когда?

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

Сообщение Llama »

cranium, на клентах-то маршрутизация настроена? Если настроена - то каким образом?
Опыт растет прямо пропорционально выведенному из строя оборудованию

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

ситуация такова: стоит у меня сервак, в нем пока 2 сетевухи, и линк от моей домашней машины и 2 линка сервака идут в один свич.
Я периодически меняю у себя ип на 192.168.1.10 (255.255.255.0), шлюз: 192.168.1.100. Ip шлюза при этом пингуется, но напр модем который в 10.5.5.0/25 (ip 10.5.5.1) не пингуется.
Debian GNU/Linux 3.1 Sarge
Kernel 2.6.16

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

Сообщение Llama »

cranium, а на модеме как маршрутизация настроена? Посмотри в сторону MAQSUERADE в iptables...
Опыт растет прямо пропорционально выведенному из строя оборудованию

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

Настройки модема: ip: 10.5.5.1
mask: 255.255.255.128
gateway: 10.5.5.100 (eth0 сервера)
Но насколько я понимаю, модем здесь играет роль не совсем свойственную ему. Т.е. с таким же успехом я мог пинговать любой другой хост сети.
Debian GNU/Linux 3.1 Sarge
Kernel 2.6.16

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

Сообщение Llama »

cranium, для того чтобы работала маршрутизация между двумя произвольными хостави по разные стороны маршрутизатора должны быть нормально настроены таблицы маршрутизации на этих хостах. Маршрутизатор вообще трогать не надо, в случае с linux будут работать настройки маршрутизации по умолчанию, надо только разрешить пережачу пакетов между интерфейсами, что как я понял уже сделано.
PS: echo 1 > /proc/..... имет смысл только до перезагрузки
Опыт растет прямо пропорционально выведенному из строя оборудованию

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

Опаа...
Тока что искал файл где прописана автоматическая подгрузка ip_forward при старте системы, так обнаружил что в /etc/network/options есть такой параметр ip_forward=no
мот тут была проблема, сечас попробую
Debian GNU/Linux 3.1 Sarge
Kernel 2.6.16

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

Супер, люблю этот форум), все работает!!!8)
Llama, спасибо за помощь
Debian GNU/Linux 3.1 Sarge
Kernel 2.6.16

cranium
Интересующийся
Сообщения: 69
Зарегистрирован: 13 мар 2006, 09:31
Контактная информация:

Сообщение cranium »

хотел поинтересоваться, может кто работал с протоколом PPPoE.
Хочу сделать вот что: (см. рис. 4-го поста). ADSL модем в сети работает в режиме bridge (инет провайдер раздает по протоколу PPPoE). Нужно сделать таким образом, чтобы этот мост, подключенный к интерфейсу сервера eth2 обменивался только с subnet1 (eth0). Связь eth2 <-> eth1 запрещена.
До недавних пор смутно представлял как PPPoE работает, благо в RFC2516 все подробно расписано.
Насколько я понимаю, трафик, идущий с eth0 нужно неким образом "отбирать" по определенному критерию, критерию принадлежности к PPPoE сессии (т.е. он предназначается в eth2). C eth2 трафик можно смело "заворачивать" на eth0. Пока что видится 2 способа:
1) Извлекать содержимое поля ETHER_TYPE (2 байта) из заголовка кадра Ethernet. Оно может принимать только 2 значения (rfc2516): 0x8863 (для поиска PPPoE-сервера) и 0x8864 (для установленной PPPoE-сессии). И только эти кадры перенаправлять с eth0 на eth2.
2) По mac-адресам. MAC сервера провайдера известен. Только протокол работает следующим образом: при обнаружении PPPoE-сессии, первый посылаемый кадр является широковещательным (0xffffffffffff). Т.е. можно все broadcast`ы прокинуть с eth0 на eth2, и далее, зная mac PPPoE-сервера, прокидывать пакеты, подходящие под этот критерий также на модем.

Господа, как быть? У кого какие соображения?
Debian GNU/Linux 3.1 Sarge
Kernel 2.6.16

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

Сообщение Llama »

посмотри в сторону ebtables
Опыт растет прямо пропорционально выведенному из строя оборудованию

Ответить