Расписать роутинг в /etc/conf.d/net
neroot 16 сентября, 2008 - 14:35
Доброго времени суток!
Есть у меня два провайдера. Причем один надежный, eth1, default gw, а второй eth2 так себе,
но на нем немного халявы для офисных работников.
Хочу распределить роутинг между ними.
В /etc/conf.d/net пишу на первый интерфейс
routes_eth1=("a.b.c.d via *шлюз второго провайдера*")
routes_eth2=("a.b.c.d via *шлюз второго провайдера*")
потом запускаю команду route, так чудесным образом не вижу строчек маршрутизации.
Что характерно: если пускать скриптом вида
route add -net a.b.c.d/x gw *шлюз второго провайдера*
То все работает...
Вопрос1: как правильно рисовать роутинг в net?
Вопрос2: не понял, где и как оформляется перекрытие функции postup (мысль при перекрытии застартовать свой скрипт)?
»
- Для комментирования войдите или зарегистрируйтесь
Ответ1: cat
Ответ1: cat /etc/conf.d/net.example
Неужели по
Неужели по характеру вопроса не видно, что прочтено и не раз?
Или Вы не удосужились прочесть вопрос полностью?
Или проще всего послать в "man google"?
---
Делай, что должен, и будь, что будет.
Ну почему не
Ну почему не прочел? Я ответил на вопрос1. У меня все работает нормально. Видимо что-то не дочитали.
а так обламает
а так обламывает хоть подсказать в каком направление двигаться человку? переломиться боитесь?
Если не секрет,
Если не секрет, что именно "работает"?
Сравним листинги net?
(я не отрицаю факта возможности орфографической ошибки)
Приведите, плз, Ваш пример принудительного роутинга.
---
Делай, что должен, и будь, что будет.
Ну давайте
Ну давайте только не будем на понт брать.
Первое: Зачем указывать роутинги дефолтового гв?
config_eth0=( "10.1.4.26 netmask 255.255.0.0" )
routes_eth0=(
"10.0.0.0/8 via 10.1.0.2"
"80.70.228.0/22 via 10.1.0.2"
"80.70.232.0/22 via 10.1.0.2"
"80.70.237.0/24 via 10.1.0.2"
"80.70.238.0/23 via 10.1.0.2"
"80.70.225.99/32 via 10.1.0.2"
"80.70.225.100/31 via 10.1.0.2"
"80.70.224.5/32 via 10.1.0.2"
)
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
80.70.225.99 10.1.0.2 255.255.255.255 UGH 0 0 0 eth0
80.70.224.5 10.1.0.2 255.255.255.255 UGH 0 0 0 eth0
80.70.225.100 10.1.0.2 255.255.255.254 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
195.131.217.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
80.70.237.0 10.1.0.2 255.255.255.0 UG 0 0 0 eth0
80.70.238.0 10.1.0.2 255.255.254.0 UG 0 0 0 eth0
80.70.228.0 10.1.0.2 255.255.252.0 UG 0 0 0 eth0
80.70.232.0 10.1.0.2 255.255.252.0 UG 0 0 0 eth0
10.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
10.0.0.0 10.1.0.2 255.0.0.0 UG 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 195.131.217.ххх 0.0.0.0 UG 0 0 0 eth1
Мне просто не хотелось лезть на сервер, чтобы посмотреть вывод, уж извините.
На понт друг
На понт друг друга не берем, но и за мальчиков не считаем, ок? :)
Сравниваем с моим:
### LAN
config_eth0=("192.168.0.1 netmask 255.255.255.0")
### Основной провайдер
config_eth1=("1.2.3.4 netmask 255.255.255.252")
routes_eth1=("default via 1.2.3.5")
### Дополнительный провайдер
config_eth2=("dhcp")
dhcp_eth2="release nodns nontp nonis nogateway"
routes_eth2=(
"add net1/19 via Айпи_шлюза_прова_2"
"add net2/20 Айпи_шлюза_прова_2"
"add net3/23 Айпи_шлюза_прова_2"
)
При таком конфиге далаю
/etc/init.d/net.eth1 restart
/etc/init.d/net.eth2 restart
И в выводе роута только! шлюз по умолчанию. :(
---
Делай, что должен, и будь, что будет.
сорри
а здесь add нужен?
# Here's how to do routing if you need it
routes_eth0=(
"10.0.0.0/8 via 192.168.0.1" # IPv4 subnet route
)
Покажите мне
Покажите мне строчку, где там написано add? [-:
Поэтому и сказал, курить net.example до посинения.
Да,
Да, действительно, ошибся.
Поправил.
Проблема остается.
---
Делай, что должен, и будь, что будет.
neroot
Интересно где ты такое вычитал?
У меня
routes_eth0=( "default gw IP.ADD.RESS.ШЛЮЗА" )
--
Live free or die
Например, 104
Например, 104 строка текущего net.example:
#Here's how to do routing if you need it
#routes_eth0=(
# "default via 192.168.0.1" # IPv4 default route
# "10.0.0.0/8 via 192.168.0.1" # IPv4 subnet route
# "::/0" # IPv6 unicast
#)
С другой стороны, где указания на то, что routes_xxx
служит только для указания шлюза?
- вот на этом предположении и построены мои размышления. :)
---
Делай, что должен, и будь, что будет.
А gw это iproute2 afaik.
А gw это iproute2 afaik.
а разве скобки
а разве скобки в конфигах не депрекатед для нового baselayout?
* кстати, "новый" net.example теперь живёт где-то в /usr/share/
Без скобок
Без скобок ругается (да и как иначе обьединять несколько обьектов?), поиск по /usr/share *net.example* выдал ноль.
---
Делай, что должен, и будь, что будет.
у меня
у меня несколько другая структура роутинга, но ни на что не ругается =)
вот:
одна сетевуха смотри в инет через роутер,
другая получает по DHCP ip для IPTV
как видишь роутинг прописан без скобок для вдух диапозонов, таким образом, что бы система знала,
что всё что предназначено для этих диапозонов должно идти через эту сетевуху...
* когда обновлял baselayout + openrc отловил запись о том, что net.example попал куда-то в /usr/share
-- сейчас искать безтолку, потому как я его перенёс на привычное место и с тех пор в /etc/make.conf у меня прописаны фьючерсы
"noman nodoc noinfo"
Спасибо, сейчас
Спасибо, сейчас попробую этот метод...
---
Делай, что должен, и будь, что будет.
а ты уверен что
а ты уверен что у него новый baselayout ?
неа, не уверен =)
неа, не уверен =)
скажи, а что у
скажи, а что у тебя про роутинг есть в системе?
ничего не наколдовал страшного с ядром?
iproute2 стоит?
и что у тебя за путаница с именами устройств?
то у тебя eth0 и eth1,
а потом уже роутинг пишешь для eth2
...
ты уж определись...
кстати, что скрывается под a.b.c.d?
нет ли там случайно зарезервированого диапазона 169.254.0.0?
Смотри выше,
Смотри выше, проблема уже решена, просто автор не знает об этом [-:
В ядре ничего
В ядре ничего страшного. :)
Как доказательство - работают конструкции вида route add -net.
iproute2 стоит.
Путаницы с устройствами нет - eth0 в локалку, eth1 первый, основной пров, eth2 - второй пров.
И даже работает source-based routing. :)
Предполагая следующий вопрос отвечу: естественно, все эксперименты с записями net провожу при выключенных скриптах.
---
Делай, что должен, и будь, что будет.
Кстати,
Кстати, фейковый диапазон 169.254 есть,
появляется при получении адреса от второго провайдера по dhcp.
Но, сорри, каким образом это относится к строчкам роутинга?
---
Делай, что должен, и будь, что будет.
это не "фейковы
это не "фейковы диапазон" это диапазон адресов для "самонастройки" сети - комп видя что настроек нет и DHCP не отвечает делает arp-запрос на произвольный адрес из этого диапазона и если никто не ответил присвает его себе. DHCP не должен выдавать ипы из этого диапазона - если не так - оторвать руки админу, всёравно они растут оттудаже откуда и ноги.
Разве слова
Разве слова фейк и самозаглушка не родственны по смыслу?
Если различны - посыпаю голову пеплом.
---
Делай, что должен, и будь, что будет.
загляни в
загляни в /etc/networks
возможно тебя спасёт исключение строки link-local 169.254.0.0,
но провайдеру однозначно нужно по рукам дать
* была уже тема похожая, а может и не однократно,
всё упиралось именно в этот диапозон
можно кстати попробовать добавить в /etc/conf.d/net что-то вроде:
dhcp_eth1="nogateway nodns nontp nonis nosendhost"
и прописать роутинг и DNS ручками
блин! это не
блин! это не "фейк" "самозаглушка" или ещё чтонибудь в таком-же духе. это специально выделенный диапазон для самоорганизации компов в сеть http://ru.wikipedia.org/wiki/Zeroconf