Как изменить маршрутизацию до сервера

Ответили на вопрос 2 человека. Оцените лучшие ответы! И подпишитесь на вопрос, чтобы узнавать о появлении новых ответов.

Приветствую читающих.

В общем играю профессионально в Fortnite, игра использует AWS сервера (в основном во Франкфурте, Париже и Лондоне), живу в пригороде Львова (Украина, впритык к Польше), через своего провайдера подключаюсь к магистральному провайдеру he.net.

Проблема в следующем: пакеты должны приходить к франкфуртским серверам с задержкой ~27 ms через сервера Варшава — Катовице — Прага моего магистрального провайдера.
На деле же соединение c задержкой ~33 ms проходит через сервера Варшава — Берлин — Амстердам, как это показано с другой стороны скрина. То есть суть в чем — кратчайший маршрут идет через Катовице — Прагу, узел открыт, но почему-то к серверам Амазона и некоторым другим, что находятся во Франкфурте, кидает в обходную, хотя до того, как провайдер начал чудить, все было хорошо.

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

Возможно ли исправить маршрутизацию пакетов? Если да — то как? Если нет — буду рад любой информации, которая поможет сис. админам решить эту проблему, так как они якобы все уже перепробовали (сменили магистрального провайдера с маршрутизацией через Киев во второй раз (в обходную через восток с пингом 50, после чего вернули все назад) и теперь отнекиваются. (Хотя изначально все было хорошо, обещали ничего не менять, видимо кто-то что-то попутал и подключил нас к тому же другому магистральному провайдеру, после чего спустя 2 дня они вернули все обратно, однако, уже с нарушенной маршрутизацией.)

Интересно то, что впервые, когдая столкнулся с проблемой её я исправил >во всем поселке< подключив и отключив какой-то дорогойр Mikrotik, который мне отправили системные администраторы провайдера. В теории такое не особо возможно, но все произошло именно когда я его подключил, хотя спустя час я подключился опять напрямую и это наводит на очень странные мысли, хотя во второй раз, когда мне уже прислали другой, самый дешевый роутер Mikrotik «lite tower» — ничего не изменилось. (Наверное совпадение)

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

5efc9ab1ea9b6107671435.png

В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).

Для управления маршрутизацией в Linux предпочтительно исопльзовать утилиту
ip
, а не
route
. Команда route не позволяет настраивать расширенные возможности маршрутизации (например, политики маршрутизации), и не покажет специальные настройки маршрутизации, если они уже сделаны через ip.

Содержание:

  • Просмотр таблицы маршрутизации в Linux
  • Как добавить или удалить статический маршрут?
  • Изменить маршрут в Linux
  • Изменить маршрут по умолчанию

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

Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:

# ip route

вывести таблицу маршрутизации в linux centos ip router

  • default via 192.168.1.1 dev enp0s3
    – шлюз по умолчанию, в данном примере работающий через интерфейс enp0s3. Если для target адреса в таблице маршрутизации отсутствует маршрут, то такой пакет отправляется через данный шлюз (маршрут по умолчанию)
  • 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201
    — статический маршрут для сети 192.168.1.0/24 через адрес 192.168.1.201, который прописан на интерфейсе
  • proto kernel
    – маршрут создан ядром (
    proto static
    – маршрут добавлен администратором)
  • metric
    – приоритет маршрута (чем меньше значение metric, тем выше приоритет). При наличии двух маршрутов с одинаковой метрикой (не стоит так делать!), ядро начинает выбирать маршруты случайным образом.

Чтобы узнать через какой интерфейс (шлюз) должен маршрутизироваться трафик к определенному IP адресу используется команда:

# ip route get 192.168.2.45

192.168.2.45 via 192.168.1.1 dev enp0s3 src 192.168.1.201

Вы можете использовать ваш Linux сервер с двумя и более интерфейсами как маршрутизатор или интернет-шлюз. Чтобы разрешить маршрутизацию пакетов между несколькими интерфейсами, нужно включить параметр ядра net.ipv4.ip_forward = 1.

Как добавить или удалить статический маршрут?

Чтобы добавить новый маршрут к определенной IP подсети в таблицу маршрутизации Linux, нужно выполнить следующую команду:

# ip route add 192.168.0.0/24 via 192.168.1.1

Таким образом, мы добавим маршрут для IP сети 192.168.0.0/24 через шлюз 192.168.1.1.

Формат команды ip route очень похоже на синтаксис в Cisco IOS. Здесь также можно исопльзовать сокращений, например вместо
ip route add
можно написать
ip pro ad
.

добавление маршрута в centos

Также можно добавить отдельный маршрут для одного IP адреса (хоста):

# ip route add 192.168.1.0 via 192.168.1.1

Можно сделать аналог null route маршрута в Cisco (ip route null0), пакеты в такую сеть удаляются по причине No route to host:

# ip route add blackhole 10.1.20.0/24

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

Чтобы удалить созданный вручную маршрут, выполните:

# ip route del 192.168.0.0/24

удалить маршрут из таблицы маршрутизации в linux centos

Как видите, маршрут удален из таблицы маршрутизации.

Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).

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

# ip a

В моем случае, интерфейс enp0s3.

сетевые интерфейсы в centos

Далее открываем следующий файл:

# nano /etc/sysconfig/network-scripts/route-enp0s3

И добавляем туда строку с маршрутом:

192.168.0.0/24 via 192.168.1.1

После добавления маршрута в файл нужно перезапустить сервис network:

# service network restart

добавить постоянный (persistent) маршрут в centos linux

После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.

Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:

# nano /etc/rc.local

И укажите команду добавления маршрута:

# ip route add 192.168.0.0/24 via 192.168.1.1

добавление persistent маршрута через rc.local

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

Изменить маршрут в Linux

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

# ip route replace 192.168.0.0/24 via 192.168.1.1

изменитть маршрут ip route replace

Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:

[[email protected] ~]# service network restart

Restarting network (via systemctl): [ OK ]

[r[email protected] ~]# ip route

default via 192.168.1.1 dev enp0s3 proto static metric 100
192.168.0.0/24 via 192.168.1.1 dev enp0s3 proto static metric 100
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 metric 100

Изменить маршрут по умолчанию

Вы можете удалить маршрут по-умолчаню с помощью команды ip route del:

# ip route del default via 192.168.1.1 dev enp0s3

Чтобы указать новый маршрут по-умолчанию в CentOS используется команда:

# ip route add default via 192.168.1.2
(маршрут через IP адрес шлюза)

# ip route add default via enp0s3
(маршрут через имя устройства)

Чтобы изменить параметры маршрута по умолчанию, используется команда:

# ip route replace default via 192.168.1.2

ip route replace default

Меняем трассировку и понижаем пинг

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

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

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

Моя схема смены трассировки до конечного маршрута заключается в следующем: мы просто поменяем международного провайдера и получим выигрыш в пинге (т.е. понизим пинг до минимального значения). На деле с измененной трассировкой цепочка коннекта будет выглядеть так: Компьютер клиента – сервер локального провайдера – НОВЫЙ СЕРВЕР МЕЖДУНАРОДНОГО ПРОВАЙДЕРА – Конечный сервер. Как вы заметили в цепочке почти все то же самое, только лишь поменялся сервер международного провайдера и это наш ключ к понижению пинга.
Вы можете спросить меня – Зачем все так сложно менять и делать, может быть проще сходить в офис своего провайдера и попросить поменять трассировку? Да это было бы проще если бы провайдер с распростертыми объятиями принял ваше предложение и незамедлительно выполнил вашу просьбу. Чаще всего на вопрос почему у меня (клиента) такой плохой пинг местный провайдер отвечает просто – У нас все хорошо, проблемы на конечном сервере или У вас проблемы с компьютером и пр. Местный провайдер пытается как бы выгородить себя из виновников плохого пинга ссылаясь на другие мифические факторы. Так же он не светит то что он арендует самый дешевый международный канал потому, что ему выгодно, а не для того чтобы у клиента был хороший коннект и низкий пинг.

Как же заполучить заветный новый канал международного провайдера? Все банально просто и упирается в новый сервер для коннекта. Что же вам нужно сделать. Прежде всего проверить пинг до нового сервера если он минимален то вы гарантированно получите выигрыш в пинге (т.е. понизите его). Так же у вас возникнет вопрос, где взять сервер для коннекта? Очень хорошо если у вас есть какой-нибудь друг, который работает в хостинг компании или системным администратором в дата-центре тогда вы можете попросить его поднять определенный софт на сервере для коннекта и будите радоваться новому интернету. Посложнее будет тем, кто не имеет таких знакомых, но и для таких людей найдутся свои помощники, но об этом чуть позже.
Сейчас же я покажу вам все в деле, на практике чтобы вы убедились, что моя схема действительно работает.
У нас в команде играет всем известный Василий Лещенко aka def44, он живет в Петрозаводске (Республика Карелия, Северо-Западный регион), у него конечно провайдер не самый худший но тем не менее проблема с пингами очень актуальна и по сей день для него. Например через его провайдера на сервер компании bouncer4you у него пинг ~90-100 ms. Используя мою технологию коннекта мы добились что на этот же сервер bouncer4you он получил пинг ~65-75ms – причем это пинг игровой, не тот что показывает в HLSW. И все благодаря замене в цепочке трассировки международного провайдера. Вообще у него на большинство .de хостов был плохой пинг и мы не играли на них, но сейчас благодаря понижению пинга все стало намного проще и удобней, и играть ему стало намного комфортней.

Покажу вам все наглядно, для тех кто прочитав всю эту статью плохо понял написанную информацию:


Обычная трассировка которую использует местный локальный провайдер для связи с европейским сервером bouncer4you
Пинг в игре с обычной трассировкой


После того как подключаемся через новый сервер международного провайдинга, получаем вот такую картину
Новый пониженный пинг в игре с применением новой трассировки

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

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

Кому Инфа Помогла + в репу ! :)


ффф

Содержание:

  • Что такое маршрутизация
  • Как посмотреть таблицу маршрутизации
  • Построение таблицы маршрутизации
  • Примеры статической маршрутизации

Что такое маршрутизация

Вся цифровая информация передаётся по сети в виде пакетов данных. По пути от отправителя к адресату они проходят через цепочку промежуточных устройств – маршрутизаторов (роутеров) и/или соответственно настроенных компьютеров.

Маршрутизация – это процесс определения пути (сетевого маршрута) для установки соединения между хост-устройствами. Этот путь настраивается как внутри локального устройства, так и на маршрутизаторе.

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

Каждая таблица содержит ряд параметров, позволяющих правильно идентифицировать и читать сетевой маршрут. Таблица содержит минимум 5 разделов:

  • Destination (Target). IP-адрес сети назначения – конечной цели для передаваемых данных.
  • Netmask (Genmask). Маска сети.
  • Gateway. IP-адрес шлюза, через который можно добраться до цели.
  • Interface. Адрес сетевого интерфейса, по которому доступен шлюз.
  • Metric. Числовой показатель, задающий предпочтительность маршрута.

Опционально в таблице также может содержаться следующая информация:

  • адрес отправителя (source);
  • размер TCP-окна (window);
  • максимальная величина пакета (MSS) и типы записей.

Как посмотреть таблицу маршрутизации

Таблицу маршрутизации в Linux (например, в популярных серверных ОС типа Ubuntu или CentOS) можно посмотреть с помощью нескольких команд.

Команда route

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

route -n

Команда netstat

Утилита используется для сбора информации о состоянии сетевых соединений. Вывести таблицу можно с помощью команды:

netstat -r

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

Существует несколько основных утилит для настройки таблицы маршрутизации (добавления, обновления, удаления старых и новых маршрутов):

  • Route. Устаревшая утилита, входящая в состав пакета net-tools. Служит для отображения таблицы маршрутизации и построения статических маршрутов.
  • IP Route. Обновленный инструмент, призванный заменить Route. Имеет большую функциональность, по сравнению со своим предшественником.

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

Route

Команда имеет следующий вид:

route [-f] [-p] command -net [destination] netmask [MASK netmask] gw [gateway] metric [METRIC metric] dev [IF interface]

Ключи

  • -f – очистка таблиц от записей всех шлюзов.
  • -p – сохранение маршрута в качестве постоянного при использовании ADD. По умолчанию все маршруты временные и после перезагрузки системы сбрасываются.

Основные опции (command)

  • add – добавление маршрута.
  • del – удаление маршрута.
  • replace – замена маршрута.
  • change – изменение или настройка параметров маршрута.

Обозначения

  • [destination] – адрес сети назначения.
  • [MASK netmask] – маска подсети.
  • [gateway] – адрес шлюза.
  • [METRIC metric] – числовой показатель, задающий предпочтительность маршрута (используется в том случае, если устройство является маршрутизатором).
  • [IF interface] – сетевой интерфейс.

Опции для указания вводных данных

  • -net – целевая сеть.
  • -host – целевой хост.
  • gw – шлюз (Gateway).
  • dev – сетевой интерфейс.
  • netmask – маска подсети.
  • metric – метрика.

IP Route

Команда имеет следующий вид:

ip route command [destination] netmask [MASK netmask] via [gateway] metric [METRIC metric] dev [IF interface]

Основные опции (command)

  • add – добавление маршрута.
  • del – удаление маршрута.
  • replace – замена маршрута.
  • change – изменение или настройка параметров маршрута.

Обозначения

  • [destination] – адрес сети назначения.
  • [MASK netmask] – маска подсети.
  • [gateway] – адрес шлюза.
  • [METRIC metric] – числовой показатель, задающий предпочтительность маршрута (используется в том случае, если устройство является маршрутизатором).
  • [IF interface] – сетевой интерфейс.

Опции для указания вводных данных

  • via – используется в значении «через» для указания шлюза.
  • dev – сетевой интерфейс.
  • netmask – маска подсети.
  • metric – метрика.

Примеры статической маршрутизации

Составление нового маршрута

Можно представить два офиса: A и B. В каждом стоят маршрутизаторы на Linux, которые соединены между собой IP-IP туннелем.

Маршрутизатор A имеет IP-адрес — 192.168.1.1, а маршрутизатор B — 192.168.1.2.

Чтобы подключение к локальной сеть маршрутизатора A стало возможным из локальной сети маршрутизатора B и наоборот, нужно прописать на маршрутизаторе B:

route add -net 172.16.10.0/24 gw 192.168.1.1

Будет произведена установка шлюза «192.168.1.1» для сети «172.16.10.0/24».

Также необходимо прописать на маршрутизаторе A обратный маршрут в локальную сеть маршрутизатора B:

route add -net 172.20.0.0/24 gw 192.168.1.2

Изменение локальной сети

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

route del -net 172.20.0.0/24 gw 192.168.1.2

А после добавить новый маршрут на маршрутизаторе А:

route add -net 172.20.0.0/24 gw 192.168.1.2

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

Если на маршрутизаторе B изменится IP-адрес туннеля, то следует также актуализировать адрес шлюза на маршрутизаторе А:

ip route replace 172.16.10.0/24 via 192.168.1.3

После выполнения команды адрес шлюза для подсети «172.16.10.0/24» будет изменён.

Изменение провайдера

Чтобы перенаправить трафик через другого провайдера («ISP2»), следует изменить маршрут «по умолчанию» («default»):

ip route replace default via 5.215.98.7

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить маршрутизатор роутер
  • Как изменить маршрутизатор wifi на айфоне
  • Как изменить маршрут робота пылесоса
  • Как изменить маршрут провайдера
  • Как изменить маршрут загрузки файлов на компьютере

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии