Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Маршрутизация на Linux: три карты, IP-пакеты ходят, UDP нет

Модерирует : lynx, Crash_Master, dg, emx, ShriEkeR

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2

Открыть новую тему     Написать ответ в эту тему

brab

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Наверное это уже обсуждалось, но я найти не смог
 
Есть сервер на линуксе с тремя сетевыми картами. адреса карт: 192.168.1.1 1 192.168.2.1 и 192.168.3.1
 
пакеты ходят нормально, всё пингуется, если к компьютеру обратится по ip  - всё открывается нормально. Но вот UDP пакеты через сервер не проходят. это видно по неработающему чаиу (который на UDP построен) и по тому, что в сетевом окружении компьютеры из других подсетей не видны. как можно решить эту проблему?
 
Заранее всем спасибо




"маршрутеризация" Что ж у тебя с русским языком-то? Исправлено. lynx.

Всего записей: 3 | Зарегистр. 05-04-2004 | Отправлено: 12:41 05-04-2004 | Исправлено: lynx, 18:27 05-04-2004
ooptimum



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
brab

Цитата:
и по тому, что в сетевом окружении компьютеры из других подсетей не видны.

Они и не будут видны и при нормальном прохождении UDP через сервер, если не принимать специальных мер. Так что далеко не факт, что UDP не ходят.

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 14:18 05-04-2004
brab

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Они и не будут видны и при нормальном прохождении UDP через сервер, если не принимать специальных мер. Так что далеко не факт, что UDP не ходят.

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

Всего записей: 3 | Зарегистр. 05-04-2004 | Отправлено: 14:40 05-04-2004
UncoNNecteD



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
У тебя не ходят броадкасты. Это основа маршрутиризации

----------
-= Я тут чертовски давно =-

Всего записей: 4040 | Зарегистр. 21-03-2002 | Отправлено: 18:02 05-04-2004
ooptimum



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
brab

Цитата:
1) а какие специальные меры нужно принять?  

а) включить форвардинг бродкастов на сервере, как уже сказано коллегой UncoNNecteD;
или
б) поставить контроллер домена в одной из сетей (не multihomed) и ввести компьютеры в домен.
 

Цитата:
2) как выяснить, ходят ли udp пакеты и если не ходят - как помочь беде?  

Ну, например, поставить какой-нибудь UDP-пингер.
 
lynx

Цитата:
Что ж у тебя с русским языком-то?

"то", "либо" и "нибудь" пишутся через дефис.


----------
Голосуем за наших людей.
Номер раз.
Номер два.





lynx.

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 18:16 05-04-2004 | Исправлено: lynx, 18:27 05-04-2004
brab

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
>а) включить форвардинг бродкастов на сервере, как уже сказано коллегой UncoNNecteD;  
 
Если не затруднит, подскажите как это сделать. На  сервере установлен ASP Linux 9.  
 
>то", "либо" и "нибудь" пишутся через дефис
большое спасибо, учту.

Всего записей: 3 | Зарегистр. 05-04-2004 | Отправлено: 08:41 06-04-2004
Borgia



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
To all  
я тут пишу заметки  
http://www.forum.ru-board.com/topic.cgi?forum=8&topic=8718#1
и вот столкнулся с такой проблемой  роутинга и ни как не могу продвинуться  
  значит есть три подсети  
eth0 192.168.1.0    DHCP  
eth1 192.168.20.0   Static   192.168.20.1
eth2 192.168.30.0   Static   192.168.30.1
 На сервере уже есть DHCPD DNS  
 
Есть пинг с  eth0  на eth1, eth2  
Нет пинга с eth1 на eth0 , eth2  
Нет пинга с eth2на eth0 , eth1
вот таблица  
$netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.20.0    0.0.0.0         255.255.255.0   U         0 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
192.168.30.0    0.0.0.0         255.255.255.0   U         0 0          0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 eth0
 
1. смущает то что не присутствует в таблице loopback    - lo  и на попытку его добавить получаю
$route add 127.0.0.1
SIOCADDRT: No such device
с другой стороны интерфейс присутствует на команду ifconfig я его вижу и при рестарте network  
$service network restart
Shutting down interface eth0:                              [  OK  ]
Shutting down interface eth1:                              [  OK  ]
Shutting down interface eth2:                              [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Setting network parameters:                                [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:                                [  OK  ]
Bringing up interface eth1:                                [  OK  ]
Bringing up interface eth2:                                [  OK  ]
2. кто нибудь может обьяснить вот эту строку в таблице
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2  
3. например мне нужно сделать что бы подсеть 192.168.20.0(eth1) видела подсеть 192.168.30.0(eth2) и обратно  я должен сделать так ?  
add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.1 eth1 и  
add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1 eth2
или я не прав ?  
В любом случае я получаю  
$route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.1 eth1
SIOCADDRT: Network is unreachable
4. как сохранить внесенные йзменения в таблицу ?  
 
 
 
 
 

Всего записей: 545 | Зарегистр. 25-08-2001 | Отправлено: 00:17 09-12-2004
roma



skydiver
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
могу только предполагать
1. у тебя как-то коряво поднялся eth2
2. 169.254.0.0 такие айпи как правило появляются в сетях где есть машины на винде (нт 2000 хр) и нет dhcp  
в порт eth2 у тебя случайно не воткнуто сети с подобными машинами?
 
кстати ещё заметил
помоему гетвеями к подсетям 192.168.20.0/24 и 192.168.30.0/24 должны быть интерфейсы 192.168.20.1 и 192.168.30.1 соответственно (я конечно линукса не знаток, но провожу аналогию с виндой и соляркой) и эти маршруты должны подниматься вместе с железом...

----------
ну и на кой мне эта подпись?

Всего записей: 2908 | Зарегистр. 10-09-2001 | Отправлено: 00:41 09-12-2004
Borgia



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
roma

Цитата:
2. 169.254.0.0 такие айпи как правило появляются в сетях где есть машины на винде (нт 2000 хр) и нет dhcp  
в порт eth2 у тебя случайно не воткнуто сети с подобными машинами?  

 
однозначно нет единственное - так как это лаборатория и хабов мне не хватило то машина подключена  на eth2 через кросовер кабель - хм  
 

Цитата:
кстати ещё заметил
помоему гетвеями к подсетям 192.168.20.0/24 и 192.168.30.0/24 должны быть интерфейсы 192.168.20.1 и 192.168.30.1 соответственно (я конечно линукса не знаток, но провожу аналогию с виндой и соляркой) и эти маршруты должны подниматься вместе с железом...

 если можно то поподробнее с примером

Всего записей: 545 | Зарегистр. 25-08-2001 | Отправлено: 00:52 09-12-2004
roma



skydiver
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Borgia

Цитата:
так как это лаборатория и хабов мне не хватило то машина подключена  на eth2 через кросовер кабель - хм  

ну а эрджи сорокпятые то с обжимкой есть?
наделай лучше лупбаков - тогда по физике точно развязан будешь...
 

Цитата:
если можно то поподробнее с примером

пример
route print из винды при наличии интерфейса 10,8,108,235

Цитата:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0     10.8.108.242    10.8.108.235       1
       10.8.108.0    255.255.255.0     10.8.108.235    10.8.108.235       1
     10.8.108.235  255.255.255.255        127.0.0.1       127.0.0.1       1
   10.255.255.255  255.255.255.255     10.8.108.235    10.8.108.235       1
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
        224.0.0.0        224.0.0.0     10.8.108.235    10.8.108.235       1
  255.255.255.255  255.255.255.255     10.8.108.235    10.8.108.235       1
Default Gateway:      10.8.108.242

т.е. шлюзом для пакетов в 10.8.108.0/24 будет 10.8.108.235 и интерфейс 10.8.108.235 при этом я само сабой руками тут ничё не прописывал
 
netstat -nr солярис два интерфейса 129.9.200.20/16 и 10.8.108.227/8

Цитата:
  Destination           Gateway           Flags  Ref   Use   Interface
-------------------- -------------------- ----- ----- ------ ---------
129.9.0.0            129.9.200.20          U        1   4006  eri0
10.0.0.0             10.8.108.227          U        1  18004  hme0
224.0.0.0            129.9.200.20          U        1      0  eri0
127.0.0.1            127.0.0.1             UH       32469324  lo0

т.е. подсеть 129.9.0.0/16 ходит через шлюз (он же и интерфейс) 129.9.200.20
с 10.0.0.0/8 тоже самое
 
ещё пример с железного маршрутизатора
интерфейсы 192.168.11.1/24 и 192.168.21.2/32

Цитата:
Routing Tables:
  Destination/Mask  Proto   Pref     Metric     Nexthop    Interface
        0.0.0.0/0   Static   60         0     192.168.21.1 Serial0:0
      127.0.0.0/8   Direct    0         0        127.0.0.1 LoopBack0
      127.0.0.1/32  Direct    0         0        127.0.0.1 LoopBack0
   192.168.11.0/24  Direct    0         0     192.168.11.1 Ethernet0
   192.168.11.1/32  Direct    0         0        127.0.0.1 LoopBack0
   192.168.21.0/30  Direct    0         0     192.168.21.1 Serial0:0
   192.168.21.1/32  Direct    0         0     192.168.21.1 Serial0:0
   192.168.21.2/32  Direct    0         0        127.0.0.1 LoopBack0

тут только не шлюз, а некст хоп но смысл тотже
 
всё это поднимается с железом
 
вобщем в твоей таблице меня смущает то что на подсети
192.168.20.0 192.168.1.0 192.168.30.0 шлюзом является 0.0.0.0
 
Добавлено
ifconfig -a ещёбы я посмотрел твой...

----------
ну и на кой мне эта подпись?

Всего записей: 2908 | Зарегистр. 10-09-2001 | Отправлено: 09:26 09-12-2004
Borgia



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
roma
 
Цитата:
вобщем в твоей таблице меня смущает то что на подсети  
192.168.20.0 192.168.1.0 192.168.30.0 шлюзом является 0.0.0.0  
 

после твох примеров меня вообще все смущает особенно что нету loopback  
теперь насколько я понял то вроде как надо добавить след.  
$route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.1 eth2
 $route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1 eth1  
 
здесь я не очень понял концепцию я все время считал что если я хочу чтоб етн1 видел етн2 то я ему должен указать что мол если нужно передать что-то на 192,168,30,50  то мол используй мол вот этот адрес  
route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.1 eth2
 
ifconfig    запощу вечером после работы
 

Всего записей: 545 | Зарегистр. 25-08-2001 | Отправлено: 09:55 09-12-2004 | Исправлено: Borgia, 10:04 09-12-2004
roma



skydiver
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Borgia
так смысл того что я написал - "такие маршруты которые ты хочешь прописать руками ДОЛЖНЫ подниматься сами"
я думаю все со мной согласятся...
 
и всё таки подумай насчёт заворотников для карт...
 
кстати а как в линуксе поднимаются дополнительные интерфейсы?

----------
ну и на кой мне эта подпись?

Всего записей: 2908 | Зарегистр. 10-09-2001 | Отправлено: 10:05 09-12-2004
ooptimum



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
roma

Цитата:
вобщем в твоей таблице меня смущает то что на подсети  
192.168.20.0 192.168.1.0 192.168.30.0 шлюзом является 0.0.0.0  

Это нормально. Так в линуксе обозначается "этот компьютер" в поле Gateway, т.е.  
он сам для себя маршрутизатор в эти подсети.
 
Borgia

Цитата:
$route add 127.0.0.1

Это что за команда такая?
route add -net 127.0.0.0 netmask 255.0.0.0 lo

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 11:44 09-12-2004
Borgia



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ooptimum
 
спасибо сегодня после работы обязательно сделаю  
просто в статьях где я смотрел была именно такая команда. есть еще пару воросов
 
Цитата:
3. например мне нужно сделать что бы подсеть 192.168.20.0(eth1) видела подсеть 192.168.30.0(eth2) и обратно  я должен сделать так ?  
add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.1 eth1 и  
add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.20.1 eth2  
или я не прав ?    

 

Цитата:
4. как сохранить внесенные йзменения в таблицу ?  


Всего записей: 545 | Зарегистр. 25-08-2001 | Отправлено: 12:23 09-12-2004
roma



skydiver
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ooptimum

Цитата:
Так в линуксе обозначается "этот компьютер" в поле Gateway, т.е.

ну слава богу... буду знать хоть...

----------
ну и на кой мне эта подпись?

Всего записей: 2908 | Зарегистр. 10-09-2001 | Отправлено: 12:37 09-12-2004
Dr_Spectre



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
 2. кто нибудь может обьяснить вот эту строку в таблице
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2    

 
это zero интерфейс  
Целью ZEROCONF является разработка механизмов, позволяющих при работе в IP-сетях обеспечить решение четырех задач: автоматическую раздачу IP-адресов без участия DHCP-сервера, столь же автоматическое отображение имен в IP-адреса и обратно без участия DNS-сервера, поиск сервисов (например, принтеров) без участия служб каталогов и распределение адресов IP Multicast без участия MADCAP-сервера.
 
Удаляется прописыванием NOZEROCONF=yes
в etc/sysconfig/network
 

Цитата:
 4. как сохранить внесенные йзменения в таблицу ?  
 

 
/etc/sysconfig/static-routes статические маршруты прописываются там
формат смотреть в  /usr/share/doc/init-scripts*/sysconfig.txt вообще файл нужный в хозяйстве
 

Цитата:
 В любом случае я получаю  
$route add -net 192.168.30.0 netmask 255.255.255.0 gw 192.168.30.1 eth1
SIOCADDRT: Network is unreachable  

 
зачем это нужно если твой сервер уже знает про эту сеть так как в настройках сетевой карты прописано  192.168.30.1 mask 255.255.255.0 а вот юзеры могут не знать что и куда поэтому отладку маршрутизации надо проводить с помощью утилиты traceroute (tracert в windows) смотришь где начинает срубаться маршрут и уже на том месте копаешь. в случае в тремя картами нужно всеголишь прописывать всем юзерам в подсети шлюзом по умолчанию адрес сетевухи сервера смотрящий в данную подсеть а уж дальше сервер сам разберется куда дальше пихать ибо он знает что есть другие подсети. (про включение forward забывать не надо - включить его в ядре и проверить чтобы в iptbables тоже был разрешен если они включены )

----------
Со всеми регардами - Alexei Dmitriev aka Dr.Spectre
Чтобы добиться успеха в этом мире, одной глупости недостаточно, к ней нужны еще хорошие манеры.
(c) Вольтер

Всего записей: 1554 | Зарегистр. 15-12-2001 | Отправлено: 12:39 09-12-2004
ooptimum



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Borgia

Цитата:
3. например мне нужно сделать что бы подсеть 192.168.20.0(eth1) видела подсеть 192.168.30.0(eth2) и обратно  я должен сделать так ?

echo 1 >/proc/sys/net/ipv4/ip_forward
Про остальное тебе вроде ответили.
 
Кстати, вручную прописывать маршруты в сети, адреса из которых присвоены интерфейсам сервера, включая сеть 127.0.0.0/8, нет необходимости -- эти маршруты "прописываются" автоматически.

Всего записей: 2898 | Зарегистр. 30-05-2002 | Отправлено: 12:49 09-12-2004
Borgia



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ooptimum
Dr_Spectre
Большое спасибо за разьяснения.
Но пока чегото не получается.  попробую собрать все кусочки в одну мозайку.
И так есть три подсети  
eth0 192.168.1.0    DHCP  
eth1 192.168.20.0   Static   192.168.20.1
eth2 192.168.30.0   Static   192.168.30.1  
 
$netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS    Window  irtt Iface
192.168.20.0   0.0.0.0        255.255.255.0     U         0 0          0 eth1
192.168.1.0     0.0.0.0         255.255.255.0     U         0 0          0 eth0
192.168.30.0    0.0.0.0         255.255.255.0    U         0 0          0 eth2
169.254.0.0     0.0.0.0         255.255.0.0         U         0 0          0 eth2
0.0.0.0         192.168.1.1     0.0.0.0               UG        0 0          0 eth0
 
 0.0.0.0   - в поле Gateway,    
Это нормально. Так в линуксе обозначается "этот компьютер" в поле Gateway, т.е.  
он сам для себя маршрутизатор в эти подсети.  
 
 

Цитата:
  169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth2    
 
 это zero интерфейс  
Целью ZEROCONF является разработка механизмов, позволяющих при работе в IP-сетях обеспечить решение четырех задач: автоматическую раздачу IP-адресов без участия DHCP-сервера, столь же автоматическое отображение имен в IP-адреса и обратно без участия DNS-сервера, поиск сервисов (например, принтеров) без участия служб каталогов и распределение адресов IP Multicast без участия MADCAP-сервера.
 
Удаляется прописыванием NOZEROCONF=yes
в etc/sysconfig/network
 

 вручную прописывать маршруты в сети, адреса из которых присвоены интерфейсам сервера, включая сеть 127.0.0.0/8, нет необходимости -- эти маршруты "прописываются" автоматически.  
Для того что бы одна подсеть видела другую  в нашем случае  

Цитата:
что бы подсеть 192.168.20.0(eth1) видела подсеть 192.168.30.0(eth2) и обратно

нужно включить маршрутизацию (форвардинг)   echo 1 >/proc/sys/net/ipv4/ip_forward или
в фаиле  /etc/sysctl.conf нужно поменять параметры  
# Disables packet forwarding
net.ipv4.ip_forward=0
На  
# Enables packet forwarding
net.ipv4.ip_forward=1
Для того чтобы измненения ступили в силу немедленно можно дать команду   sysctl -p
$sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
 
 при пинге с компьютера одной  из подсетей  другого   в другой подсети  получаю  
Network is unreachable
Тоже самое даю пинг на адрес 192.168.20.1  (eth1) с комп 192.168.30.253   Network is unreachable
даю пинг на адрес 192.168.1.1  (eth0) с комп 192.168.30.253   Network is unreachable
чего то не хватает?

Всего записей: 545 | Зарегистр. 25-08-2001 | Отправлено: 16:28 10-12-2004
Dr_Spectre



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
у компьютера в сети с которогьо пингуешь стоит шлюзом по умолчанию адрес сетевухи на сервере которая смотрит в эту сеть?
 


----------
Со всеми регардами - Alexei Dmitriev aka Dr.Spectre
Чтобы добиться успеха в этом мире, одной глупости недостаточно, к ней нужны еще хорошие манеры.
(c) Вольтер

Всего записей: 1554 | Зарегистр. 15-12-2001 | Отправлено: 16:54 10-12-2004
Andy_user

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На любом компе в сети 192.168.20.0/24 (кроме маршрутизатора с 3-мя сетевыми) default gateway = 192.168.20.х (адрес соответствующей сетевухи маршрутизатора);
На любом компе в сети 192.168.30.0/24 (кроме маршрутизатора с 3-мя сетевыми) default gateway = 192.168.30.х (адрес соответствующей сетевухи маршрутизатора).
---
Или прописать  маршруты в эти сети.

Всего записей: 960 | Зарегистр. 02-12-2002 | Отправлено: 16:54 10-12-2004
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2

Компьютерный форум Ru.Board » Компьютеры » В помощь системному администратору » Маршрутизация на Linux: три карты, IP-пакеты ходят, UDP нет


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru