Таблица ip-маршрутизации

Способы просмотра таблицы маршрутизации в Линукс

Для просмотра таблицы в ОС Линукс можно использовать команду:

Как видно из скриншота выше, команда показала всего две записи. В первой записи указан шлюз (gateway) 192.168.168.254, вторая запись говорит о наличии доступа в подсеть 192.168.168.0 на интерфейсе eth0.

Другой способ вывести информацию о статических маршрутов — использовать команду «route», однако, как правило утилита просит права супер пользователя, поэтому предварительно введем «su-«.

Бывает, выводимых данных route и netstat недостаточно, так как в них выводится легкая информация, ее не хватает для понимания всей картины. Чтобы получить более подробную таблицу, можно воспользоваться утилитой «routel».

В этой информации содержится:

  • target (цель) — IP-адрес.
  •  gateway — адрес шлюза.
  • source — адрес отправителя.
  • dev — интерфейс.

Наиболее подходящий метод для просмотра таблицы маршрутизации в ОС Линукс – использовать утилиту «ip».

Подробней про «ip» можно посмотреть в другой статье: https://www.vseprolinux.ru/komanda-ip

Здесь:

  • default – IP-адрес по умолчанию.
  • via 192.168.168.254 — адрес шлюза, куда будут отправлять пакеты по умолчанию.
  • dev eth0 — интерфейс сети, за счёт него открывается доступ к шлюзу.
  • proto kernel — обозначает, что маршрут устанавливался ядром, если static, то установка выполняется администратором.

Динамическая маршрутизация, протокол RIP

Протокол RIP (Routing Information Protocol или Протокол передачи маршрутной информации) является одним из самых распространенных протоколов динамической маршрутизации.

Его суть заключается в том, что маршрутизатор использующий RIP передает во все подключенные к нему сети содержимое своей таблицы маршрутизации и получает от соседних маршрутизаторов их таблицы.

Есть две версии протокола RIP. Версия 1 не поддерживает маски, поэтому между сетями распространяется только информация о сетях и расстояниях до них. При этом для корректной работы RIP на всех интерфейсах всех маршрутизаторов составной сети должна быть задана одна и та же маска.

Протокол RIP полностью поддерживается только серверной операционной системой, тогда как клиентская операционная система (например, Windows XP) поддерживает только прием маршрутной информации от других маршрутизаторов сети, а сама передавать маршрутную информацию не может.

Настраивать RIP можно двумя способами:

  • В графическом режиме с помощью оснастки “Маршрутизация и удаленный доступ”.
  • В режиме командной строки с помощью утилиты netsh.

Рассмотрим настройку в режиме командной строки с помощью утилиты netsh.

Netsh – это утилита командной строки и средство выполнения сценариев для сетевых компонентов операционных систем семейства Windows (начиная с Windows 2000).

Введите в командной строке команду netsh, после появления netsh> введите знак вопроса и нажмите Enter, появиться справка по команде.

Введите последовательно команды:

  1. routing
  2. Ip
  3. rip
  4. ?

Вы увидите, что среди доступных команд этого контекста есть команда add interface, позволяющая настроить RIP на заданном интерфейсе. Простейший вариант этой команды – add interface «Имя интерфейса».

Если ввести в Windows XP в контексте команду , то получим сообщение «RIP должен быть установлен первым». Дело в том, что Установить RIP можно только в серверной операционной системе. В Windows Server 2003 в RIP включается в оснастке «Маршрутизация и удаленный доступ» (Пуск –> Программы –> Администрирование –> Маршрутизация и удаленный доступ). Таким образом, включить RIP в нашем случае можно только на маршрутизаторах Server1 и Server2.

Настроим RIP на Server1. Но сначала нужно выключит брандмауэр.

Теперь в оснастке «Маршрутизация и удаленный доступ» в контекстном меню пункта SERVER1 (локально) выберите пункт «Настроить и включить Маршрутизация ЛВСмаршрутизацию и удаленный доступ».

В появившемся окне мастера нажмите «Далее».

На следующем этапе выберите «Особая конфигурация» и нажмите «Далее».

После чего нужно выбрать «Маршрутизация ЛВС» и завершить работу мастера.

То же самое нужно выполнить на Server2.

Статический маршрут в Windows — как прописать? Примеры использования утилиты route

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

Предлагаю ознакомиться с предложениями моих партнёров

Статический маршрут — это заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути — явно указанный путь, по которому должен пройти пакет из пункта A в пункт B.

Синтаксис и основные ключи утилиты route

Поподробней о команде route.

Общий синтаксис route:

route

Основные ключи route:

  • -f — удаляет из таблицы маршрутизации все маршруты;
  • -p – сохраняет маршрут на постоянную основу;
  • add – добавляет новый маршрут;
  • change — меняет текущий маршрут в таблице маршрутизации;
  • delete — удаляет маршрут из таблицы маршрутизации;
  • print — отображает содержимое таблицы маршрутизации;
  • destination — при добавлении или изменении маршрута этот параметр используется для указания идентификатора сети назначения;
  • mask — при добавлении или изменении маршрута этот параметр используется для указания маски подсети для сети назначения;
  • gateway — при добавлении или изменении нового маршрута этот параметр используется для указания шлюза (маршрутизатора или модема);
  • metric — используется для указания целого числа в диапазоне от 1 до 9999, являющегося метрикой стоимости для маршрута. Если для определенной сети назначения существует несколько возможных маршрутов, будет использован маршрут с наименьшим значением метрики;
  • if — используется для указания номера индекса интерфейса, который подключен к сети назначения.

Для того чтобы просто посмотреть таблицу маршрутизации у себя на компьютере введите в командную строку следующие:

Думаю Вам интересней, о статическом маршруте на обыкновенном компьютере с операционной системой Windows.

Если у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находится в другой сети, и поэтому недоступен со второго компа.

Примеры использования утилиты route

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

Имеем локальную сеть: 192.168.1.0/24

Локальный IP первого компьютера (пусть он будет компьютер — A) – 192.168.1.2 (на котором присутствует VPN соединение)

Локальный IP второго компьютера (а этот компьютер — B) – 192.168.1.3

IP адрес шлюза т.е. модема – 192.168.1.1

Вам нужно прописать маршрут на компьютере A, чтобы он смог видеть компьютер B при включенном VPN соединении. Делается это следующем образом: запускаем командную строку Пуск->Выполнить->cmd и набираем следующую команду:

route –p add 192.168.1.0 mask 255.255.255.0 192.168.1.1

route – сама программа, которая работает с таблицей маршрутизации;
-p – ключ, который говорит, что маршрут будет постоянный, так как (Важное замечание!) без этого ключа все маршруты, которые Вы добавите удалятся после перезагрузке, поэтому если Вы хотите использовать маршрут всегда, то пропишите этот ключ, если только один раз, то его можно не писать;
add – команда, добавляющая запись в таблицу маршрутизации;
192.168.1.0 – сеть, с которой Вы хотите иметь связь;
mask 255.255.255.0 – маска подсети;
192.168.1.1 – адрес шлюза, обычно это адрес модема.

Добавив всего один маршрут, Вы получите доступ к своей сети при подключенном Интернете, т.е. VPN соединении.

Или у Вас дома подключение к Интернету через модем ADSL но Вам требуется подключение к VPN сети, и соответственно выхода в Интернет через свой канал у Вас уже не будет. Но с помощью статического маршрута можно получить доступ к определенным сайтам (узнав предварительно их ip адреса), к которым Вам бы хотелось иметь постоянный доступ (и при подключенном VPN соединении и не подключенном). Если сайт имеет ip адрес 172.18.24.13, а шлюз имеет IP адрес 192.168.0.1, надо прописать так:

route –p add 172.18.24.13 mask 255.255.255.255 192.168.0.1

Москва. арбат

На циске в Москве у нас два интерфейса, к одному — FE0/0 — уже подключена наша локальная сеть, а второй (FE0/1)мы будем использовать для выхода в интернет и для подключения удалённых офисов.

Как и в самом начале создадим саб-интерфейсы. Выделим для Санкт-Петербурга и Кемерова 4 и 5-й вланы соответственно. IP-адреса берём из нового IP-плана.

msk-arbat-gw1(config)#interface FastEthernet 0/1.4msk-arbat-gw1(config-subif)#description Saint-Petersburgmsk-arbat-gw1(config-subif)#encapsulation dot1Q 4msk-arbat-gw1(config-subif)#ip address 172.16.2.1 255.255.255.252

msk-arbat-gw1(config)#interface FastEthernet 0/1.5msk-arbat-gw1(config-subif)#description Kemerovomsk-arbat-gw1(config-subif)#encapsulation dot1Q 5msk-arbat-gw1(config-subif)#ip address 172.16.2.17 255.255.255.252

Выбор IP-адреса для исходящих соединений

Выбор локального адреса для исходящих соединений в большинстве случаев системой осуществляется автоматически, исходя из имеющихся IP-адресов интерфейсов и таблиц маршрутизации. Во многих случаях сетевые сервисы (веб-сервер, почтовый сервер и др.) позволяют указывать исходный адрес с помощью конфигурационных файлов. Давайте рассмотрим пример. Пусть система имеет два интерфейса eth0(192.168.1.1/24) и eth1(192.168.56.102/24):

# ip addr show
1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
        state UP qlen 1000 link/ether 08:00:27:23:22:97 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0
        inet6 fe80::a00:27ff:fe23:2297/64 scope link
        valid_lft forever preferred_lft forever
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
        state UP qlen 1000 link/ether 08:00:27:fd:e5:aa brd ff:ff:ff:ff:ff:ff
        inet 192.168.56.102/24 brd 192.168.56.255 scope global eth1
        inet6 fe80::a00:27ff:fefd:e5aa/64 scope link
        valid_lft forever preferred_lft forever

Маршрут по умолчанию у данной системы — 192.168.56.1:

# ip route show
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1
192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.102
default via 192.168.56.1 dev eth1

При такой конфигурации для исходящих соединений будет использоваться интерфейс eth1 и IP-адрес 192.168.56.102 (кроме соединений с узлами сети 192.168.1.0/24 — eth0 и IP-адрес 192.168.1.1). Ниже показан дамп сетевого пакета, отправленного командой ping -c 1 192.168.3.4:

# tcpdump -ne -i eth1 host 192.168.3.4
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode  listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
 10:18:18.924084 08:00:27:fd:e5:aa > 0a:00:27:00:00:00, ethertype IPv4 (0x0800),
 length 98: 192.168.56.102 > 192.168.3.4: ICMP echo request, id 960, seq 1, length 64

Однако, если добавить альтернативный маршрут для сети 192.168.3.0/24 через некоторый шлюз 192.168.1.254:

# ip route add 192.168.3.0/24 via 192.168.1.254

то, для пакетов, предназначенных узлу 192.168.3.4, будет использоваться интерфейс eth0 и исходящий адрес 192.168.1.1 (показан дамп сетевого пакета):

# tcpdump -ne -i eth0 host 192.168.3.4
 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
 10:23:33.393706 08:00:27:23:22:97 > 00:00:00:00:00:aa, ethertype IPv4 (0x0800),
 length 98: 192.168.1.1 > 192.168.3.4: ICMP echo request, id 968, seq 1, length 64

Синтаксис команды ip route позволяет повлиять на выбор локального IP-адреса при соединении с удаленными системами. Для этого служит параметр src с указанием предпочитаемого IP-адреса (должен быть установлен на сетевом интерфейсе компьютера) для отправки пакетов на направление, определяемое в команде префиксом маршрутизации. Так, для указанной ниже конфигурации будет использоваться исходящий адрес 192.168.56.102 (кроме взаимодействия с узлами сети 192.168.1.0/24):

# ip addr show eth1
2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
         link/ether 08:00:27:fd:e5:aa brd ff:ff:ff:ff:ff:ff
         inet 192.168.56.102/24 brd 192.168.56.255 scope global eth1
         inet 192.168.1.10/24 brd 192.168.1.255 scope global eth1:1
         inet6 fe80::a00:27ff:fefd:e5aa/64 scope link
         valid_lft forever preferred_lft forever
# ip route show
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.102
default via 192.168.56.1 dev eth1

Для того, чтобы использовать исходный адрес 192.168.1.10 для соединения с узлами сети 192.168.3.0/24 следует использовать команду:

# ip route add 192.168.3.0/24 via 192.168.56.1 src 192.168.1.10 dev eth1:1

Таблица маршрутизации при этом будет иметь вид:

# ip route show
192.168.3.0/24 via 192.168.56.1 dev eth1 src 192.168.1.10
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
192.168.56.0/24 dev eth1 proto kernel scope link src 192.168.56.102
default via 192.168.56.1 dev eth1

Как прописать статический маршрут? И зачем он нужен?

В данной статье мы рассмотрим, что такое статический маршрут и зачем его вообще прописывать. Мы будем использовать так называемые «руты» или другими словами будем прописывать маршруты с помощью команды route add в командной строке Windows.

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

Для начала пару определений:

Статическая маршрутизация — вид маршрутизации, при котором маршруты указываются в явном виде при конфигурации маршрутизатора. Вся маршрутизация при этом происходит без участия каких-либо протоколов маршрутизации.

Статический маршрут — представляет собой заданный администратором маршрут, который заставляет пакеты, перемещающиеся между источником и адресатом, отправляться по указанному пути. Другими словами — это явно указанный путь, по которому должен пройти пакет из пункта А в пункт Б.

В этой статье мы с Вами говорим, о статическом маршруте на обыкновенном компьютере с операционной системой Windows. Для чего же нам нужно уметь прописывать статические маршруты? спросите Вы, сейчас попробую объяснить, где это знание Вам может пригодиться.

Сейчас очень распространено для безопасности использовать «Виртуальные частные сети» (VPN). VPN используют как в организациях, для организации своей защищенной сети, так и провайдеры, для предоставления доступа, к глобальной сети Интернет, простым пользователям. Но, так или иначе, это иногда вызывает небольшие неудобства, как в организациях, так и у обычных пользователей.

Например, у Вас дома два компьютера, один из которых имеет доступ в Интернет по средствам VPN, также он соединен со вторым компьютером локальной сетью, и каждый раз, когда он подключается к Интернету, то связь между двумя компьютерами теряется, так как первый компьютер (который подключился к VPN) уже находится в другой сети, и поэтому недоступен со второго компа.

Это можно исправить как раз с помощью статического маршрута. Или другой случай, пригодится сисадминам, (пример из жизни) есть организация, у которой имеются небольшие удаленные офисы, связь с которыми идет по средствам OpenVPN. Был случай, когда мне пришлось узнать внешние ip адреса у этих удаленных офисов, я подключался к компьютеру по VPN сети и соответственно не мог узнать внешний ip, так как он мне бы показал внешний ip нашего VPN соединения. В итоге я просто на всего прописал один статический маршрут на удаленном компьютере, с помощью которого и попал на нужный мне сайт (который показывал внешний ip) и все. Есть, конечно, и другой вариант, съездить туда и узнать ip без подключения к VPN сети, но Вы сами понимаете, что на это нет времени и попросту неохота. Теперь Вы немного представляете, где и для чего Вам может пригодиться знание того, как прописываются статические маршруты.

Просмотр маршрутов в Linux

Команда выводит на экран все содержимое таблицы IP-маршрутизации и позволяет изменять записи.

$ $ route --help
Использование: route    Отобразить таблицу маршрутизации ядра
       route   {add|del|flush} ... Изменить таблицу маршрутизации для AF.

       route {-h|--help}  Детальное описание использование указанной AF.
       route {-V|--version} Отобразить версию/автора и выйти.

        -v, --verbose более детальный вывод
        -n, --numeric не преобразовывать адреса в имена
        -e, --extend отображать другую/больше информации
        -F, -fib отобразить информацию форвардинга базы (по умолчанию)
        -C, --cache отобразить кэш маршрутизации вместо FIB

  <AF>=Use -4, -6, '-A <af>' or '--<af>'; default: inet
  Список возможный адресных семейств (которые поддерживают маршрутизацию):
    inet (DARPA Internet) inet6 (IPv6) ax25 (AMPR AX.25) 
    netrom (AMPR NET/ROM) ipx (Novell IPX) ddp (Appletalk DDP) 
    x25 (CCITT X.25)

Просмотр таблицы маршрутизации:

$ route
Таблица маршрутизации ядра протокола IP
Destination     Gateway    Genmask         Flags   Metric   Ref   Use   Iface
default         _gateway   0.0.0.0         UG      100      0     0     enp0s3
link-local      0.0.0.0    255.255.0.0     U       1000     0     0     enp0s3
192.168.110.0   0.0.0.0    255.255.255.0   U       100      0     0     enp0s3
$ route -n
Таблица маршрутизации ядра протокола IP
Destination     Gateway         Genmask         Flags   Metric   Ref   Use   Iface
0.0.0.0         192.168.110.1   0.0.0.0         UG      100      0     0     enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U       1000     0     0     enp0s3
192.168.110.0   0.0.0.0         255.255.255.0   U       100      0     0     enp0s3

Утилита предоставляет возможность определить маршрут, по которому проходит пакет до заданного узла:

$ sudo apt install traceroute
$ traceroute ya.ru
traceroute to ya.ru (87.250.250.242), 30 hops max, 60 byte packets
 1  _gateway (192.168.110.1)  0.697 ms  0.607 ms  0.584 ms
 2  78.107.125.69 (78.107.125.69)  2.050 ms  1.967 ms  1.777 ms
 3  stpert-bng1-local.msk.corbina.net (85.21.0.172)  1.679 ms  1.605 ms  1.499 ms
 4  10.2.254.10 (10.2.254.10)  2.215 ms  2.180 ms  2.167 ms
 5  korova-bb-be5.corbina.net (195.14.54.195)  3.577 ms  3.544 ms  3.824 ms
 6  85.21.224.96 (85.21.224.96)  2.645 ms  2.208 ms  2.149 ms
 7  m9-crs-be13.corbina.net (85.21.224.54)  3.762 ms  3.207 ms  3.794 ms
 8  m9-br-be3.corbina.net (195.14.62.85)  3.716 ms  3.639 ms m9-br-be1.corbina.net (195.14.54.79)  3.559 ms
 9  corbina-gw.dante.yandex.net (83.102.145.178)  6.750 ms  11.716 ms  16.226 ms
10  ya.ru (87.250.250.242)  5.330 ms  8.678 ms  8.628 ms

Поиск:
Linux • Windows • Локальная сеть • route • Маска сети • Шлюз • Маршрут • Таблица • Адрес • Команда

Статический маршрут для взаимодействия через интерфейс без IP-адреса следующего перехода

Если вы указываете статический маршрут к интерфейсу и не задаете IP-адрес следующего перехода, маршрут вставлен в таблицу маршрутизации только, когда интерфейс активен. Эта конфигурация не рекомендуется, потому что, когда точки статического маршрута к интерфейсу и не имеет никакой информации о следующем переходе, маршрутизатор полагает, что каждый из хостов в диапазоне маршрута напрямую подключается через тот интерфейс.

При использовании конфигурации этого типа маршрутизатор выполняет протокол ARP по Ethernet для каждой точки назначения, которую находит в маршруте по умолчанию, поскольку считает все эти точки непосредственно связанными с Ethernet 0. Использование статического маршрута этого вида, особенно если он используется множеством пакетов, направленных в несколько разных подсетей назначения, может привести к высокой загрузке процессора и образованию очень большого ARP-кеша (наряду с ошибками выделения памяти). Поэтому этот вид статического маршрута не рекомендуется.

При определении адреса следующего узла на непосредственно связанный интерфейс маршрутизатор не выполняет ARP для каждого адреса назначения (DA). Примером является маршрут ip route 0.0.0.0 0.0.0.0 Ethernet0 192.168.1.1. Можно указать только адрес напрямую подключенного следующего узла, но делать это не рекомендуется по причинам, которые описаны в этом документе. Указывать адрес напрямую подключенного следующего перехода не обязательно. Можно задать адрес удаленного следующего перехода и интерфейс, к которому удаленный следующий переход делает рекурсивный вызов.

Если существует возможность, что интерфейс со следующим переходом выключается, и следующий переход стал бы достижимым через рекурсивный маршрут, то необходимо задать и IP-адрес следующего перехода и альтернативный интерфейс, через который должен быть найден следующий переход. Например, ip route 10.0.0.1 255.255.255.255 Последовательных 3/3 192.168.20.1. Добавление альтернативного интерфейса позволяет установке статического маршрута стать более детерминированной.

Examples

To display the entire contents of the IP routing table, type:

To display the routes in the IP routing table that begin with 10, type:

To add a default route with the default gateway address of 192.168.12.1, type:

To add a route to the destination 10.41.0.0 with the subnet mask of 255.255.0.0 and the next hop address of 10.27.0.1, type:

To add a persistent route to the destination 10.41.0.0 with the subnet mask of 255.255.0.0 and the next hop address of 10.27.0.1, type:

To add a route to the destination 10.41.0.0 with the subnet mask of 255.255.0.0, the next hop address of 10.27.0.1, and the cost metric of 7, type:

To add a route to the destination 10.41.0.0 with the subnet mask of 255.255.0.0, the next hop address of 10.27.0.1, and using the interface index 0x3, type:

To delete the route to the destination 10.41.0.0 with the subnet mask of 255.255.0.0, type:

To delete all routes in the IP routing table that begin with 10, type:

To change the next hop address of the route with the destination of 10.41.0.0 and the subnet mask of 255.255.0.0 from 10.27.0.1 to 10.27.0.25, type:

Таблицы маршрутизации

Вывести таблицы маршрутизации. Ядро принимает решение о применении той или иной таблицы на основании адреса источника пакета. Эти таблицы применимы для всех пакетов.

# ip rule list
0:      from all lookup local 
32766:  from all lookup main 
32767:  from all lookup default

Вывести содержимое таблицы local.

# ip route show table local

Таблица local. Пакет при выборе пути к месту назначения проверяется правилом с наименьшим приоритетом. Правило 0 отправит поиск маршрута в таблицу «local».

Таблица local проверяет не адресован ли пакет локальной машине (широковещательный или сетевой адреса интерфейсов). Таблицу local автоматически заполняют команды конфигурации сетевых интерфейсов.

  • Таблица main — является основной и именно она используется, если в команде, связанной с маршрутизацией, не указано какую таблицу использовать. При поднятии интерфейсов в неё прописываются маршруты к подсетям интерфейсов, стартовые скрипты также заносят в эту таблицу значение шлюза по-умолчанию. Использование команды route add администратором также может дополнить таблицу маршрутами. В общем случае, таблица main всегда содержит подходящий для пакета маршрут (например шлюз по-умолчанию).
  • Таблица default изначально пуста.
  • Модификация таблицы маршрутизации:

    Добавление маршрута через шлюз: ip route add 172.16.10.0/24 via 192.168.1.1
    Добавление маршрута через интерфейс: ip route add 172.16.10.0/24 dev eth0
    Маршрут с метрикой: ip route add 172.16.10.0/24 dev eth0 metric 100

    Кроме add также поддерживаются и другие действия: del — удалить маршрут; replace — заменить маршрут другим; change — изменить параметры маршрута.

Policy-Routing. Маршрутизация для двух ISP

  • Статическая маршрутизация в Linux

  • Роутинг и policy-routing в Linux при помощи iproute2

  • Принцип работы Routing Policy DataBase

Пример 1. Создание таблицы для маршрутизации пакетов с определенного IP- адреса. Локальная сеть 10.26.95.0/24 имеет выход в Интернет с двух разных провайдеров – основной ISP1 (статика) и резервный ISP2 (Настройка DHCP сервера Linux, FreeBSD).

В файле /etc/iproute2/rt_tables для удобства задаются символьные имена таблиц, это не обязательно так как все таблицы имеют цифровые идентификаторы. Напримерecho ’82 velton’ >> /etc/iproute2/rt_tables

  • Маршрут по умолчанию для таблицы ’82 velton’

    ip route add default via 82.117.232.1 table 82
  • Внесем правила маршрутизация для пользователя с IP 10.26.95.5, после чего эта таблица станет доступна в выводе команды ip rule list. Теперь все пользователи шлют пакеты через ISP1, кроме пользователя с IP 10.26.95.251

    ip rule add from 10.26.95.25132 table 82
  • Очистить кеш маршрутизатора для вступления в силу сделанных изменений

    ip route flush cache

Пример 2. Создание таблицы для маршрутизации, когда часть сетей (AS) нужно маршрутизировать через резервного провайдер ISP2. Например, это может быть дешевая точка обменом трафика или ресурсы провайдера.

  • Создаем как в предыдущем примере маршрут по умолчанию для таблицы ’82 velton’

    ip route add default via 82.117.232.1 table 82
  • Прописываем статические маршруты на сети ISP2

    ip route add 82.117.224.019 via 82.117.234.15
    ip route add 85.90.192.019 via 82.117.234.15
  • Добавим rule для всех сетей

    ip rule add to 82.117.224.019 table 82
    ip rule add to 85.90.192.019 table 82
  • Очистить кеш маршрутизатора для вступления в силу сделанных изменений

    ip route flush cache

Планирование расширения

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

Будет она вот такой:

То есть прибавляются две точки в Санкт-Петербурге: небольшой офис на Васильевском острове и сам завод в Озерках — и одна в Кемерово в районе Красная горка.

Для простоты у нас будет один провайдер “Балаган Телеком”, который на выгодных условиях предоставит нам L2VPN до обеих точек. В одном из следующих выпусков мы тему различных вариантов подключения раскроем в красках. А пока вкратце: L2VPN — это, очень грубо говоря, когда вам провайдер предоставляет влан от точки до точки (можно для простоты представить, что они включены в один коммутатор).

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

Сеть у нас сейчас разрастается и разработать его очень важно

Ну вот к примеру, скажем, что для офисов в других городах это будет так:

Это весьма упрощённый регламент, но теперь мы во всяком случае точно знаем, что у шлюза всегда будет 1-й адрес, до 12-го мы будем выдавать коммутаторам и всяким wi-fi-точкам, а все сервера будем искать в диапазоне 172.16.х.13-172.16.х.23. Разумеется, по своему вкусу вы можете уточнять регламент вплоть до адреса каждого сервера, добавлять в него правило формирования имён устройств, доменных имён, политику списков доступа и т.д.

Чем точнее вы сформулируете правила и строже будете следить за их выполнением, тем проще разбираться в структуре сети, решать проблемы, адаптироваться к ситуации и наказывать виновных.Это примерно, как схема запоминания паролей: когда у вас есть некое правило их формирования, вам не нужно держать в голове несколько десятков сложнозапоминаемых паролей, вы всегда можете их вычислить.

Вот так же и тут. Я некогда работал в средних размеров холдинге и знал, что если я приеду в офис где-нибудь в забытой коровами деревне, то там точно x.y.z.1 — это циска, x.y.z.2 — дистрибьюшн-свитч прокурва, а x.y.z.101 — компьютер главного бухгалтера, с которого надо дать доступ на какой-нибудь контур-экстерн.

Было дело парнишка решил сам управлять всем доступом в интернет (обычно это делал я на маршрутизаторе). Поставил proxy-сервер, случайно поднял на нём NAT и зарулил туда трафик локальной сети, на всех машинах прописав его в качестве шлюза по умолчанию, а потом я минут 20 разбирался, как так: у них всё работает, а мы их не видим.

Настройка через оснастку

В контекстном меню вкладки «Общие» (SERVER1 –> IP-маршрутизация –> Общие) нужно выбрать пункт «Новый протокол маршрутизации».

Затем выделяем строку «RIP версии 2 для IP».
В контекстном меню появившейся вкладки «RIP» выберите «Новый интерфейс». Выделите строку «Подключение по локальной сети» и нажмите ОК.
Перед вами появиться окно.

В появившемся окне необходимо задать следующие настройки:

  • Режим работы –> Режим периодического обновления.
  • Протокол для исходящих пакетов –> Для RIP версии 1.
  • Протокол входящих пакетов –> Только для RIP версии 1.

Оставьте оставшиеся настройки по умолчанию и нажмите ОК.

Далее необходимо выполнить эти действия для второго сетевого интерфейса.

После выполните те же действия для Sever2.

Проверьте, с помощью команды ping, работу сети.

Поздравляю! Маршрутизация в Windows изучена.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector