Saturday, September 23rd, 2017

Настройка маршрутизации в Ubuntu Linux, для начинающих

Published on Март 30, 2009 by   ·   Комментариев нет

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

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

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

           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 операция -тип адресат шлюз интерфейс

Здесь аргумент операция может принимать одно из двух значений: 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-пакеты с вашего компьютера могут отправляться
не в одну единственную сеть, а в разные сети (например, при просмотре
разных сайтов в Интернете), то в принципе надо было бы задать очень
много маршрутов. Очевидно, что сделать это было бы очень сложно,
точнее просто невозможно. Поэтому решение проблемы маршрутизации
пакетов перекладывают на плечи специальных компьютеров —
маршрутизаторов, а на обычных компьютерах задают маршрут по умолчанию,
который используется для отправки всех пакетов, не указанных явно в
таблице маршрутизации. С помощью маршрута по умолчанию вы говорите
ядру «а все остальное отправляй туда». Маршрут по умолчанию
настраивается следующей командой:

Fat Loss Program For Men. An Overview On Customized Fat Loss by Kyle Leon e-Book read more
      route add default gw 192.168.1.1 eth0

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

А теперь пример из жизни
Имеются следующие интерфейсы /etc/network/interfaces

           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.х

Интерфейс 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/network/interfaces в итоге получится следующее:

    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
           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 eth0
           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

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

Дополнение 1.

Обратите внимание

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

так легко можно изменить MAC, не забываем после редактирования файла
делать рестарт

   sudo /etc/init.d/networking restart

Дополнение 2.

Следует отметить, что:
1) Для того, чтобы просмотреть таблицу маршрутов достаточно запуска
команды route без параметров или route -n, если в сети нет DNS.
2) Маска может быть записана проще, в виде /x, где x — число единичных
битов, например:

  route add -net 192.168.36.0/24 eth0

вместо

  route add -net 192.168.36.0 netmask 255.255.255.0 eth0

Настройки сети размещаются в файле /etc/network/interfaces
При подключение к Inet через VPN (ppp0…), необходимо заменять
маршрут по умолчанию на ppp0.

А проще указать в файле /etc/ppp/options следующее:

           defaultroute
           replacedefaultroute

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

Дополнение 3.

Есть прога, серверная часть которой стоит во внутренней сети, например
Radmin Server, чтобы к нему подключиться клиентская прога (Radmin
Viewer) запрашивает соединение по порту 4799 (например). Все работает
внутри локальной сети. Есть шлюз (с внешним IP), через который
обеспечивает доступ в и-нет всех компов внутренней сети. Теперь
вопрос, как настроить шлюз, чтобы при обращении из вне клиентсокой
частью к IP шлюза по порту 4799, он пробрасывал этот запрос дальше,
например на 192.168.0.2 по томуже порту?

Для этого есть команда iptables:

        iptables -t nat -D PREROUTING -i <интерфейс>  -s <IP откуда будет коннект>
           -p tcp --dport 4899 -j DNAT --to-destination 192.168.0.2:4899

Если ограничивать входящие IP не требуется, то опцию -s можно
опустить.
Пример:

        iptables -t nat -D PREROUTING -i vlan1  -s 213.87.34.20/24 -p tcp
            --dport 4899 -j DNAT --to-destination 192.168.128.24:4899

        iptables -t nat -A PREROUTING -i eth0 -p udp --dport 3658 -j DNAT
            --to-destination 192.168.0.2:3658
zp8497586rq












































































Смотрите также:

Readers Comments (Комментариев нет)

Comments are closed.

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]