URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87869
[ Назад ]

Исходное сообщение
"Не добавляется маршрут при старте BSD"

Отправлено Figarooo , 17-Янв-10 00:47 
Так:
есть freebsd 8.0

lan interface(rl0) 172.16.0.50
wan interface (stge0) DHCP 10.5.21.223 шлюз 10.5.21.1

lan-внутренняя сетка (172.16.0.0/24)
wan-сеть провайдера (10.0.0.0/8)

выход в инет через pppoe, на демоне mpd5.

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

default ng0
10.0.0.0/8 10.5.21.1 rl0    ---->  проблемный маршрут
10.5.21.0 rl0
10.5.21.223 lo0
172.16.0.0/24 stge0
172.16.0.223 lo0
"некий ip" ng0

Казалось бы всё вроде просто...
Значит замену дефолтного маршрута делает сам mpd5 (set iface route default; set ipcp ranges 0.0.0.0/0.0.0.0.0/0)
Работает всё что требовалось,кроме сети локальной прова..
для этого мне не хватает маршрута:
10.0.0.0/8 10.5.21.1 rl0
Пытаюсь его добавить:
rc.conf:
static_routes="onet"
route_onet="-net 10.0.0.0/8 10.5.21.1"

при загрузке выдаёт:
route :writing to routing socket: Network is unreachable

странно тк. если прописать маршрут ручную то всё прекрасно начинает работать..
ну забиваю на rc.conf..
пишу в mpd.conf:
set iface up-script /usr/local/etc/mpd5/route.sh

сам скрипт:
#!/bin/sh
/sbin/route add -net 10.0.0.0/8 10.5.21.1

Перезагружаю маршрут не добавляется.. пробовал разные варианты с rc.conf а также конфигом mpd5 но в итоге пока маршрут добаляется если только запустить скрипт вручную или прописать маршрут вручную.

проблема типичная, но видимо плохо искал решения.. но пока яйца в профиль теже..
Кто что посоветует..?


Содержание

Сообщения в этом обсуждении
"Не добавляется маршрут при старте BSD"
Отправлено Vitaly_loki , 17-Янв-10 01:04 
Возможно две разные причины:
1. Маршрут добавляется до того, как получен IP. Следовательно на момент добавления маршрута "сеть недостижима"
2. Маску PPPoE какую выдает?

"Не добавляется маршрут при старте BSD"
Отправлено Figarooo , 17-Янв-10 01:11 
>Возможно две разные причины:
>1. Маршрут добавляется до того, как получен IP. Следовательно на момент добавления
>маршрута "сеть недостижима"
>2. Маску PPPoE какую выдает?

1.Ну судя по описанию происходящего так и получается походу... хотя если мессадж поитать или само начало загрузки.. то сначала происходит становление инфтерфейсов, а только потом уже ошибка о недостижимой сети это в случае с рс.конф , ну и также mpd5 естественно тоже запускается позже становления интерфейсов.. ибо сам же пппое использует бродкаст в сеть провайдера на налисие пппое сервера...

2. /32  а разве бывает что другую выдаёт? или я просто неправильно понял...

ng0
62.182.77.138
255.255.255.255
172.17.19.252

маршруты относящиеся к ng0:
default ng0
62.182.77.138 lo0
172.17.19.252 ng0


"Не добавляется маршрут при старте BSD"
Отправлено Vitaly_loki , 17-Янв-10 01:31 
Прошу прощения, совсем запамятовал - PPP соединяет два хоста, там всегда маска /32 на обоих концах, все верно. Я имел ввиду, что тот IP, к-й DHCP выдает, там какая маска? Может ее диапазон не включает в себя 10.5.21.1?

"Не добавляется маршрут при старте BSD"
Отправлено Figarooo , 17-Янв-10 01:40 
>Прошу прощения, совсем запамятовал - PPP соединяет два хоста, там всегда маска
>/32 на обоих концах, все верно. Я имел ввиду, что тот
>IP, к-й DHCP выдает, там какая маска? Может ее диапазон не
>включает в себя 10.5.21.1?

wan interface rl0:  DHCP
10.5.21.223
255.255.255.0
10.5.21.1

маршруты к этому интерфейсу:
default rl0 ------->(до запуска mpd5)
10.5.21.0 rl0
10.5.21.223 lo0


Кстати есть ещё такой нюанс.. К примеру в винде 2008 маршрут 10.0.0.0/8 10.5.21.1 добавлялся опциями dhcp.
т.е. по сути возможно,что BSD-овый dhclient не подхватывает этот параметр.. может можно как как то ему приказать съедать?


"Не добавляется маршрут при старте BSD"
Отправлено Vitaly_loki , 17-Янв-10 01:52 
Ну как бы вообще-то он по-умолчанию получает большинство опций DHCP, в том числе и маршруты. Я вам предлагаю выключить mpd и просто попробовать, обычную процедуру загрузки, с добавлением маршрута через DHCP или rc.conf. Хотя бы локализовать проблему. Так же man 5 dhclient.conf, но это вроде как относится к ISC-dhcp-клиенту, к-й заменили еще в 5.Х версии на OpenBSDшный, так что не уверен что этот файл еще работает. Еще гляньте man dhclient-script, ни и сам файл 'less /sbin/dhclient-script' на предмет почему маршрут не добавляется. Я бы попробовал без mpd для начала загрузить машину обычным способом

"Не добавляется маршрут при старте BSD"
Отправлено Figarooo , 17-Янв-10 02:40 
>Ну как бы вообще-то он по-умолчанию получает большинство опций DHCP, в том
>числе и маршруты. Я вам предлагаю выключить mpd и просто попробовать,
>обычную процедуру загрузки, с добавлением маршрута через DHCP или rc.conf. Хотя
>бы локализовать проблему. Так же man 5 dhclient.conf, но это вроде
>как относится к ISC-dhcp-клиенту, к-й заменили еще в 5.Х версии на
>OpenBSDшный, так что не уверен что этот файл еще работает. Еще
>гляньте man dhclient-script, ни и сам файл 'less /sbin/dhclient-script' на предмет
>почему маршрут не добавляется. Я бы попробовал без mpd для начала
>загрузить машину обычным способом

отключил mpd. прописал в рс.конф стат. маршруты. - результат такой же: при загрузке пишет:
route :writing to routing socket: Network is unreachable


"Не добавляется маршрут при старте BSD"
Отправлено Deac , 17-Янв-10 01:31 
...
>сам скрипт:
>#!/bin/sh
>/sbin/route add -net 10.0.0.0/8 10.5.21.1
>
>Кто что посоветует..?

/sbin/./route add -net 10.0.0.0/8 10.5.21.1


"Не добавляется маршрут при старте BSD"
Отправлено Figarooo , 17-Янв-10 01:41 
>...
>>сам скрипт:
>>#!/bin/sh
>>/sbin/route add -net 10.0.0.0/8 10.5.21.1
>>
>>Кто что посоветует..?
>
>/sbin/./route add -net 10.0.0.0/8 10.5.21.1

А можно поподробнее что нам даст точка между слэшами?


"Не добавляется маршрут при старте BSD"
Отправлено Deac , 17-Янв-10 01:44 
>>...
>>>сам скрипт:
>>>#!/bin/sh
>>>/sbin/route add -net 10.0.0.0/8 10.5.21.1
>>>
>>>Кто что посоветует..?
>>
>>/sbin/./route add -net 10.0.0.0/8 10.5.21.1
>
>А можно поподробнее что нам даст точка между слэшами?

Работоспособный скрипт )


"Не добавляется маршрут при старте BSD"
Отправлено Figarooo , 17-Янв-10 02:54 
>[оверквотинг удален]
>>>>#!/bin/sh
>>>>/sbin/route add -net 10.0.0.0/8 10.5.21.1
>>>>
>>>>Кто что посоветует..?
>>>
>>>/sbin/./route add -net 10.0.0.0/8 10.5.21.1
>>
>>А можно поподробнее что нам даст точка между слэшами?
>
>Работоспособный скрипт )

Ну суть того, что меняется мне не понятно..)) разобраться самому трудно.
Попробовал довавить точку ничего не поменялось.

Кстати забыл ещё указать что: права на выпонение для скриптов выдать не забыл)) "755"


ЕСТЬ ОДИН ВАЖНЫЙ нюансик:
На данный момент при загрузке mpd стартует, но не поднимает пппое соединение и в итоге скрипт естетственно тоже не запускается... но если остановить,а потом запустить демон мпд, то всё начинает работать включая нужный мне маршрут.

причём хочу ещё заметить.. при использовании UP-скрипта стандартный параметры set iface route default; set ipcp ranges 0.0.0.0/0.0.0.0.0/0 перестают работать и поэтому скрипт выглядит так:
#!/bin/sh
/sbin/route add -net 10.0.0.0/8 10.5.21.1
/sbin/route del default
/sbin/route add default ng0


"Не добавляется маршрут при старте BSD"
Отправлено Figarooo , 21-Янв-10 21:16 
ПРОБЛЕМА РЕШЕНА.
Виной моя невнимательность.. при запуске бзди.. один из интерфейсов получает айпишник по dhcp. интерфейс не успевает получить настройки до того как начинает работать перечень запуска маршрутов рс.конф, или скрипт мпд.
Решение простое, пришлось прописать все настройки вручную.. ибо как так прописать чтоб при запуске интерфейс дожидался настроек, так и не нашёл и не додумался.