Linux add route one host

Маршрутизация в Linux

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

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

Сетевые маршруты в Linux

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

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

Ниже мы рассмотрим как проверить текущие маршруты в системе, а также как настроить новые.

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

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

Вот так выглядит таблица маршрутизации linux. Тут выводится достаточно простая информация, которой не всегда достаточно чтобы понять суть дела. Более подробно можно посмотреть с помощью команды routel:

Тут вы уже можете видеть IP адрес цели (target), IP адрес шлюза (gateway), IP отправителя (source), протокол, и даже сетевой интерфейс. Но самый удобный способ посмотреть таблицу маршрутизации linux — это команда ip:

Вывод похож на результат предыдущей команды, но выглядит не совсем привычно, это потому, что вывод команды можно использовать в качестве аргумента для ip route add или ip route del. Это очень удобно. Как вы видите, в качестве шлюза по умолчанию везде используется 192.168.1.1. Рассмотрим подробнее что означает вывод этой команды:

  • default — в данной строке означает вариант по умолчанию. Здесь должен быть ip адрес цели или маска подсети;
  • via 192.168.1.1 — указывает через какой шлюз мы можем добраться до этой цели, у нас это 192.168.1.1;
  • dev enp2s0 — сетевой интерфейс, с помощью которого будет доступен этот шлюз;
  • proto static — означает, что маршрут был установлен администратором, значение kernel значит что он был установлен ядром;
  • metric — это приоритет маршрута, чем меньше значение — тем выше приоритет.
Читайте также:  Linux partition table mbr

А теперь рассмотрим выполняется настройка маршрутов Linux.

Настройка маршрутов в Linux

Вы можете настраивать таблицу маршрутизации с помощью команды ip. Например, чтобы изменить маршрут по умолчанию достаточно выполнить:

ip route add default via 192.168.1.1

Так вы можете добавить маршрут для любого IP адреса, например, для 243.143.5.25:

sudo ip route add 243.143.5.25 via 192.168.1.1

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

В операционных системах семейства Red Hat используются конфигурационные файлы /etc/sysconfig/network-scripts/route-ethX. Каждый файл может описывать несколько маршрутов, например:

GATEWAY=10.10.0.1
NETMASK=255.0.0.0
IPADDR=10.10.0.22

Здесь gateway — шлюз по умолчанию для этого интерфейса, netmask — маска сети, а ipaddr — ip адрес интерфейса. В Debian и основанных на нем дистрибутивах можно настроить маршруты в файле /etc/network/interfaces. Здесь команда route добавляется в секцию iface. Например:

up route add -net 10.10.0.0 netmask 255.0.0.0 gw 10.10.0.1

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

Выводы

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

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Linux route add Command Tutorial with Examples

Linux route add Command Tutorial with Examples

Linux provides the “route add” command in order to add new network routes. The route add command can be used to add a new gateway to access other networks and the internet. Also, explicit routes can be added to access other networks by specifying the first hop. During connection to a network or internet default routes are generally added automatically but route add can be used to add new routes.

route add Command Syntax

The route add command has the following syntax.

route add HOP NETWORK DEVICE
  • HOP is an IP address in the directly connected network. This HOP IP address is used to access specified NETWORK.
  • NETWORK is the network which is accesssed and route used for.
  • DEVICE is the current system network interface name to access specified NETWORK.

Display Current Rotues

Before starting to use route add command to add new routes or default gateway listing current routes or routing table is good practice. The current routes or routing table can be listed with different commands. The “route -n” list current routing table.

Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.10.2 0.0.0.0 UG 100 0 0 ens33 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 ens33 192.168.10.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
  • Destination is the NETWORK which is accessed by using route.
  • Gateway is the first HOP IP address used to access NETWORK.
  • Genmask is the network mask used to specify NETWORK mask.
  • Iface is the network interface used to access specified NETWORK.
Читайте также:  Alt linux диспетчер задач

Add Default Gateway

One of the most popular use cases for the route add command is adding a default gateway. The default gateway is used when the destination IP does not match any network in the routing table. The default gateway generally set by network service can be also set by using the route add command manually. In the following example, we set 192.168.1.1 as the default network or default gateway. The 192.168.1.0/24 network is connected to the device or network interface named eth0. Adding a route to the system is an administrative task and requires root privileges. The root privileges can be provided with the sudo command.

sudo route add default gw 192.168.1.254 eth0

Add New Route For A Specific Network

We can also add new route for a specific network with the route add command. We should specify the reuqires options and parameters like network, gateway, network interface etc.

sudo route add -net 10.0.0.0/8 gw 192.168.10.2 ens33
  • -net 10.0.0.0/8 is used to set destination as network which network address is 10.0.0.0/8.
  • gw 192.168.10.2 is used to set directly connected network first hop IP address where each packet for the destination network redirected to this gateway IP address. Gateway IP address should be directly connected to the local linux system if not it throws error.
  • ens33 is the network interface or device name used to send packets which is connected to the first hop address or gateway network.

Add New Route For A Specific Host

The route add command can be also used to add route to the specific remote host. The -host option should be provided instead of the -net option and the parameter should be a single IP address not network address or network address range.

sudo route add -host 10.20.30.40 gw 192.168.10.2 ens33

Remove Existing Route

In some cases we may need to remove or delete existing route. Deleting a route is very same with the adding route. Just change the add command with the del command. So “route del” is used to remove existing route.

sudo route del -net 10.0.0.0/8 gw 192.168.10.2 ens33

An alternatively shorter command can be used to delete the existing route. Just the host or network address can be specified to remove from the routing table.

sudo route del -net 10.0.0.0/8

Источник

🖧 Команда IP route: создание статических маршрутов или изменение шлюза по умолчанию на Linux

Мануал

Команда IP route является расширением команды IP, которую мы уже кратко обсуждали команды IP в нашем предыдущем уроке.

Команда IP route используется для добавления, удаления или изменения таблицы маршрутизации системы Linux.

Команда Ip route на Linux

# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.10.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3 0.0.0.0 10.10.1.10 0.0.0.0 UG 0 0 0 enp0s3
# ip route show

Назначенный системный IP для системы – 10.10.1.100, и мы можем видеть, что пункт назначения находится в этом диапазоне только в первом выводе команды.

Читайте также:  Linux для 32 битных компьютеров

Вторая команда также показывает шлюз для диапазона IP, то есть 10.10.1.10.

Файлы маршрутизации находятся в папке «/etc/sysconfig/network-scripts/»:

# cat /etc/sysconfig/network-scripts/route-enp0s3 10.10.1.0/24 via 10.10.1.10 dev enp0s3

2- Как создать новый роутинг, т.е. создать новый статический маршрут.

# ip route add 10.10.3.0/24 dev en0sp3
# ip route add 10.10.3.0/24 via 10.10.1.10 dev en0sp3

3- Удалить маршрут

# ip route delete 10.10.3.0//24 dev en0sp3

4- Удалить существующий шлюз по умолчанию

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

# route delete default

5- Как добавить новый шлюз по умолчанию

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

# route add default gw 10.10.1.20
# ip route add default via 10.10.1.20

6- Как отклонить сетевые пакеты для конкретного хоста или сети

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

# route add -host 10.10.2.20 reject
# route add -net 10.10.2.0 netmask 255.0.0.0 reject

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!

  • Аудит ИБ (49)
  • Вакансии (12)
  • Закрытие уязвимостей (105)
  • Книги (27)
  • Мануал (2 306)
  • Медиа (66)
  • Мероприятия (39)
  • Мошенники (23)
  • Обзоры (820)
  • Обход запретов (34)
  • Опросы (3)
  • Скрипты (114)
  • Статьи (352)
  • Философия (114)
  • Юмор (18)

Anything in here will be replaced on browsers that support the canvas element

OpenVPN Community Edition (CE) – это проект виртуальной частной сети (VPN) с открытым исходным кодом. Он создает защищенные соединения через Интернет с помощью собственного протокола безопасности, использующего протокол SSL/TLS. Этот поддерживаемый сообществом проект OSS (Open Source Software), использующий лицензию GPL, поддерживается многими разработчиками и соавторами OpenVPN Inc. и расширенным сообществом OpenVPN. CE является бесплатным для […]

Что такое 404 Frame? Большинство инструментов для взлома веб-сайта находятся в 404 Frame. Итак, что же представляют собой команды? Вы можете отдавать команды, используя повседневный разговорный язык, поскольку разработчики не хотели выбирать очень сложную систему команд. Команды Команды “help” / “commands” показывают все команды и их назначение. Команда “set target” – это команда, которая должна […]

В этой заметке вы узнаете о блокировке IP-адресов в Nginx. Это позволяет контролировать доступ к серверу. Nginx является одним из лучших веб-сервисов на сегодняшний день. Скорость обработки запросов делает его очень популярным среди системных администраторов. Кроме того, он обладает завидной гибкостью, что позволяет использовать его во многих ситуациях. Наступает момент, когда необходимо ограничить доступ к […]

Знаете ли вы, что выполняется в ваших контейнерах? Проведите аудит своих образов, чтобы исключить пакеты, которые делают вас уязвимыми для эксплуатации Насколько хорошо вы знаете базовые образы контейнеров, в которых работают ваши службы и инструменты? Этот вопрос часто игнорируется, поскольку мы очень доверяем им. Однако для обеспечения безопасности рабочих нагрузок и базовой инфраструктуры необходимо ответить […]

Одной из важнейших задач администратора является обеспечение обновления системы и всех доступных пакетов до последних версий. Даже после добавления нод в кластер Kubernetes нам все равно необходимо управлять обновлениями. В большинстве случаев после получения обновлений (например, обновлений ядра, системного обслуживания или аппаратных изменений) необходимо перезагрузить хост, чтобы изменения были применены. Для Kubernetes это может быть […]

Источник

Оцените статью
Adblock
detector