Управление сетевыми маршрутами в CentOS 7
Будет справедливо сказать, что статья имеет отношение не только к CentOS 7, но и Red Hat, Fedora и любому дистрибутиву Linux с установленной утилитой ip.
Список маршрутов
Добавить или удалить
Разово до перезагрузки
Постоянное добавление (permanent)
Поменять маршрут
Посмотреть маршруты (route print)
ip route
Пример вывода:
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 get 192.168.15.77
Добавить или удалить статический маршрут
Разово (до перезагрузки сетевой службы или компьютера)
Для добавления маршрута используем команду:
ip route add 192.168.1.0/24 via 192.168.0.1
* в данном примере будет добавлен маршрут в сеть 192.168.1.0/24 через шлюз 192.168.0.1
Для удаления маршрута:
ip route del 192.168.1.0/24
* удалит сетевой путь в подсеть 192.168.1.0
Постоянно (permanently)
Для начала нужно знать, для какого сетевого адаптера добавлять маршрут. Список сетевых интерфейсов с адресами в CentOS можно посмотреть следующей командой:
ip a
Например, для ethernet-адаптера eth0 нужно открыть на редактирование следующий файл
vi /etc/sysconfig/network-scripts/route-eth0
и превести его к следующему виду:
192.168.1.0/24 via 192.168.0.1
* как и в предыдущем примере, маршрут прописан в сеть 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