The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от eightn emailИскать по авторуВ закладки(ok) on 01-Ноя-04, 08:51  (MSK)
FreeBSD 5.2.1
Хост имеет адрес 192.168.1.5, в другую сеть он выходит через default gw 192.168.1.1
Есть еще одна сеть 10.0.0.0/24, которая подключена к нашей через маршрутизатор 192.168.1.200

BSD(192.168.1.5) ==> (default gw)192.168.1.1 ===> Inet
                                       \--->(192.168.1.200)-->10.0.0.0/24

В таблице маршрутов у FreeBSD хоста прописан только default gw и больше ничего.

Но иногда хост самостоятельно добавляет в таблицу маршруты напрямую на хосты из сети 10.0.0.0/24, т.е. на BSD появляются вот такие записи:
10.0.0.0.2        192.168.1.100       UGHD        0     2168    em1
10.0.0.0.24       192.168.1.100       UGHD        0      786    em1
10.0.0.0.88       192.168.1.100       UGHD        0     1674    em1
10.0.0.0.171      192.168.1.100       UGHD        0     1102    em1
10.0.0.0.174      192.168.1.100       UGHD        0      771    em1
10.0.0.0.177      192.168.1.100       UGHD        0      857    em1

Видимо BSD видит некоторые пакеты, что идут из 10.0.0.0/24 через 192.168.1.100 и прописывает такие маршруты напрямую, в результате компьютеры, из 10.0.0.0/24, прописавшиеся в таблице маршрутизации напрямую, перестают быть доступными.

Вопрос - почему BSD это делает (прописывает маршруты самостоятельно) и как ее от этого отучить?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от lavr emailИскать по авторуВ закладки on 01-Ноя-04, 12:12  (MSK)
>FreeBSD 5.2.1
>Хост имеет адрес 192.168.1.5, в другую сеть он выходит через default gw
>192.168.1.1
>Есть еще одна сеть 10.0.0.0/24, которая подключена к нашей через маршрутизатор 192.168.1.200
>
>
>BSD(192.168.1.5) ==> (default gw)192.168.1.1 ===> Inet
>                                       \--->(192.168.1.200)-->10.0.0.0/24
>
>В таблице маршрутов у FreeBSD хоста прописан только default gw и больше
>ничего.
>
>Но иногда хост самостоятельно добавляет в таблицу маршруты напрямую на хосты из
>сети 10.0.0.0/24, т.е. на BSD появляются вот такие записи:
>10.0.0.0.2        192.168.1.100    
>   UGHD        
>0     2168    em1
>10.0.0.0.24       192.168.1.100    
>  UGHD        0
>     786    em1
>10.0.0.0.88       192.168.1.100    
>  UGHD        0
>    1674    em1
>10.0.0.0.171      192.168.1.100      
> UGHD        0  
>   1102    em1
>10.0.0.0.174      192.168.1.100      
> UGHD        0  
>    771    em1
>10.0.0.0.177      192.168.1.100      
> UGHD        0  
>    857    em1
>
>Видимо BSD видит некоторые пакеты, что идут из 10.0.0.0/24 через 192.168.1.100 и
>прописывает такие маршруты напрямую, в результате компьютеры, из 10.0.0.0/24, прописавшиеся в
>таблице маршрутизации напрямую, перестают быть доступными.
>
>Вопрос - почему BSD это делает (прописывает маршруты самостоятельно) и как ее
>от этого отучить?

ну осели в таблице, посмотри arp'ы этих адресов и удали - маршрут пропадет
или route del - удали маршрут руками


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от uxian emailИскать по авторуВ закладки(??) on 01-Ноя-04, 12:59  (MSK)
>>Но иногда хост самостоятельно добавляет в таблицу маршруты напрямую на хосты из
>>сети 10.0.0.0/24, т.е. на BSD появляются вот такие записи:
>>10.0.0.0.2        192.168.1.100    
>>   UGHD        
>>0     2168    em1
>>10.0.0.0.24       192.168.1.100    
>>  UGHD        0
>>     786    em1
>>10.0.0.0.88       192.168.1.100    
>>  UGHD        0
>>    1674    em1
>>10.0.0.0.171      192.168.1.100      
>> UGHD        0  
>>   1102    em1
>>10.0.0.0.174      192.168.1.100      
>> UGHD        0  
>>    771    em1
>>10.0.0.0.177      192.168.1.100      
>> UGHD        0  
>>    857    em1
>>
>>Видимо BSD видит некоторые пакеты, что идут из 10.0.0.0/24 через 192.168.1.100 и
>>прописывает такие маршруты напрямую, в результате компьютеры, из 10.0.0.0/24, прописавшиеся в
>>таблице маршрутизации напрямую, перестают быть доступными.
>>
>>Вопрос - почему BSD это делает (прописывает маршруты самостоятельно) и как ее
>>от этого отучить?
>
>ну осели в таблице, посмотри arp'ы этих адресов и удали - маршрут
>пропадет
>или route del - удали маршрут руками


arp-ы указыают на 192.168.100.1

Проблема в том, что после удаления их ручками маршруты опять появляются временами (случайным образом на хосты из 10.0.0.0/24). Под "случайным образом" понимается то, что если хосты из 10.0.0.0/24 работают с FreeBSD машиной, то лишь на некоторые из них FreeBSD прописывает собственные маршруты, причем это происходит довольно редко.

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

Можно ли императивно запретить FreeBSD прописывать в свою таблицу маршрутов что угодно, кроме адресов хостов из ее собственной подсети?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от Andy Искать по авторуВ закладки(??) on 01-Ноя-04, 13:14  (MSK)
man ifconfig
/staticarp

Не то?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от eightn emailИскать по авторуВ закладки(ok) on 01-Ноя-04, 13:18  (MSK)
>man ifconfig
>/staticarp
>
>Не то?

Если ввести static arp, то будут проблемы с локальной сетью 192.168.1.0/24
Можно, конечно, прописать все хосты из этой подсети в arp-таблицу, но вполне возможно, что будут появляться новые машины или у текущих сетевая карта сменится... В общем, не очень удобно.

А каких нибудь флагов-триггеров, говорящих "не вставляй маршруты не из своей подсети" в FreeBSD нет?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от lavr emailИскать по авторуВ закладки on 01-Ноя-04, 13:34  (MSK)
>>man ifconfig
>>/staticarp
>>
>>Не то?
>
>Если ввести static arp, то будут проблемы с локальной сетью 192.168.1.0/24
>Можно, конечно, прописать все хосты из этой подсети в arp-таблицу, но вполне
>возможно, что будут появляться новые машины или у текущих сетевая карта
>сменится... В общем, не очень удобно.
>
>А каких нибудь флагов-триггеров, говорящих "не вставляй маршруты не из своей подсети"
>в FreeBSD нет?

подними статический роутинг на сеть 10.0.0.0/24 через 200'ую и все.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от eightn emailИскать по авторуВ закладки(ok) on 01-Ноя-04, 14:01  (MSK)

>>А каких нибудь флагов-триггеров, говорящих "не вставляй маршруты не из своей подсети"
>>в FreeBSD нет?
>
>подними статический роутинг на сеть 10.0.0.0/24 через 200'ую и все.

Да, можно так.
Или перевести 192.168.1.200 в другую подсеть, например 192.168.200.200

Или изменять адреса сети 10.0.0.0/24 между 1.1 и 1.200 с помощью netmap (т.е. один к одному), там на обоих машинах стоит linux:
на 1.200:
iptables -t nat -I POSTROUTING -s 10.0.0.0/24 -d 192.168.1.0/24 -j NETMAP --to 10.111.0.0/24
iptables -t nat -I PEROUTING -s 192.168.1.0/24 -d 10.111.0.0/24 -j NETMAP --to 10.0.0.0/24
;-)


Но можно ли заставить BSD не модифицировать свою таблицу маршрутов?
Или придется выбирать один из трех вышеперечисленных способов?

Прописывать статический роутинг через 200'ую не хотелось бы в силу того, что центральным маршрутизатором является 1.1, пускать маршруты в обход его - на мой взляд, неверно (невозможно будет анализоровать пущенный в обход его трафик).

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от Andy Искать по авторуВ закладки(??) on 01-Ноя-04, 14:11  (MSK)
>Но можно ли заставить BSD не модифицировать свою таблицу маршрутов?

Всегда есть возможность поправить исходники.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от edwin Искать по авторуВ закладки(ok) on 01-Ноя-04, 14:25  (MSK)
>>Но можно ли заставить BSD не модифицировать свою таблицу маршрутов?
>
>Всегда есть возможность поправить исходники.
Мне думаеться
sysctl -w net.inet.ip.redirect="0"
и в /etc/sysctl.conf прописать
net.inet.ip.redirect=0
  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от eightn emailИскать по авторуВ закладки(ok) on 01-Ноя-04, 15:33  (MSK)
>>>Но можно ли заставить BSD не модифицировать свою таблицу маршрутов?
>>
>>Всегда есть возможность поправить исходники.
>Мне думаеться
>sysctl -w net.inet.ip.redirect="0"
>и в /etc/sysctl.conf прописать
>net.inet.ip.redirect=0

Спасибо, я включил (точнее поставил в 0) эту опцию. Посмотрим, поможет ли.
Хотя, судя по man 3 sysctl, она отвечает за реагирование на icmp redirect, в моем же случае (если я все верно понимаю), FreeBSD хост прописывает новые маршруты, видя пакет с мак-адресом от 1.100


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от denn Искать по авторуВ закладки(??) on 01-Ноя-04, 14:37  (MSK)
>FreeBSD 5.2.1
>Хост имеет адрес 192.168.1.5, в другую сеть он выходит через default gw
>192.168.1.1
>Есть еще одна сеть 10.0.0.0/24, которая подключена к нашей через маршрутизатор 192.168.1.200
>
>
>BSD(192.168.1.5) ==> (default gw)192.168.1.1 ===> Inet
>                                       \--->(192.168.1.200)-->10.0.0.0/24
>
а кто ж тогда 192.168.1.100. из схемы его не видать а на него указан маршрут.
все решаеться настройкой маршрутизации
  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от eightn emailИскать по авторуВ закладки(ok) on 01-Ноя-04, 15:31  (MSK)
>>FreeBSD 5.2.1
>>Хост имеет адрес 192.168.1.5, в другую сеть он выходит через default gw
>>192.168.1.1
>>Есть еще одна сеть 10.0.0.0/24, которая подключена к нашей через маршрутизатор 192.168.1.200
>>
>>
>>BSD(192.168.1.5) ==> (default gw)192.168.1.1 ===> Inet
>>                                       \--->(192.168.1.200)-->10.0.0.0/24
>>
> а кто ж тогда 192.168.1.100. из схемы его не видать а
>на него указан маршрут.
>все решаеться настройкой маршрутизации

1.100 == 1.200, опечатка в схеме

Чуть выше я объяснил причины, почему не хотелось бы делать отдельный маршрут, не через 192.168.1.1

Или запись route add -net 10.0.0.0/24 gw 192.168.1.1 спасет от прописывания "левых" самопальных маршрутов через 1.100 ?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "FreeBSD: самостоятельное прописывание маршрутов, как это отк..."
Сообщение от RinatKaa emailИскать по авторуВ закладки(??) on 21-Дек-04, 10:15  (MSK)
>>>FreeBSD 5.2.1
>>>Хост имеет адрес 192.168.1.5, в другую сеть он выходит через default gw
>>>192.168.1.1
>>>Есть еще одна сеть 10.0.0.0/24, которая подключена к нашей через маршрутизатор 192.168.1.200
>>>
>>>
>>>BSD(192.168.1.5) ==> (default gw)192.168.1.1 ===> Inet
>>>                                       \--->(192.168.1.200)-->10.0.0.0/24
>>>
>> а кто ж тогда 192.168.1.100. из схемы его не видать а
>>на него указан маршрут.
>>все решаеться настройкой маршрутизации
>
>1.100 == 1.200, опечатка в схеме
>
>Чуть выше я объяснил причины, почему не хотелось бы делать отдельный маршрут,
>не через 192.168.1.1
>
>Или запись route add -net 10.0.0.0/24 gw 192.168.1.1 спасет от прописывания "левых"
>самопальных маршрутов через 1.100 ?


Да, по умолчанию ядро зачем-то добавляет проходящие "мимо" пакеты и добавляет в таблицу маршрутизации.
В rc.conf нужно добавить строку: icmp_drop_redirect="YES"
Или как вариант, если не хочеться перегружать тачку - удалить ручками все маршруты с меткой "UGHD" и запустить демон маршрутизации, котторый собственно будет отслеживать это дело. - можно просто без параметров запустить routed (он кажется в стандартной поставке имеется).

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру