Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

роутинг

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Пн Окт 24 2005 15:26    Заголовок сообщения: роутинг Ответить с цитатой

Есть две подсети(192.168.0.0 и *.*.1.0) и роутер с двумя сетевайками
192.168.0.254 и 192.168.1.254

Мучаюсь с заданием маршрутов, надоело ручками выставлять,
доками зачитался Sad
как я понял, есть такой файлик
\etc\sysconfig\network-scripts\ifup-routes
судя по всему, это скрипт, который выполняется при загрузке системы и задаёт маршруты, открываем
Код:
#! /bin/bash
#
# adds static routes which go through device $1
if [ -z "$1" ]; then
    echo $"usage: ifup-routes <net-device>"
    exit 1
fi

# Older format
if [ -f "/etc/sysconfig/network-scripts/route-$1" ]; then
 while read line; do
    /sbin/ip route add $line
 done < "/etc/sysconfig/network-scripts/route-$1"
fi

if [ -n "$2" -a "$2" != "$1" ]; then
  if [ -f "/etc/sysconfig/network-scripts/route-$2" ]; then
    while read line; do
      /sbin/ip route add $line
    done < "/etc/sysconfig/network-scripts/route-$2"
  fi
fi

# Red Hat network configuration format

CONFIG="/etc/sysconfig/networking/devices/$1.route"
[ -f $CONFIG ] || CONFIG="/etc/sysconfig/networking/devices/$2.route"
[ -f $CONFIG ] || exit 0

. $CONFIG

routenum=0
while [ "x$(eval echo '$'ADDRESS$routenum)x" != "xx" ]; do
    eval `ipcalc -p $(eval echo '$'ADDRESS$routenum) $(eval echo '$'NETMASK$routenum)`
    line="$(eval echo '$'ADDRESS$routenum)/$PREFIX"
    if [ "x$(eval echo '$'GATEWAY$routenum)x" != "xx" ]; then
   line="$line via $(eval echo '$'GATEWAY$routenum)"
    fi
    line="$line dev $1"
    /sbin/ip route add $line
    routenum=$(($routenum+1))
done

зачем нам старый формат Smile
Код:
CONFIG="/etc/sysconfig/networking/devices/$1.route"
[ -f $CONFIG ] || CONFIG="/etc/sysconfig/networking/devices/$2.route"
[ -f $CONFIG ] || exit 0

судя по всему, $1 - это парамет передаваемый в скрипт
тут открываются файлы eth0.route и eth1.route в дирректории
/etc/sysconfig/networking/devices/
Код:
while [ "x$(eval echo '$'ADDRESS$routenum)x" != "xx" ]; do
    eval `ipcalc -p $(eval echo '$'ADDRESS$routenum) $(eval echo '$'NETMASK$routenum)`
    line="$(eval echo '$'ADDRESS$routenum)/$PREFIX"
    if [ "x$(eval echo '$'GATEWAY$routenum)x" != "xx" ]; then
   line="$line via $(eval echo '$'GATEWAY$routenum)"
    fi

а здесть кажется ищются строки
ADDRESS
NETMASK
GETWAY

я предположил, что нужно создать файлики eth0.route и eth1.route в дирректории /etc/sysconfig/networking/devices/
с сожержанием типа
eth0.route
ADDRESS=192.168.0.0
NETMASK=255.255.255.0
GETWAY=192.168.0.254
и аналогичный
eth1.route
Создал, перезагрузил
Код:
[root@dimasm-getway root]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
[root@dimasm-getway root]#

блин, ладно, воспользуемя "старым форматом
Код:
if [ -n "$2" -a "$2" != "$1" ]; then
  if [ -f "/etc/sysconfig/network-scripts/route-$2" ]; then
    while read line; do
      /sbin/ip route add $line
    done < "/etc/sysconfig/network-scripts/route-$2"
  fi
fi

тут файлики другие route-eth0, route-eth1
и строка как параметр для ip route add
у меня получалось добавлять маршруты такой командой

ip route add 192.168.0.0/24 via 192.168.0.254 dev eth0

делаю файлы с таким содержанием
192.168.0.0/24 via 192.168.0.254 dev eth0
для eth1 аналогично.
перезагружаю - никаких изменений Sad
Код:
[root@dimasm-getway root]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo
[root@dimasm-getway root]#

Что я делаю не так?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пн Окт 24 2005 20:29    Заголовок сообщения: Ответить с цитатой

Версия дистрибутива какая?

Если это военная тайна, то пропиши команды в /etc/rc.d/rc.local
Последними строчками.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Пн Окт 24 2005 21:21    Заголовок сообщения: Ответить с цитатой

and3008 писал(а):
Версия дистрибутива какая?

извиняюсь, вылетело из головы. RH Linux 9.0
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Пн Окт 24 2005 22:04    Заголовок сообщения: Ответить с цитатой

/usr/share/doc/initscripts

Там 3 файла. Поищи в них static-routes
Узнаешь на фига он нужен и где должен лежать

/etc/rc.d/init.d/network опять поищи static-routes.
Узнаешь как он работает.

Не поймешь - расскажу по пунктам.

Да, еще. Не знаю, починили ли это в RH 9.0, а в 7.3 была небольшая лажа с этим static-routes. Либо сам разберешься, либо опять спроси.
Вижу, что в скриптах ты разбираешься, можешь сам дойти.
Ну не дойдешь - помогу.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Вт Окт 25 2005 21:48    Заголовок сообщения: Ответить с цитатой

блин, полтергейст какой-то
в /etc/rc.d/init.d/network нашёл третий вариант установки маршрутов по дефолту
Код:
   # Add non interface-specific static-routes.
   if [ -f /etc/sysconfig/static-routes ]; then
      grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
              /sbin/route add -$args
      done
   fi   

создал файл
/etc/sysconfig/static-routes
net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.254 dev eth0
net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1

всё по прожнему
Код:
[root@dimasm-getway root]# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     0      0        0 eth1
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth1
127.0.0.0       *               255.0.0.0       U     0      0        0 lo

уже есть
/etc/sysconfig/networking/devices/eth0.route
/etc/sysconfig/networking/devices/eth1.route
также есть
/etc/sysconfig/network-scripts/route-eth0
/etc/sysconfig/network-scripts/route-eth1
и
/etc/sysconfig/static-routes
ничего не изменяется Sad
что я делаю не так? Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
gooamoko



Зарегистрирован: 26.12.2003
Сообщения: 98

СообщениеДобавлено: Ср Окт 26 2005 09:12    Заголовок сообщения: Ответить с цитатой

Что-то я не понял суть конфигурации маршрутизатора...
Насколько известно из условия, есть маршрутизатор, который соединяет две вети. Так?
eth1 - интерфейс, который смотрит в 1-ю сеть
eth0 - интерфейс, который смотрит в 0-ю. Так?
Оба интерфейса имеют адрес 254 в своей подсети.
По умолчанию, имеется именно такая настройка таблиц, которую вы указали:
Цитата:

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo


Теперь вопрос: Зачем прописывать маршруты, которые уже есть по умолчанию?
Цитата:

net 192.168.0.0 netmask 255.255.255.0 gw 192.168.0.254 dev eth0
net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.254 dev eth1

Ведь они есть же стандартно? Или я что-то не понимаю?
В таблице маршрутизации, которая была приведена выше - подозрительной является, на мой взгляд, только строка
Цитата:

169.254.0.0 * 255.255.0.0 U 0 0 0 eth1

Которая вполне могла появиться по вине сетевой карты интерфейса eth1. У меня было такое с одной карточкой AT2500.
Насколько я понимаю, если требуется сделать доступным обмен данными между 1-й и 0-й подсетями - надо в клиентские машины вписать адрес основного шлюза 192.168.1.254 и 192.168.0.254 соответственно.[/quote]
_________________
Что один сделал, другой завсегда сломать сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Dimasm



Зарегистрирован: 25.04.2005
Сообщения: 454

СообщениеДобавлено: Ср Окт 26 2005 10:44    Заголовок сообщения: Ответить с цитатой

gooamoko писал(а):
Теперь вопрос: Зачем прописывать маршруты, которые уже есть по умолчанию?

как я понимаю, для каждой подсети должны быть указанны getway,
по умолчанию их нет Sad

смысл был втом, чтобы разобраться, как правильно настроить маршруты по умолчанию такие как нужно и с getway, а не как решит система.

пока решаю этот вопрос дополнительным скриптом Sad

кстати, а какой аргумент надо для "route" или "ip route" чтобы удалить все маршруты, разом?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
gooamoko



Зарегистрирован: 26.12.2003
Сообщения: 98

СообщениеДобавлено: Вт Ноя 01 2005 04:30    Заголовок сообщения: Ответить с цитатой

Цитата:
смысл был втом, чтобы разобраться, как правильно настроить маршруты по умолчанию такие как нужно и с getway, а не как решит система.

Это понятно. Но когда все сетки сосредоточены вокруг одного маршрутизатора - шлюзы прописывать надо только у клиентов.

У нас на предприятии - структура посложнее, потому на каждом маршрутизаторе окромя "своих" подсетей есть записи о других подсетях. Например, у тебя если есть в 0-й подсети компьютер с IP 192.168.0.100, который имеет два интерфейса и второй его интерфейс смотрит в 5-ю подсеть, то тогда надо на клиентах 0-й сети явно указывать через какой маршрутизатор в какую сеть направляется траффик.
На клиентах 1-й надо указать только шлюз по умолчанию, а на самом шлюзе - добавить запись для маршрутизатора 5-й сети.
_________________
Что один сделал, другой завсегда сломать сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...