SCROLL
Среднее время на прочтение: 1 мин.

Два шлюза по умолчанию в Linux

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

JUQwJTlGJUQwJUJFJTIwJUQxJTgzJUQwJUJDJUQwJUJFJUQwJUJCJUQxJTg3JUQwJUIwJUQwJUJEJUQwJUI4JUQxJThFJTIwJUQwJUIyJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUI1JTIwTGludXglMjAlRDAlQjUlRDElODElRDElODIlRDElOEMlMjAlRDElODIlRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDAlQkUlRDAlQjQlRDAlQkQlRDAlQjAlMjAlRDElODIlRDAlQjAlRDAlQjElRDAlQkIlRDAlQjglRDElODYlRDAlQjAlMjAlRDAlQkMlRDAlQjAlRDElODAlRDElODglRDElODAlRDElODMlRDElODIlRDAlQjglRDAlQjclRDAlQjAlRDElODYlRDAlQjglRDAlQjglMkMlMjAlRDAlQjIlMjAlRDAlQkElRDAlQkUlRDElODIlRDAlQkUlRDElODAlRDElODMlRDElOEUlMjAlRDAlQkMlRDAlQkUlRDAlQjYlRDAlQkQlRDAlQkUlMjAlRDAlQjIlRDAlQkQlRDAlQjUlRDElODElRDElODIlRDAlQjglMjAlRDAlQjclRDAlQjAlRDAlQkYlRDAlQjglRDElODElRDAlQjglMjAlRDElODIlRDAlQkUlRDAlQkIlRDElOEMlRDAlQkElRDAlQkUlMjAlRDAlQjQlRDAlQkIlRDElOEYlMjAlRDAlQkUlRDAlQjQlRDAlQkQlRDAlQkUlRDAlQjMlRDAlQkUlMjAlRDElODglRDAlQkIlRDElOEUlRDAlQjclRDAlQjAlMjAlRDAlQkYlRDAlQkUlMjAlRDElODMlRDAlQkMlRDAlQkUlRDAlQkIlRDElODclRDAlQjAlRDAlQkQlRDAlQjglRDElOEUuJTIwJUQwJUExJTIwJUQwJUJGJUQwJUJFJUQwJUJDJUQwJUJFJUQxJTg5JUQxJThDJUQxJThFJTIwaXByb3V0ZTIlMjAlRDAlQkMlRDAlQkUlRDAlQjYlRDAlQkQlRDAlQkUlMjAlRDAlQkQlRDAlQjAlRDElODElRDElODIlRDElODAlRDAlQkUlRDAlQjglRDElODIlRDElOEMlMjAlRDAlQjQlRDAlQkUlRDAlQkYlRDAlQkUlRDAlQkIlRDAlQkQlRDAlQjglRDElODIlRDAlQjUlRDAlQkIlRDElOEMlRDAlQkQlRDElODMlRDElOEUlMjAlRDElODIlRDAlQjAlRDAlQjElRDAlQkIlRDAlQjglRDElODYlRDElODMlMjAlRDAlQkMlRDAlQjAlRDElODAlRDElODglRDElODAlRDElODMlRDElODIlRDAlQjglRDAlQjclRDAlQjAlRDElODYlRDAlQjglRDAlQjglMjAlRDAlQjglMjAlRDElODAlRDAlQjAlRDAlQjclRDElODAlRDAlQjUlRDElODglRDAlQjglRDElODIlRDElOEMlMjAlRDElODElRDAlQjglRDElODElRDElODIlRDAlQjUlRDAlQkMlRDAlQjUlMjAlRDAlQjglRDElODElRDAlQkYlRDAlQkUlRDAlQkIlRDElOEMlRDAlQjclRDAlQkUlRDAlQjIlRDAlQjAlRDElODIlRDElOEMlMjAlRDElOEQlRDElODIlRDElODMlMjAlRDElODIlRDAlQjAlRDAlQjElRDAlQkIlRDAlQjglRDElODYlRDElODMlMjAlRDAlQkQlRDAlQjAlMjAlRDAlQkUlRDElODElRDAlQkQlRDAlQkUlRDAlQjIlRDAlQjUlMjAlRDAlQkYlRDElODAlRDAlQjAlRDAlQjIlRDAlQjglRDAlQkIu

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

  • ens192 — 192.168.0.0/24
    • gateway — 192.168.0.1
  • ens224 — 10.10.0.0/24
    • gateway — 10.10.0.1

JUQwJTk4JUQxJTgxJUQxJTg1JUQwJUJFJUQwJUI0JUQwJUJEJUQwJUIwJUQxJThGJTIwJUQwJUJBJUQwJUJFJUQwJUJEJUQxJTg0JUQwJUI4JUQwJUIzJUQxJTgzJUQxJTgwJUQwJUIwJUQxJTg2JUQwJUI4JUQxJThGJTIwJUQwJUIyJUQxJThCJUQwJUIzJUQwJUJCJUQxJThGJUQwJUI0JUQwJUI4JUQxJTgyJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUJDJTIwJUQwJUJFJUQwJUIxJUQxJTgwJUQwJUIwJUQwJUI3JUQwJUJFJUQwJUJDJTNB

/etc/network/interfaces
# This file describes the network interfaces available on your system
JTIzJTIwYW5kJTIwaG93JTIwdG8lMjBhY3RpdmF0ZSUyMHRoZW0uJTIwRm9yJTIwbW9yZSUyMGluZm9ybWF0aW9uJTJDJTIwc2VlJTIwaW50ZXJmYWNlcyg1KS4=
# The loopback network interface

YXV0byUyMGxv
iface lo inet loopback

JTIzJTIwVGhlJTIwcHJpbWFyeSUyMG5ldHdvcmslMjBpbnRlcmZhY2U=

allow-hotplug ens192
iface ens192 inet static
    address 192.168.0.10
    netmask 255.255.255.0
    gateway 192.168.0.1

JTIzJTIwVGhlJTIwc2Vjb25kYXJ5JTIwbmV0d29yayUyMGludGVyZmFjZQ==
YWxsb3ctaG90cGx1ZyUyMGVuczIyNA==
iface ens224 inet static
    address 10.10.0.10
JTIwJTIwJTIwJTIwbmV0bWFzayUyMDI1NS4yNTUuMjU1LjA=

Добавление таблицы маршрутизации

Чтобы добавить новую таблицу маршрутизации, необходимо отредактировать файл /etc/iproute2/rt_tables. Назовём таблицу маршрутизации rt2 и установим для неё приоритет 1.

/etc/iproute2/rt_tables
JTIz
# reserved values
JTIz
255     local
MjU0JTIwJTIwJTIwJTIwJTIwbWFpbg==
253     default
MCUyMCUyMCUyMCUyMCUyMCUyMCUyMHVuc3BlYw==
#
JTIzJTIwbG9jYWw=
#
JTIzMSUyMCUyMCUyMCUyMCUyMCUyMGluci5ydWhlcA==
1 rt2

Настройка таблицы маршрутизации

JUQwJTk3JUQwJUIwJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQwJUI4JUQwJUJDJTIwJUQwJUJEJUQwJUJFJUQwJUIyJUQxJTgzJUQxJThFJTIwJUQxJTgyJUQwJUIwJUQwJUIxJUQwJUJCJUQwJUI4JUQxJTg2JUQxJTgzJTIwJUQwJUJDJUQwJUIwJUQxJTgwJUQxJTg4JUQxJTgwJUQxJTgzJUQxJTgyJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTJDJTIwJUQwJUIyJUQxJThCJUQwJUJGJUQwJUJFJUQwJUJCJUQwJUJEJUQxJThGJUQwJUI1JUQwJUJDJTIwJUQxJTgxJUQwJUJCJUQwJUI1JUQwJUI0JUQxJTgzJUQxJThFJUQxJTg5JUQwJUI4JUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0JUQxJThCLg==

aXAlMjByb3V0ZSUyMGFkZCUyMDEwLjEwLjAuMCUyRjI0JTIwZGV2JTIwZW5zMjI0JTIwc3JjJTIwMTAuMTAuMC4xMCUyMHRhYmxlJTIwcnQy
ip route add default via 10.10.0.1 dev ens224 table rt2
  • Первая команда сообщает, что сеть 10.10.0.0/24 доступна через интерфейс ens224.
  • Вторая команда устанавливает шлюз по умолчанию.

Правила маршрутизации

JUQwJUE3JUQxJTgyJUQwJUJFJUQwJUIxJUQxJThCJTIwJUQxJTgxJUQwJUI4JUQxJTgxJUQxJTgyJUQwJUI1JUQwJUJDJUQwJUIwJTIwJUQwJUI3JUQwJUJEJUQwJUIwJUQwJUJCJUQwJUIwJTJDJTIwJUQwJUJBJUQwJUJFJUQwJUIzJUQwJUI0JUQwJUIwJTIwJUQwJUI4JUQxJTgxJUQwJUJGJUQwJUJFJUQwJUJCJUQxJThDJUQwJUI3JUQwJUJFJUQwJUIyJUQwJUIwJUQxJTgyJUQxJThDJTIwJUQwJUJEJUQwJUJFJUQwJUIyJUQxJTgzJUQxJThFJTIwJUQxJTgyJUQwJUIwJUQwJUIxJUQwJUJCJUQwJUI4JUQxJTg2JUQxJTgzJTIwJUQwJUJDJUQwJUIwJUQxJTgwJUQxJTg4JUQxJTgwJUQxJTgzJUQxJTgyJUQwJUI4JUQwJUI3JUQwJUIwJUQxJTg2JUQwJUI4JUQwJUI4JTJDJTIwJUQwJUJEJUQwJUIwJUQxJTgxJUQxJTgyJUQxJTgwJUQwJUJFJUQwJUI4JUQwJUJDJTIwJUQwJUI0JUQwJUIyJUQwJUIwJTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJCJUQwJUIwLg==

aXAlMjBydWxlJTIwYWRkJTIwZnJvbSUyMDEwLjEwLjAuMTAlMkYzMiUyMHRhYmxlJTIwcnQy
aXAlMjBydWxlJTIwYWRkJTIwdG8lMjAxMC4xMC4wLjEwJTJGMzIlMjB0YWJsZSUyMHJ0Mg==

JUQwJUFEJUQxJTgyJUQwJUI4JTIwJUQwJUJGJUQxJTgwJUQwJUIwJUQwJUIyJUQwJUI4JUQwJUJCJUQwJUIwJTIwJUQwJUIzJUQwJUJCJUQwJUIwJUQxJTgxJUQxJThGJUQxJTgyJTJDJTIwJUQxJTg3JUQxJTgyJUQwJUJFJTIwJUQxJTgyJUQxJTgwJUQwJUIwJUQxJTg0JUQwJUI4JUQwJUJBJTIwJUQxJTgxJTIwSVAtJUQwJUIwJUQwJUI0JUQxJTgwJUQwJUI1JUQxJTgxJUQwJUIwJTIwMTAuMTAuMC4xMCUyQyUyMCVEMCVCMCUyMCVEMSU4MiVEMCVCMCVEMCVCQSVEMCVCNiVEMCVCNSUyMCVEMSU4MiVEMSU4MCVEMCVCMCVEMSU4NCVEMCVCOCVEMCVCQSUyQyUyMCVEMCVCRCVEMCVCMCVEMCVCRiVEMSU4MCVEMCVCMCVEMCVCMiVEMCVCQiVEMCVCNSVEMCVCRCVEMCVCRCVEMSU4QiVEMCVCOSUyMCVEMCVCRCVEMCVCMCUyMCVEMSU4RCVEMSU4MiVEMCVCRSVEMSU4MiUyMElQLSVEMCVCMCVEMCVCNCVEMSU4MCVEMCVCNSVEMSU4MSUyMCVEMCVCOCVEMCVCQiVEMCVCOCUyMCVEMCVCRiVEMSU4MCVEMCVCRSVEMSU4NSVEMCVCRSVEMCVCNCVEMSU4RiVEMSU4OSVEMCVCOCVEMCVCOSUyMCVEMSU4NyVEMCVCNSVEMSU4MCVEMCVCNSVEMCVCNyUyMCVEMCVCRCVEMCVCNSVEMCVCMyVEMCVCRSUyQyUyMCVEMCVCNCVEMCVCRSVEMCVCQiVEMCVCNiVEMCVCRCVEMSU4QiUyMCVEMCVCOCVEMSU4MSVEMCVCRiVEMCVCRSVEMCVCQiVEMSU4QyVEMCVCNyVEMCVCRSVEMCVCMiVEMCVCMCVEMSU4MiVEMSU4QyUyMCVEMSU4MiVEMCVCMCVEMCVCMSVEMCVCQiVEMCVCOCVEMSU4NiVEMSU4MyUyMCVEMCVCQyVEMCVCMCVEMSU4MCVEMSU4OCVEMSU4MCVEMSU4MyVEMSU4MiVEMCVCOCVEMCVCNyVEMCVCMCVEMSU4NiVEMCVCOCVEMCVCOCUyMHJ0Mi4=

Создание постоянной конфигурации

Команды ip rule и ip route станут недействительными после перезагрузки, поэтому их следует прописать непосредственно в файл /etc/network/interfaces, чтобы они выполнялись после запуска сети после перезагрузки.

JUQwJTkyJUQwJUJFJUQxJTgyJTIwJUQxJTgyJUQwJUIwJUQwJUJBJTIwJUQwJUIxJUQxJTgzJUQwJUI0JUQwJUI1JUQxJTgyJTIwJUQwJUIyJUQxJThCJUQwJUIzJUQwJUJCJUQxJThGJUQwJUI0JUQwJUI1JUQxJTgyJUQxJThDJTIwJUQwJUJFJUQwJUJGJUQwJUI4JUQxJTgxJUQwJUIwJUQwJUJEJUQwJUI4JUQwJUI1JTIwJUQwJUJBJUQwJUJFJUQwJUJDJUQwJUIwJUQwJUJEJUQwJUI0Lg==

/etc/network/interfaces
aWZhY2UlMjBlbnMyMjQlMjBpbmV0JTIwc3RhdGlj
JTIwJTIwJTIwJTIwYWRkcmVzcyUyMDEwLjEwLjAuMTA=
    netmask 255.255.255.0
    post-up ip route add 10.10.0.0/24 dev ens224 src 10.10.0.10 table rt2
    post-up ip route add default via 10.10.0.1 dev ens224 table rt2
JTIwJTIwJTIwJTIwcG9zdC11cCUyMGlwJTIwcnVsZSUyMGFkZCUyMGZyb20lMjAxMC4xMC4wLjEwJTJGMzIlMjB0YWJsZSUyMHJ0Mg==
JTIwJTIwJTIwJTIwcG9zdC11cCUyMGlwJTIwcnVsZSUyMGFkZCUyMHRvJTIwMTAuMTAuMC4xMCUyRjMyJTIwdGFibGUlMjBydDI=

Тестирование конфигурации

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

aXAlMjByb3V0ZSUyMGxpc3QlMjB0YWJsZSUyMHJ0Mg==
aXAlMjBydWxlJTIwc2hvdw==
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.