Таблица маршрутизации: что это такое и как это настроить

Связанные процессы

В создание и поддержку таблицы маршрутизации в маршрутизаторе Cisco вовлечены три процесса:

  • Различные процессы маршрутизации, которые фактически запускают сетевой протокол или протокол маршрутизации, такой как улучшенный протокол маршрутизации внутреннего шлюза (EIGRP), связь между промежуточными системами (IS-IS), первоочередное открытие кратчайших маршрутов (OSPF).

  • Сама таблица маршрутизации, которая получает сведения от процессов маршрутизации и отвечает на запросы данных от процесса переадресации.

  • Процесс переадресации, который запрашивает информацию из таблицы маршрутизации, чтобы принять решение о переадресации пакета.

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

Как работает маршрутизация?

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

Первая — когда, например, пакет адресуется компьютеру, находящемуся в той же сети, что и источник пакета, а точнее сказать — его отправитель. В данной ситуации для такого пакета следующим шлюзом является один из локальных интерфейсов и он (пакет) отправляется сразу к адресату. Такие «явные» и «короткие» шлюзы обычно задаются во время конфигурирования сетевых интерфейсов — командой ifconfig.

Вторая — когда адрес назначения пакта не соответствует ни одному шлюзу в таблице маршрутизации. В таком случае, во избежание коллизий в сети и её чрезмерной нагрузки должен быть задействован шлюз по-умолчанию. Другими словами, это такой маршрут, который указывает системному ядру: все остальные пакеты (без соответствий в таблице маршрутов) направляй сюда. Если шлюз по-умолчанию не будет предусмотрен, то отправляющей стороне посылается сообщение о недостижимости сети или узла.

Как правило, локальные сети имеют единственный шлюз во внешнюю среду, например в Интернет. В свою очередь, в сети Интернет таких «стандартных маршрутов» не существует.

Скриптинг

up < command >— выполнить команду после запуска устройства TUN/TAP. Пример:
up script-up.shup-delay < seconds > — подождать n-секунд перед запуском команды указанной в up. Пример:
up-delay 5down < command > — выполнить команду когда интерфейс TUN/TAP выключится. Пример:
down script-down.shdown-pre — выполнить команду, указанную в down перед выключением интерфейса TUN/TAPup-restart < command > — выполнить команду после каждого реконнектаroute-up < command > — выполнить команду после установки сетевых маршрутов. Пример:
route-up script.shlearn-address < command > — выполнить указанную команду, если ip удаленной стороны изменился.ipchange < command > — выполнить команду, если ip сервера изменился.client-connect < command > — выполнить команду, когда клиент подключился.client-disconnect < command > — выполнить команду, когда клиент отключился.

Изменение административного расстояния

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

Изменение административного расстояния в протоколах маршрутизации опасно! Изменение расстояний по умолчанию может привести к образованию петель маршрутизации

Мы рекомендуем изменять административное расстояние с осторожностью, полностью осознавая цели и последствия своих действий

Для полных протоколов изменение расстояния относительно просто. Для этого необходимо ввести команду distance в режиме субконфигурации процесса маршрутизации. Кроме того, расстояние маршрутов, полученных из одного источника можно изменять только в некоторых протоколах, и только для отдельных маршрутов.

Чтобы изменить расстояние для статических маршрутов, введите нужное расстояние после следующей команды ip route:

ip route network subnet mask next hop distance

Изменить расстояние для всех статических маршрутов одновременно нельзя.

Настройка маршрутов между роутерами

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

ip route 0.0.0.0 0.0.0.0 192.168.100.1

но если бы нужно было прописать ручками каждый то вот так

ip route 192.168.1.0 255.255.255.0 192.168.100.1

ip route 192.168.2.0 255.255.255.0 192.168.100.1

ip route 192.168.3.0 255.255.255.0 192.168.100.1
do wr mem

Настроим теперь роутер у главного офиса, нам нужно добавить маршруты до сетей 192.168.11.0, 192.168.22.0, 192.168.33.0.

ip route 0.0.0.0 0.0.0.0 192.168.100.2

либо если нужно в ручную отдельным маршрутом.

Что такое OpenVPN?

OpenVPN – это VPN программа, которая использует SSL/TLS для создания безопасных, зашифрованных VPN соединений для маршрутизации вашего интернет трафика, тем самым предотвращая слежку (снупинг). OpenVPN имеет высокую способность прозрачности для прохода через файерволы. На самом деле, если ситуация требует этого, вы можете запустить его на том же TCP порту как HTTPS (443), что делает трафик неразличимым и практически невозможным для блокировки.

OpenVPN использует различные методы для аутентификации клиентов на сервере: предварительно разделяемые секретные ключи, сертификаты или имя/пароль. OpenVPN использует протокол OpenSSL и реализует много функций безопасности и контроля, к которым относятся запрос отклика аутентификации, возможность единого входа, балансировка нагрузки и функции отказоустойчивости, а также поддержка множества демонов.

Принятие решений о переадресации

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

Если пакет прибывает на интерфейс маршрутизатора с адресом назначения 192.168.32.1, какой маршрут выберет маршрутизатор? Это зависит от длины префикса или количества бит, установленного в маске подсети. При пересылке пакета более длинные префиксы всегда предпочтительнее коротких.

В этом примере, пакет, отправленный по адресу 192.168.32.1 направляется в сеть 10.1.1.1, так как адрес 192.168.32.1 находится в сети 192.168.32.0/26 (192.168.32.0–192.168.32.63). Адресу соответствуют еще два доступных маршрута, но у 192.168.32.0/26 наиболее длинный префикс в таблице маршрутизации (26 бит против 24 и 19).

Точно так же, если пакет, направленный на адрес 192.168.32.100, прибывает на один из интерфейсов маршрутизатора, он перенаправляется на 10.1.1.2, поскольку 192.168.32.100 не попадает в диапазон адресов 192.168.32.0/26 (от 192.168.32.0 до 192.168.32.63), но попадает в диапазон адресов 192.168.32.0/24 назначения (от 192.168.32.0 до 192.168.32.255). Опять, он также попадает в область, перекрытую 192.168.32.0/19, но 192.168.32.0/24 имеет более длинный префикс.

Ip classless

Для тех адресов, для которых команда ip classless configuration попадает в данный диапазон, возможно возникновение сбоев в процессе маршрутизации и пересылки. В реальности команда «IP classless» влияет только на работу процессов переадресации IOS, но не влияет на построение таблицы маршрутизации. Если функция «IP classless» не настроена (с помощью команды no ip classless), маршрутизатор не будет переадресовать пакеты в подсети. Для примера снова поместим три маршрута в таблицу маршрутизации и проведем пакеты через маршрутизатор.

Примечание: Если суперсеть или маршрут по умолчанию получены через IS-IS или OSPF, то команда no ip classless configuration игнорируется. В этом случае режим коммутация пакетов работает так, как если бы команда ip classless была настроена.

Помня о том, что сеть 172.30.32.0/24 включает адреса с 172.30.32.0 по 172.30.32.255, а сеть 172.30.32.0/20 включает адреса с 172.30.32.0 по 172.30.47.255, мы можем выполнить коммутацию трех пакетов с использованием этой таблицы маршрутизации и проанализировать результаты.

  • Пакет, направленный по адресу 172.30.33.1, переадресуются на 10.1.1.2, так как этот маршрут имеет наибольший префикс.

  • Пакет, предназначенный для адреса 172.30.33.1, пересылается на 10.1.1.2, из-за совпадения самого длинного префикса.

  • Пакет, направленный по адресу 192.168.10.1 переадресуются на 10.1.1.3. Так как сеть отсутствует в таблице маршрутизации, пакет переадресуется на маршрут по умолчанию.

  • Пакет, отправленный по адресу 172.30.254.1, отбрасывается.

Удивительно, что из этих четырех пакетов был отброшен последний. Он отброшен потому, что его место назначения 172.30.254.1 находится внутри известной крупной сети 172.30.0.0/16, но маршрутизатор не знает об этой отдельной подсети внутри этой крупной сети.

На этом основана маршрутизация типа classful: Если одна часть основной сети известна, но подсеть в этой основной сети, для которой предназначен пакет, не известна, пакет отбрасывается.

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

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

Маршрутизатор удаленного сайта настраивается следующим образом:

В такой конфигурации узлы на удаленном узле могут достичь назначения через Интернет (через облако 10.x.x.x), но не назначений в облаке 10.x.x.x, которое является корпоративной сетью. Поскольку удаленный маршрутизатор обладает информацией о части сети 10.0.0.0/8, двух напрямую подключенных подсетях и ничего не знает о другой подсети диапазона 10.x.x.x, то он предполагает, что таких подсетей не существует, и сбрасывает предназначенные для них пакеты. Однако трафик, направленный в Интернет, не имеет получателя в диапазоне адресов 10.x.x.x и поэтому правильно направляется по стандартному маршруту.

Настройка бесклассового IP на удаленном маршрутизаторе позволяет решить эту проблему, так как она позволяет удаленному маршрутизатору игнорировать границы класса сетей в таблице маршрутизации и выполнять маршрутизацию просто по совпадению с наибольшей длиной префикса.

Динамическая маршрутизация

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

Динамический протокол имеет следующие особенности:

  1. Маршрутизаторы должны иметь один и тот же динамический протокол для обмена маршрутами.
  2. Когда маршрутизатор обнаруживает изменение в топологии, маршрутизатор объявляет об этом всем другим маршрутизаторам.

Преимущества –

  • Прост в настройке.
  • Более эффективен при выборе лучшего маршрута к удаленной сети назначения, а также для обнаружения удаленной сети.

Недостаток –

  • Потребляет больше пропускной способности для связи с другими соседями.
  • Менее безопасный, чем статическая маршрутизация.

Разные вопросы

В. Чем отличаются виртуальные устройства tun и tap?О. TUN — туннель, соединение по которому указывается по типу: локальный IP < — > удаленный IP. Например, при явном указании ifconfig:
—ifconfig 10.3.0.2 10.3.0.1
в этом примере 10.3.0.2 — локальный IP, 10.3.0.1 — удаленный IP
TAP — эмулирует виртуальную ethernet карточку, для которой требуется указывать локальный IP и маску подсети. Например:
—ifconfig 10.3.0.2 255.255.255.0

В. Для чего нужны файлы serial и index.txt при генерации ключей с easy-rsa?О. Эти два файла используются в качестве временной базы данных, используемой при генерации ключей. Должны находиться в том каталоге, где и ключи.

Авторизуйтесь для добавления комментариев!

Планирование сети

Все бы хорошо, но мы не правильно спланировали сеть в удаленном офисе. Так как там как и в главном, тоже есть сеть 192.168.1.0, 192.168.2.0, 192.168.3.0, такого быть не должно иначе получается дубли. Как правильно планировать сеть я писал тут, вам нужно перенастроить, как ранее описано в предыдущей статье. В итоге в филиале я заменил сети на 11, 22, 33 третьи актеты ip адреса. Общая картина теперь выглядит так.

Аналогичная конфигурация должна выполняться и на других маршрутизаторах. Помните, что маршрутизаторы знают только о сетях, напрямую связанных с ними. Статические маршруты или маршруты, изученные динамическими протоколами, должны быть настроены для того, чтобы маршрутизаторы выполняли свою работу: Маршрутизация пакетов, конечно. Также имейте в виду, что маршруты по умолчанию выбираются, когда нет определенного соответствия в таблице маршрутизации для данной сети. Они предпочтительно используются в сетях с заглушками.

Так что продолжайте и попробуйте! Начните с настройки статических маршрутов или маршрутов по умолчанию. При необходимости вы можете даже загружать общий трафик. Несколько процессов маршрутизации, которые фактически выполняют сетевой протокол, такой как протокол расширенного внутреннего шлюза, протокол пограничного шлюза, промежуточная система для системы и открытый самый короткий путь. Сама таблица маршрутизации, которая принимает информацию от процессов маршрутизации и отвечает на запросы информации из процесса маршрутизации. Процесс маршрутизации, который запрашивает информацию таблицы маршрутизации для принятия решения о маршрутизации информационных пакетов. Рассмотрим взаимодействие между протоколами маршрутизации и таблицей маршрутизации, чтобы понять, как построена таблица маршрутизации.

Создание сертификатов

Если вы создаёте OpenVPN сервер (любого типа), вы должны создать сертификаты безопасности
по нижеприведённым инструкциям. Если вы используете OpenVPN как клиент, требуемые сертификаты должны были быть предоставлены вам с вашими конфигурационными данными.

easyrsa init-pki nopass
easyrsa build-ca
easyrsa gen-dh
easyrsa build-server-full my-server nopass 
easyrsa build-client-full my-client nopass

Вышеприведённые команды создадут сертификат сервера с именем my-server и сертификат клиента с именем my-client.

Путь сохранения сертификатов и ключей по умолчанию /root/pki.

Вы можете создать несколько клиентских сертификатов, запустив несколько раз и указав разные имена.

Вы можете создать новый набор сертификатов, запустив и те же команды снова.

Создание ключей (производится только на сервере. затем необходимые ключи копируются с сервера на клиенты).

Переходим в каталог со скриптами создания ключей шифрования:

cd /usr/share/doc/openvpn/examples/easy-rsa/2.0

Открываем файл, содержащий переменные для скриптов:

nano vars

изменяем следующие параметры под свою организацию:

export KEY_COUNTRY=»RU»

export KEY_PROVINCE=»PS»

export KEY_CITY=»Pskov»

export KEY_ORG=»MegaHolod»

export KEY_DIR=»/etc/openvpn/keys»

Последний — директория, куда будут сохраняться созданные ключи.

Заносим переменные из только что отредактированного файла в память

source ./vars

Перед созданием ключей запускаем скрипт:

./clean-all

Далее переходим непосредственно к генерированию ключей путем запуска соответствующих скриптов. Так как в файл с переменными мы уже занесли нужные значения, жмем просто Enter в ответ на вопросы скриптов, за исключением:

Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y

Итак создаем  CA ключ:

./build-ca

Создаем DH ключ (нужен только серверу):

./build-dh

Создаем private key для сервера (gate — имя сервера):

./build-key-server gate

Создаем ключи в PKCS #12 формате для машин-клиентов;

./build-key-pkcs12 mg

./build-key-pkcs12 npn

./build-key-pkcs12 westfood

Создаем TLS-ключ (Общий для сервера и клиента):

openvpn —genkey —secret /etc/openvpn/keys/ta.key

Из папки «/etc/openvpn/keys» нужно скопировать ta.key и *.p12 соответствующий клиенту на машины-клиенты.

Принятие решений о переадресации

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

router# show ip route
….
D 192.168.32.0/26 [90/25789217] via 10.1.1.1
R 192.168.32.0/24 [120/4] via 10.1.1.2
O 192.168.32.0/19 [110/229840] via 10.1.1.3
….

Если пакет прибывает на интерфейс маршрутизатора с адресом назначения 192.168.32.1, какой маршрут выберет маршрутизатор? Это зависит от длины префикса или количества бит, установленного в маске подсети. При переадресации пакета более длинным префиксам всегда отдается предпочтение над короткими.

В этом примере, пакет, отправленный по адресу 192.168.32.1 направляется в сеть 10.1.1.1, так как адрес 192.168.32.1 находится в сети 192.168.32.0/26 (192.168.32.0–192.168.32.63). Адресу соответствуют еще два доступных маршрута, но маршрут 192.168.32.0/26 имеет самый длинный префикс в таблице маршрутизации (26 бит против 24 и 19 бит).

Аналогично, если пакет, отправленный по адресу 192.168.32.100, прибывает на один из интерфейсов маршрутизатора, он перенаправляется по адресу 10.1.1.2, поскольку адрес 192.168.32.100 не попадает в сеть 192.168.32.0/26 (192.168.32.0–192.168.32.63), но попадает в сеть назначение 192.168.32.0/24 (192.168.32.0–192.168.32.255). И снова он попадает в диапазон сети 192.168.32.0/19, но сеть 192.168.32.0/24 имеет более длинный префикс.

Создание сертификатов

Новая версия OpenVPN позволяет создавать сертификаты на основе Easy RSA 3, старая работает на базе 2-й версии. Наши действия будут различаться в зависимости от данной версии. Рассмотрим процесс формирования сертификата с использованием как RSA3, так и RSA2.

а) Создание сертификатов с RSA 3

1. Переходим в папку установки OpenVPN (по умолчанию, C:\Program Files\OpenVPN) и создаем каталог ssl.

2. После переходим в папку C:\Program Files\OpenVPN\easy-rsa, переименовываем файл vars.bat.example в vars.bat, открываем его на редактирование и правим одну строку:

set_var EASYRSA_TEMP_DIR «$EASYRSA_PKI/temp»

* мы снимаем комментарий и добавляем temp в конце $EASYRSA_PKI. Если это не сделать, то при попытке сформировать корневого сертификата мы получим ошибку Failed create CA private key.

3. Запускаем командную строку от имени администратора:

4. Переходим в каталог easy-rsa:

cd %ProgramFiles%\OpenVPN\easy-rsa

5. Запускаем команду:

EasyRSA-Start.bat

Мы окажемся в среде EasyRSA Shell.

6. Инициализируем PKI:

./easyrsa init-pki

Мы должны увидеть:

init-pki complete; you may now create a CA or requests.
Your newly created PKI dir is: C:/Program Files/OpenVPN/easy-rsa/pki

7. Генерируем корневой сертификат (CA):

./easyrsa build-ca

… после ввода Enter обязательно задаем пароль дважды. На запрос ввести Common Name можно просто нажать ввод или написать свое имя:

Common Name (eg: your user, host, or server name) :

8. Создаем ключ Диффи-Хеллмана:

./easyrsa gen-dh

9. Для создания сертификата сервера необходимо сначала создать файл запроса:

./easyrsa gen-req cert nopass

* на запрос ввода Common Name просто вводим Enter.

… и на его основе — сам сертификат:

./easyrsa sign-req server cert

После ввода команды подтверждаем правильность данных, введя yes:

  Confirm request details: yes

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

10. Для создания ta ключа используем команду:

openvpn —genkey —secret pki/ta.key

11. Сертификаты сервера готовы и находятся в каталоге pki. Переносим в C:\Program Files\OpenVPN\ssl следующие файлы:

  • ca.crt
  • issued/cert.crt
  • private/cert.key
  • dh.pem
  • ta.key

б) Создание сертификатов с RSA 2

1. Переходим в папку установки OpenVPN (по умолчанию, C:\Program Files\OpenVPN) и создаем каталог ssl.

2. После переходим в папку C:\Program Files\OpenVPN\easy-rsa, создаем файл vars.bat, открываем его на редактирование и приводим к следующему виду:

* в каталоге easy-rsa уже есть файл vars.bat.sample — можно переименовать и использовать его.
** значение HOME не меняем, если оставили путь установки программы по умолчанию; KEY_DIR — каталог, куда будут генерироваться сертификаты; KEY_CONFIG может быть разным — его лучше посмотреть в файле vars.bat.sample или по названию соответствующего файла в папке easy-rsa; KEY_NAME желательно, чтобы соответствовал полному имени VPN-сервера; остальные опции можно заполнить произвольно.

3. Запускаем командную строку от имени администратора:

4. Переходим в каталог easy-rsa:

cd %ProgramFiles%\OpenVPN\easy-rsa

4. Запускаем vars.bat:

vars.bat

5. Чистим каталоги от устаревшей информации:

clean-all.bat

* данная команда выполняется один раз, когда на сервере нет информации по ранее созданным сертификатам.

6. Снова запускаем vars.bat (после clean переопределяются некоторые переменные):

vars.bat

Переходим к созданию ключей.

7. Генерируем последовательность центра сертификации:

build-ca.bat

На все запросы нажимаем Enter.

8. Запускаем build-dh.bat (сертификат с использованием алгоритма Диффи-Хеллмана):

openssl dhparam -out keys\dh.pem 2048

* команда может выполняться долго — это нормально.

9. Генерируем сертификат для сервера:

build-key-server.bat cert

* где cert — имя сертификата; на все запросы нажимаем Enter. В конце подтверждаем два раза корректность информации вводом y.

10. После переносим из папки C:\Program Files\OpenVPN\easy-rsa\keys в C:\Program Files\OpenVPN\ssl следующие файлы:

  • ca.crt
  • cert.crt
  • cert.key
  • dh.pem

Настройка клиента

На сервере

На сервере генерируем сертификат для клиента. Для этого сначала чистим файл index.txt в папке C:\Program Files\OpenVPN\easy-rsa\keys.

Затем запускаем командную строку от имени администратора:

Переходим в каталог easy-rsa:

cd %ProgramFiles%\OpenVPN\easy-rsa

Далее наши действия зависят от версии RSA.

а) Создание сертификатов с RSA 3

Запускаем команду:

EasyRSA-Start.bat

Мы окажемся в среде EasyRSA Shell.

Создаем клиентский сертификат:

./easyrsa gen-req client1 nopass

./easyrsa sign-req client client1

Мы должны увидеть запрос на подтверждение намерения выпустить сертификат — вводим yes:

  Confirm request details: yes

* в данном примере будет создан сертификат для client1.

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

Теперь из папки pki копируем файлы:

  • issued/client1.crt
  • private/client1.key
  • ca.crt
  • dh.pem
  • ta.key

… и переносим их на клиентский компьютер.

б) Создание сертификатов с RSA 2

Запускаем vars.bat:

vars.bat

И генерируем сертификат первого пользователя:

build-key.bat client1

* на все запросы наживаем Enter, кроме Common Name — в данном поле вводим имя клиента (в нашем случае, просто client1). В конце подтверждаем введенную информацию — y.
** На каждого клиента нужно сгенерировать свой сертификат, в противном случае, им будет присваиваться один и тот же IP-адрес, что будет приводить к конфликту.

Получиться, что-то на подобие:

По умолчанию, для Common Name будет подставляться значение из vars.bat — но с ним сертификат не будет создаваться. Необходимо при создании каждого ключа подставлять значение, равное имени сертификата. Например, как выше — подставлено client1.

Теперь из папки keys копируем файлы:

  • client1.crt
  • client1.key
  • ca.crt
  • dh.pem

… и переносим их на клиентский компьютер.

На клиенте

Заходим на официальную страницу загрузки openvpn и скачиваем клиента для Windows:

* по сути, это тот же файл, который скачивался для сервера.

Запускаем скачанный файл и устанавливаем программу, нажимая «Далее».

Переходим в папку C:\Program Files\OpenVPN\config. И копируем в нее сертификаты, которые перенесли с сервера.

Теперь открываем блокнот от имени администратора и вставляем следующие строки:

client
resolv-retry infinite
nobind
remote 192.168.0.15 443
proto udp
dev tun
compress
ncp-disable
fast-io
cipher AES-256-CBC
ca ca.crt
cert client1.crt
key client1.key
dh dh.pem
float
keepalive 10 120
persist-key
persist-tun
verb 0

* где 192.168.0.15 443 — IP-адрес OpenVPN-сервера и порт, на котором он принимает запросы. Для боевой среды это будет внешний адрес.

Сохраняем файл с именем config.ovpn в папке C:\Program Files\OpenVPN\config.

Запускаем с рабочего стола программу «OpenVPN GUI» от имени администратора (это важно). Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Нажимаем правой кнопкой по появившемуся в трее значку и выбираем «Подключиться»:

Произойдет подключение и значок поменяет цвет с серого/желтого на зеленый.

Команды для управления маршрутизацией

Обозначение: VPN-хост — удаленная сторона (удаленный хост)route < network > — устанавливает указанную маршрутизацию на VPN-хосте, после успешного запуска туннеля. Пример:
route 10.0.10.0 255.255.255.252route-gateway < IP > — устанавливает шлюз на VPN-хосте. Пример:
route-gateway 192.168.0.22
После успешного запуска виртуального туннеля клиенту будет задан шлюз 192.168.0.22route-delay < seconds > — указывает подождать n-секунд перед установкой маршрутов. Пример:
route-delay 5
Т.е. через 5 секунд после установки туннеля будут заданы маршруты.route-up < cmd > — выполнить скрипт или программу < cmd > после установки маршрутов. Пример:
route-up /script.shredirect-gateway — установить шлюзом по умолчанию удаленный сервер. Т.е. когда удаленный пользователь подключается к нашему серверу, то ему будет задан шлюз по умолчанию на наш сервер.

Общие сведения

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

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

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

Примечание. Административное расстояние 255 считается недостижимым, поэтому статические маршруты с административным расстоянием 255 никогда не попадают в таблицу маршрутизации.

Записи в таблице маршрутизации

Откуда появляются записей в таблице маршрутизации? Есть два варианта статическая маршрутизация и динамическая маршрутизация.

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

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

Административное расстояние

Если маршрутизатор использует более одного протокола маршрутизации и определяет маршрут до одного и того же места назначения с помощью обоих протоколов, какой из маршрутов должен быть признан лучшим? Каждый протокол использует свой тип метрики для определения лучшего маршрута. Сравнение маршрутов с разными типами метрик невозможно. Административные расстояния решают эту проблему. Административные расстояния назначаются источникам маршрута, так чтобы маршрут от наиболее предпочтительного источника был выбран в качестве оптимального. Дополнительные сведения об административных расстояниях и выборе маршрутов см. в документе «Выбор маршрутов в маршрутизаторах Cisco».

Административные расстояния помогают выбрать маршрут среди различных протоколов маршрутизации, но могут привести к проблемам при перераспределении. Среди этих проблем могут быть петли маршрутизации, проблемы сходимости и неэффективная маршрутизация. Ниже представлена топология и описание возможной проблемы.

В указанной выше топологии, если в маршрутизаторе R1 применяется RIP, а в R2 и R5 одновременно применяются RIP и IGRP с перераспределением RIP в IGRP, возможно возникновение проблем. Например, R2 и R5 оба узнают о сети 192.168.1.0 от R1 через протокол RIP. Эти данные перераспределяются в IGRP. R2 получит информацию о сети 192.168.1.0 через R3, а R5 получит эту информацию через R4 с помощью IGRP. У IGRP административное расстояние меньше, чем у RIP (100 против 120), поэтому в таблице маршрутизации используется маршрут IGRP. Теперь существует опасность цикличной маршрутизации. Даже при наличии разделения горизонта или другой функции, предназначенной для предотвращения петель маршрутизации, все равно имеет место проблема сходимости.

Если R2 и R5 также распределяют IGRP в RIP (эта операция иначе называется обоюдным перераспределением), и сеть 192.168.1.0 не подключена непосредственно к R1 (R1 получает восходящие пакеты из нее от другого маршрутизатора), то существует потенциальная опасность, что R1 будет получать информацию о сети с R2 или R5 с лучшей метрикой, чем из оригинального источника.

 Примечание.В маршрутизаторах Cisco используется патентованная механика перераспределения маршрутов. Правила перераспределения на маршрутизаторах Cisco требуют, чтобы перераспределяемый маршрут присутствовал в таблице маршрутизации. Присутствия маршрута в топологии или базе данных маршрутизации недостаточно. В таблицу маршрутизации всегда заносятся маршруты с меньшим административным расстоянием (AD) . Например, если статический маршрут перераспределяется в IGRP на маршрутизаторе R5 и затем IGRP в свою очередь перераспределяется в RIP на том же самом маршрутизаторе (R5), этот статический маршрут не перераспределяется в RIP, поскольку он не был занесен в таблицу маршрутизации IGRP. Это происходит потому, что у статических маршрутов AD равно 1, а у маршрутов IGRP AD равно 100, и в таблицу маршрутизации занесен статический маршрут. Для перераспределения статического маршрута в IGRP на R5 необходимо использовать команду redistribute static в команде router rip.

Стандартное поведение RIP, IGRP и EIGRP — объявлять напрямую подключенные маршруты, когда инструкция network для протокола маршрутизации включает подключенную подсеть интерфейса. Есть два способа получить подключенный маршрут:

  • Интерфейс настроен с IP-адресом и маской — эта соответствующая подсеть считается подключенным маршрутом.

  • Статический маршрут настроен только с исходящим интерфейсом и без IP-адреса следующего перехода — это также считается подключенным маршрутом.

Команда network, указанная для EIGRP, RIP или IGRP и включающая («охватывающая») каждый из этих типов подключенных маршрутов, включает эту подсеть для объявления.

Например, если у интерфейса адрес 10.0.23.1 и маска 255.255.255.0, подсеть 10.0.23.0/24 является подключенным маршрутом и будет объявлена этими протоколами маршрутизации, когда будет выполнена следующая инструкция network:

Статический маршрут 10.0.77.0/24 также объявляется этими протоколами маршрутизации, так как он подключен и «охвачен» инструкцией network.

Выводы

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

Маршрут с наибольшей длиной префикса всегда выигрывает среди маршрутов, установленных в таблице маршрутизации. Протокол маршрутизации с самым малым административным расстоянием выигрывает при установке маршрутов в таблицу маршрутизации.

Есть вопросы?
Обращайтесь в «Аквилон-А», чтобы узнать подробности и получить
именно то, что вам требуется.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: