Навигация
Системное Администрирование Решения на открытых кодах Структура сети Компьютерные сети малых предприятий Сеть с централизованным управлением Управление с помощью групповых политик Организация почтового обслуживания Взаимодействие с глобальной сетью Безопасность Виртуализация Парядок настройки и определения неисправностей Средства управления системами Автоматизация установки программного обестичения Решение проблем с компьютером Разное
 
 
Избранное
Pathping. Traceroute на стероидах.
FreeNAS: создаём сетевое хранилище (NAS)
Iperf - утилита для тестирования пропускной способности сети.
Средство против «сетевой слепоты»
Преимущества и недостатки RAID 6
Дисковые массивы RAID
Надежнее, чем RAID 5
Унификация корпоративных коммуникаций
Exchange и SAN: не все так просто
Cisco против Meru
 
 
Решения на открытых кодах » Linux - Маршрутизация. Что и как.

Правила маршрутизации определяют, куда отправлять IP-пакеты. Данные маршрутизации хранятся в одной из таблиц ядра. Вести таблицы маршрутизации можно статически или динамически. Статический маршрут — это маршрут, который задается явно с помощью команды route. Динамическая маршрутизация выполняется процессом-демоном (routed или gated), который ведет и модифицирует таблицу маршрутизации на основе сообщений от других компьютеров сети. Для выполнения динамической маршрутизации разработаны специальные протоколы: RIP, OSPF, IGRP, EGP, BGP и т. д.


Динамическая маршрутизация необходима в том случае, если у вас сложная, постоянно меняющаяся структура сети и одна и та же машина может быть доступна по различным интерфейсам (например, через разные Ethernet или SLIP интерфейсы). Маршруты, заданные статически, обычно не меняются, даже если используется динамическая маршрутизация.


Для персонального компьютера, подключаемого к локальной сети, в большинстве ситуаций бывает достаточно статической маршрутизации командой route. Прежде чем пытаться настраивать маршруты, просмотрите таблицу маршрутизации ядра с помощью команды netstat -n -r. Вы должны увидеть что-то вроде следующего:



rigon@ubuntu-comp:~$ netstat -n -r

Таблица маршутизации ядра протокола IP

Destination Gateway Genmask Flags MSS Window irtt Iface

192.168.254.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

192.168.254.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1

0.0.0.0 192.168.254.1 0.0.0.0 UG 0 0 0 eth0

0.0.0.0 192.168.254.1 0.0.0.0 UG 0 0 0 eth1


Если таблица пуста, то вы увидите только заголовки столбцов. Тогда надо использовать route. С помощью команды route можно добавить или удалить один (за один раз) статический маршрут. Вот ее формат:


route [-f] операция [-тип] адресат шлюз [dev] интерфейс


Здесь аргумент операция может принимать одно из двух значений: add (маршрут добавляется) или delete (маршрут удаляется). Аргумент адресат может быть IP-адресом машины, IP-адресом сети или ключевым словом default . Аргумент шлюз — это IP-адрес компьютера, на который следует пересылать пакет (этот компьютер должен иметь прямую связь с вашим компьютером). Команда


route -f


удаляет из таблицы данные обо всех шлюзах. Необязательный аргумент тип принимает значения net или host . В первом случае в поле адресата указывается адрес сети, а во втором — адрес конкретного компьютера (хоста).

Как правило, бывает необходимо настроить маршрутизацию по упоминавшимся выше трем интерфейсам:



  • локальный интерфейс (lo),

  • интерфейс для платы Ethetnet (eth0),

  • интерфейс для последовательного порта (PPP или SLIP).


Локальный интерфейс поддерживает сеть с IP-номером 127.0.0.1. Поэтому для маршрутизации пакетов с адресом 127.... используется команда:

route add -net 127.0.0.1 lo

Если у вас для связи с локальной сетью используется одна плата Ethernet, и все машины находятся в этой сети (сетевая маска 255.255.255.0), то для настройки маршрутизации достаточно вызвать:

route add -net 192.168.36.0 netmask 255.255.255.0 eth0


Если же вы имеете насколько интерфейсов, то вам надо определиться с сетевой маской и вызвать команду route для каждого интерфейса.


Поскольку очень часто IP-пакеты с вашего компьютера могут отправляться не в одну единственную сеть, а в разные сети (например, при просмотре разных сайтов в Интернете), то в принципе надо было бы задать очень много маршрутов. Очевидно, что сделать это было бы очень сложно, точнее просто невозможно. Поэтому решение проблемы маршрутизации пакетов перекладывают на плечи специальных компьютеров — маршрутизаторов, а на обычных компьютерах задают маршрут по умолчанию, который используется для отправки всех пакетов, не указанных явно в таблице маршрутизации. С помощью маршрута по умолчанию вы говорите ядру "а все остальное отправляй туда". Маршрут по умолчанию настраивается следующей командой:



route add default gw 192.168.1.1 eth0


Опция gw указывает программе route, что следующий аргумент - это IP-адрес или имя маршрутизатора, на который надо отправлять все пакеты, соответствующие этой строке таблицы маршрутизации.


Вот немного теории с сайта linuxcenter.ru


А теперь пример из жизни

Имеются следующие интерфейсы /etc/network/interface

auto lo

iface lo inet loopback auto eth0

iface eth0 inet static

address 192.168.17.8

hwaddress ether 00:E0:4C:A2:C4:48

netmask 255.255.255.0

broadcast 192.168.17.255 auto eth1

iface eth1 inet static

address 192.168.254.2

netmask 255.255.255.0

gateway 192.168.254.1

broadcast 192.168.254.255


Интерфейс eth0 это связь с локальной сетью состоящей из 20 подсетей 192.168.1.х-192.168.20.x

Интерфейс eth1 это связь с ADSL модемом с выходом в интернет. Так большинство запросов идут в Инет на этом интерфейсе прописываем шлюз (gateway 192.168.254.1) данный параметр указывает в системе шлюз по-умолчанию, обращаю внимание, что шлюз надо прописывать только на одном интерфейсе, иначе в системе появятся 2 маршрута по умолчанию и естно будет затупление в работе. С интернетом разобрались.Но требуется еще просматривать ресурсы локальной сети для этого надо выполнить вот эти команды:

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.17.254 eth0

route add -net 192.168.12.0 netmask 255.255.255.0 gw 192.168.17.254 eth0

route add -net 192.168.21.0 netmask 255.255.255.0 gw 192.168.17.254 eth0


На этом примере маршрутизируются 3 подсети

Все эти команды и многие другие можно прописать в файлк /etc/interface в итоге получится следующее:


auto lo

iface lo inet loopbackauto eth0

iface eth0 inet static

address 192.168.17.8

hwaddress ether 00:E0:4C:A2:C4:48

netmask 255.255.255.0

broadcast 192.168.17.255

up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.17.254 eth0

up route add -net 192.168.12.0 netmask 255.255.255.0 gw 192.168.17.254 eth0

up route add -net 192.168.21.0 netmask 255.255.255.0 gw 192.168.17.254 eth0auto eth1

iface eth1 inet static

address 192.168.254.2

netmask 255.255.255.0

gateway 192.168.254.1

broadcast 192.168.254.255


Ну вот и все по аналогии настраиваются любое кол-во маршрутов и сетевых интерфейсов.


Автор: RigoN

Взято форума Ubuntu






 
 
 
 
Поиск по сайту
Google Поиск


Яндекс поиск
 
 
Полезное
 
 
 
 
 
systemzone.ru 2014