- Управление сетевыми маршрутами в CentOS 7
- Посмотреть маршруты (route print)
- Добавить или удалить статический маршрут
- Разово (до перезагрузки сетевой службы или компьютера)
- Постоянно (permanently)
- Поменять маршрут
- Configuring Routing on Linux (RHEL/CentOS)
- How to View the Network Routing Table in Linux?
- Adding and Removing Static Routes in Linux
- Modifying an Existing Route Entry in Linux
- How to Change the Default Route or Default Gateway on Linux?
- Добавление маршрута в linux centos
- Настройка маршрутов в centos 7
- Популярные Похожие записи:
- Настройка сетевых маршрутов в Linux (CentOS)
- Просмотр таблицы маршрутизации в Linux
- Как добавить или удалить статический маршрут?
- Изменить маршрут в Linux
- Изменить маршрут по умолчанию
Управление сетевыми маршрутами в CentOS 7
Обновлено: 01.08.2017 Опубликовано: 19.07.2016
Будет справедливо сказать, что статья имеет отношение не только к CentOS 7, но и Red Hat, Fedora и любому дистрибутиву Linux с установленной утилитой ip.
Посмотреть маршруты (route print)
default via 192.168.0.1 dev ens32 proto static metric 100
10.10.1.0/24 via 10.10.0.1 dev ens35 proto static metric 100
* где default via 192.168.0.1 dev ens32 означает шлюз по умолчанию через 192.168.0.1 и адаптер ens32; 10.10.1.0/24 via 10.10.0.1 dev ens35 — статический маршрут в сеть 10.10.1.0/24 через узел 10.10.0.1, который доступен с адаптера ens35.
Также можно посмотреть, через какой шлюз пойдет маршрут до конкретного IP-адреса:
Добавить или удалить статический маршрут
Разово (до перезагрузки сетевой службы или компьютера)
Для добавления маршрута используем команду:
ip route add 192.168.1.0/24 via 192.168.0.1
* в данном примере будет добавлен маршрут в сеть 192.168.1.0/24 через шлюз 192.168.0.1
* удалит сетевой путь в подсеть 192.168.1.0
Постоянно (permanently)
Для начала нужно знать, для какого сетевого адаптера добавлять маршрут. Список сетевых интерфейсов с адресами в CentOS можно посмотреть следующей командой:
Например, для ethernet-адаптера eth0 нужно открыть на редактирование следующий файл
и превести его к следующему виду:
* как и в предыдущем примере, маршрут прописан в сеть 192.168.1.0/24 через шлюз 192.168.0.1. Можно прописать несколько маршрутов (для каждого с новой строки).
Чтобы измененя вступили в силу, необходимо перезапустить сетевые службы
systemctl restart network
Поменять маршрут
Разово поменять маршрут по умолчанию из командной строки:
ip route replace default via 192.168.1.1
ip route change default via 192.168.1.1
Поменять статический маршрут в другую сеть:
ip route replace 192.168.1.0/24 via 192.168.0.1
Configuring Routing on Linux (RHEL/CentOS)
In this article we will show how to configure routing and manage network routes on Linux using the ip command on Linux CentOS (how to view the routing table, add/remove static routes, etc.). The article is applicable to any other Linux distro with ip tool (Red Hat, Fedora, etc.)
To manage routing in Linux, it is recommended to use the ip command instead of route . The route command doesn’t allow to configure advanced routing features (like routing policies) and cannot show special routing settings if they were set using the ip tool.
How to View the Network Routing Table in Linux?
To display the current routing table in Linux, run this command:
- default via 192.168.1.1 dev enp0s3 is the default gateway using the enp0s3 interface in this example. If the target IP address does not have a static route in the routing table, the packet is sent through that gateway (the default route);
- 192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.201 is a static route for the 192.168.1.0/24 network through the interface 192.168.1.201;
- proto kernel is a route created by the kernel ( proto static – the route added by an administrator);
- metric is the route priority (the less is the metric value, the higher the priority is). If there are two routes with the same metric (never do it!), the kernel will select routes randomly.
To find out which interface (gateway) is used to routing traffic to the specific IP address, the following command is used:
# ip route get 192.168.2.45
192.168.2.45 via 192.168.1.1 dev enp0s3 src 192.168.1.201
You can use your Linux server with two or more interfaces as a router or an Internet gateway. To enable packet routing between multiple interfaces, enable the net.ipv4.ip_forward = 1 kernel parameter.
Adding and Removing Static Routes in Linux
To add a new route to a specific IP network in the Linux routing table, run this command:
# ip route add 192.168.0.0/24 via 192.168.1.1
Thus, we will add the route for the 192.168.0.0/24 IP network through the gateway 192.168.1.1.
The format of the ip route command is very much like Cisco IOS syntax. You can also use abbreviations here, for example, you can use ip pro ad instead of ip route add .
You can also add a separate static route for a single IP address (host):
# ip route add 192.168.1.0 via 192.168.1.1
You can create a null route similar to Cisco ( ip route null0 ). The packets sent to this network are dropped due to No route to host:
# ip route add blackhole 10.1.20.0/24
The routes added using this method are temporary and will work until you restart the network service or the server.
To remove a static route created manually, run the following command:
As you can see, the route has been removed from the Linux routing table.
To add a persistent route, you must create a file for the route, or add a rule to the rc.local file (run on host startup).
To add a permanent static route, you need a name of the network interface to be used for the routing. You can get the network interface name using this command:
In my case, it is enp0s3.
Then open the following file:
And add the line containing the route here:
After you have added the route to the file, restart the network service:
After restarting the network, a static route appeared in the routing table.
You can also use a command to add a new route to the rc.local file in order to automatically add static route when the server boot. Open the file:
And enter the command that adds the static route:
# ip route add 192.168.0.0/24 via 192.168.1.1
Then if your server is restarted, the route will be automatically added during the system boot.
Modifying an Existing Route Entry in Linux
To change an existing route, you can use the ip route replace command:
# ip route replace 192.168.0.0/24 via 192.168.1.1
To reset all temporary routes in the routing table, just restart the network service:
Restarting network (via systemctl): [ OK ]
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
How to Change the Default Route or Default Gateway on Linux?
You can remove a default route using the ip route del command:
# ip route del default via 192.168.1.1 dev enp0s3
To set a new default route, the following command is used in CentOS/RHEL Linux:
# ip route add default via 192.168.1.2 (a route via gateway IP address)
# ip route add default via enp0s3 (a route using a device name)
To change the default route settings, this command is used:
# ip route replace default via 192.168.1.2
Добавление маршрута в linux centos
Добрый день уважаемые читатели блога и канала, в прошлый раз мы с вами в операционной системе Centos 7 настроили сеть, ваш сервер исправно работает. Допустим у вас есть партнерская сеть и вам нужно в centos задействовать статические маршруты, чтобы направлять трафик в другую локальную сеть, этим мы с вами ниже и займемся, тут не сложнее, чем на Windows системах.
Настройка маршрутов в centos 7
Давайте начнем настройку маршрутов CentOS 7. Логинимся в ваш сервер с операционной системой CentOS. Переходим в в каталог
cd /etc/sysconfig/network-scripts/
Теперь вам необходимо создать файл с названием route-eth0, тут eth0 это интерфейс по которому пойдет трафик.
Настройка сети CentOS 6 (14)
Далее прописываем статический маршрут до нужной сети
Популярные Похожие записи:
- Настройка сети в CentOS 8, за минуту
- Экспорт и импорт сертификата Windows
- Установка CentOS 8, правильная инструкция
- Как перезагрузить Digi AnywhereUSB
- Виртуальная машина ESXI получает неправильные настройки сети
- Установка DIG в Windows, за минуту
Настройка сетевых маршрутов в Linux (CentOS)
13.04.2020
VyacheslavK
CentOS, Linux
Один комментарий
В этой статье мы рассмотрим особенности настройки маршрутизации и управления маршрутами в Linux (просмотр таблицы маршрутизации, добавление/удаление статических маршрутов и т.д.) на примере CentOS с помощью утилиты ip. Статья применима и для любого другого дистрибутива Linux с утилитой ip (Red Hat, Fedora и т.д.).
Для управления маршрутизацией в Linux предпочтительно исопльзовать утилиту ip , а не route . Команда route не позволяет настраивать расширенные возможности маршрутизации (например, политики маршрутизации), и не покажет специальные настройки маршрутизации, если они уже сделаны через ip.
Просмотр таблицы маршрутизации в Linux
Чтобы вывести текущую таблицу маршрутизации в Linux выполните команду:
- 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 адресу используется команда:
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 .
Также можно добавить отдельный маршрут для одного 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
Маршруты, добавленные таким образом являются временным и будут работать до перезагрузки сетевой службы или сервера.
Чтобы удалить созданный вручную маршрут, выполните:
Как видите, маршрут удален из таблицы маршрутизации.
Чтобы добавить постоянный маршрут, нужно создать файл для этого маршрута, либо добавить правило в файл rc.local (выполняется при загрузке сервера).
Чтобы добавить постоянный (статический) маршрут, нужно знать имя сетевого интерфейса, который будет использоваться для маршрутизации. Узнать имя сетевого интерфейса можно командой:
В моем случае, интерфейс enp0s3.
Далее открываем следующий файл:
И добавляем туда строку с маршрутом:
После добавления маршрута в файл нужно перезапустить сервис network:
После перещаауска сетевого сервиса, в таблице маршрутизации появился статический маршрут.
Также можно добавить команду добавления нового маршрута в файл rc.local, чтобы он автоматически добавлялся при загрузке сервера. Откройте файл:
И укажите команду добавления маршрута:
# ip route add 192.168.0.0/24 via 192.168.1.1
Теперь, если ваш сервер будет перезагружен, маршрут пропишется автоматически при загрузке системы.
Изменить маршрут в Linux
Чтобы изменить уже существующий маршрут, можно использовать команду ip route replace:
# ip route replace 192.168.0.0/24 via 192.168.1.1
Чтобы сбросить все временные маршруты в таблице маршрутизации, просто перезапустите сетевой сервис:
Restarting network (via systemctl): [ OK ]
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
Предыдущая статья Следующая статья