LINUX.ORG.RU
ФорумAdmin

Как добавить Ай Пи в таблицу маршрутизации?

 


0

1

Привет всем!
Debian 10
Ребята, вопрос в том, что в /etc/network/interfaces надо добавить несколько Ай Пи адресов, причем с разных подсетей, то есть у них разные gateway.
194.93.0.19 — 255.255.255.0 — 194.93.0.1
193.47.33.12 — 255.255.255.0 — 193.47.33.1
91.188.222.249 — 255.255.255.0 — 91.188.222.1
2.58.98.234 — 255.255.255.0 — 2.58.98.1
2.58.98.191 — 255.255.255.0 — 2.58.98.1
2.58.98.29 — 255.255.255.0 — 2.58.98.1
Как известно, в таблицу маршрутизации можно добавить только один gateway по умолчанию.
Вот у меня выходила такая ошибка

~# systemctl status networking.service
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2020-07-03 17:35:10 +05; 44s ago
     Docs: man:interfaces(5)
  Process: 350 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
 Main PID: 350 (code=exited, status=1/FAILURE)

Jul 03 17:35:10 .....-plus.ru ifup[350]: ifup: failed to bring up eth0:8
Jul 03 17:35:10 .....-plus.ru ifup[350]: RTNETLINK answers: File exists
Jul 03 17:35:10 .....-plus.ru ifup[350]: ifup: failed to bring up eth0:9
Jul 03 17:35:10 .....-plus.ru ifup[350]: RTNETLINK answers: File exists
Jul 03 17:35:10 .....-plus.ru ifup[350]: ifup: failed to bring up eth0:10
Jul 03 17:35:10 .....-plus.ru ifup[350]: RTNETLINK answers: File exists
Jul 03 17:35:10 .....-plus.ru ifup[350]: ifup: failed to bring up eth0:11
Jul 03 17:35:10 .....-plus.ru systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jul 03 17:35:10 .....-plus.ru systemd[1]: networking.service: Failed with result 'exit-code'.
Jul 03 17:35:10 .....-plus.ru systemd[1]: Failed to start Raise network interfaces.
После чего я изменил конфиг. Вот он после изменений:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#allow-hotplug eth0
auto eth0
iface eth0 inet static
	address 91.188.222.249
	netmask 255.255.255.0
	gateway 91.188.222.1
	# dns-* options are implemented by the resolvconf package, if installed
	dns-nameservers 8.8.8.8
	dns-search ru
	
auto eth0:1
iface eth0:1 inet static
  address 172.16.1.111/32
  
auto eth0:2
iface eth0:2 inet static
  address 172.16.1.112/32
  
auto eth0:3
iface eth0:3 inet static
  address 172.16.1.113/32
  
auto eth0:4
iface eth0:4 inet static
  address 172.16.1.114/32
  
auto eth0:5
iface eth0:5 inet static
  address 172.16.1.115/32
  
auto eth0:6
iface eth0:6 inet static
  address 172.16.1.116/32
 
auto eth0:7
iface eth0:7 inet static
  address 193.47.33.12
  netmask 255.255.255.0
#  gateway 193.47.33.1
   up sleep 5 ; /sbin/ip route add default via 193.47.33.1 dev eth0 src 193.47.33.12 proto static table 120
   up sleep 3 ; /sbin/ip rule add from 193.47.33.12 table 120
  
auto eth0:8
iface eth0:8 inet static
  address 194.93.0.19
  netmask 255.255.255.0
#  gateway 194.93.0.1
   up sleep 5 ; /sbin/ip route add default via 194.93.0.1 dev eth0 src 194.93.0.19 proto static table 121
   up sleep 3 ; /sbin/ip rule add from 194.93.0.19 table 121
   
auto eth0:9
iface eth0:9 inet static
  address 2.58.98.234
  netmask 255.255.255.0
#  gateway 2.58.98.1
   up sleep 5 ; /sbin/ip route add default via 2.58.98.1 dev eth0 src 2.58.98.234 proto static table 122
   up sleep 3 ; /sbin/ip rule add from 2.58.98.234 table 122
  
auto eth0:10
iface eth0:10 inet static
  address 2.58.98.29
  netmask 255.255.255.0
#  gateway 2.58.98.1
  up sleep 5 ; /sbin/ip route add default via 2.58.98.1 dev eth0 src 2.58.98.29 proto static table 123
  up sleep 3 ; /sbin/ip rule add from 2.58.98.29 table 123

auto eth0:11
iface eth0:11 inet static
  address 2.58.98.191
  netmask 255.255.255.0
#  gateway 2.58.98.1
  up sleep 5 ; /sbin/ip route add default via 2.58.98.1 dev eth0 src 2.58.98.191 proto static  table 124
  up sleep 3 ; /sbin/ip rule add from 2.58.98.191 table 124

iface eth0 inet6 static
	address 2a01:48a0:4015:3::91
	netmask 64
	gateway 2a01:48a0:4015:3::1
	autoconf 0 
    dns-nameservers 8.8.8.8
	
iface eth0 inet6 static
	address 2a01:48a0:4015:3::d4
	netmask 64
	
iface eth0 inet6 static
	address 2a01:48a0:4015:3::10
	netmask 64
	
iface eth0 inet6 static
	address 2a01:48a0:4015:3::75
	netmask 64
	
iface eth0 inet6 static
	address 2a01:48a0:4015:3::2a
	netmask 64

iface eth0 inet6 static
	address 2a01:48a0:4015:3::6f
	netmask 64
Сейчас ошибка исчезла и interfaces перезагружаются и статус после перезагрузки - ОК.
Однако, есть три Ай Пи адреса, у которых одинаковый gateway
2.58.98.234 — 255.255.255.0 — 2.58.98.1
2.58.98.191 — 255.255.255.0 — 2.58.98.1
2.58.98.29 — 255.255.255.0 — 2.58.98.1
При перезагрузке системы, первый из них попадает в таблицу маршрутизации, а два другие уже нет, выходит та же самая ошибка, которую я указал в самом начале.
То есть вот эти два последние из трех Ай Пи адреса не добавляются в таблицу маршрутизации и не пингуются из внешних источников.
Помогите пожалуйста, как правильно прописать эти два Ай Пи, чтобы они работала корректно!!!
Не хватает практического опыта, вчера провозился целый день и не смог сделать.

Ответ на: комментарий от Anoxemian

Anoxemian!

Читайте пожалуйста мой вопрос правильно. Я задал вопрос в самом конце. То что вы говорите ясно и так. Вы сейчас сказали «Да?» - Да.

rafaello
() автор топика
Ответ на: комментарий от rafaello

Да, не прочитал. Но, не поверишь, ответ тот же. У тебя трижды указывается одно и то же правило. В текущих терминах ты либо ip/32 три раза маршрутизируй, либо один раз ip/24. А то сейчас у тебя 2.58.98.0/24 трижды пытаешься задать разные правила. Оно не сработает.

Anoxemian ★★★★★
()

вчера провозился целый день и не смог сделать.

Может вместо макаки копипасты, стоило потратить время на прочтение LARTC ? Зачем плодите темы об одном и том же? Выше Anoxemian ответил на уровне ответов вашей предыдущей темы. Только вы не пытаетесь даже мозг включить о чем вам пишут. ctrl-c ctrl-v стайл
И в предыдущей вам подкинули вариант.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

Вопрос в сущности такой.
Вот сейчас в таблицу попал только первый (2.58.98.234) из трех Ай Пи с одинаковым gateway.

~# ip route list
default via 91.188.222.1 dev eth0 onlink
2.58.98.0/24 dev eth0 proto kernel scope link src 2.58.98.234
91.188.222.0/24 dev eth0 proto kernel scope link src 91.188.222.249
193.47.33.0/24 dev eth0 proto kernel scope link src 193.47.33.12
194.93.0.0/24 dev eth0 proto kernel scope link src 194.93.0.19
Но в список правил для Ай Пи попали все
~# ip rule
0:      from all lookup local
32761:  from 2.58.98.191 lookup 124
32762:  from 2.58.98.29 lookup 123
32763:  from 2.58.98.234 lookup 122
32764:  from 194.93.0.19 lookup 121
32765:  from 193.47.33.12 lookup 120
32766:  from all lookup main
32767:  from all lookup default
Что надо исправить в существующем конфиге, чтобы остальные два (2.58.98.29 и address 2.58.98.191) попали в таблицу маршрутизации?

rafaello
() автор топика
Ответ на: комментарий от rafaello

Для дошколят:
ip r l показывает только main
ip r l table all покажет все таблицы.

ЗЫ И ещё раз, читайте LARTC есть на русском.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от Anoxemian
src 2.58.98.234

этот флаг явно указывает, что попал только один.
Да два остальные не пингуются с внешних источников, это еще одно подтверждение

rafaello
() автор топика
Ответ на: комментарий от rafaello

этот флаг явно указывает, что попал только один. Да два остальные не пингуются с внешних источников, это еще одно подтверждение

Где ты взял эту чушь? Это не так. Маршрутизируются сети. У тебя одна сетка: 2.58.98.0/24

Итого все три маршрута абсолютно идентичны. Либо маршрутизируй 3 разные сети ip/32, либо человеческим языком напиши чего ты хочешь добиться.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

вот выхлоп

~# ip r l table all
default via 193.47.33.1 dev eth0 table 120 proto static src 193.47.33.12
default via 194.93.0.1 dev eth0 table 121 proto static src 194.93.0.19
default via 2.58.98.1 dev eth0 table 122 proto static src 2.58.98.234
default via 2.58.98.1 dev eth0 table 123 proto static src 2.58.98.29
default via 2.58.98.1 dev eth0 table 124 proto static src 2.58.98.191
default via 91.188.222.1 dev eth0 onlink
2.58.98.0/24 dev eth0 proto kernel scope link src 2.58.98.234
91.188.222.0/24 dev eth0 proto kernel scope link src 91.188.222.249
193.47.33.0/24 dev eth0 proto kernel scope link src 193.47.33.12
194.93.0.0/24 dev eth0 proto kernel scope link src 194.93.0.19
broadcast 2.58.98.0 dev eth0 table local proto kernel scope link src 2.58.98.234
local 2.58.98.29 dev eth0 table local proto kernel scope host src 2.58.98.234
local 2.58.98.191 dev eth0 table local proto kernel scope host src 2.58.98.234
local 2.58.98.234 dev eth0 table local proto kernel scope host src 2.58.98.234
broadcast 2.58.98.255 dev eth0 table local proto kernel scope link src 2.58.98.234
broadcast 91.188.222.0 dev eth0 table local proto kernel scope link src 91.188.222.249
local 91.188.222.249 dev eth0 table local proto kernel scope host src 91.188.222.249
broadcast 91.188.222.255 dev eth0 table local proto kernel scope link src 91.188.222.249
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
local 172.16.1.111 dev eth0 table local proto kernel scope host src 172.16.1.111
broadcast 172.16.1.111 dev eth0 table local proto kernel scope link src 172.16.1.111
local 172.16.1.112 dev eth0 table local proto kernel scope host src 172.16.1.112
broadcast 172.16.1.112 dev eth0 table local proto kernel scope link src 172.16.1.112
local 172.16.1.113 dev eth0 table local proto kernel scope host src 172.16.1.113
broadcast 172.16.1.113 dev eth0 table local proto kernel scope link src 172.16.1.113
local 172.16.1.114 dev eth0 table local proto kernel scope host src 172.16.1.114
broadcast 172.16.1.114 dev eth0 table local proto kernel scope link src 172.16.1.114
local 172.16.1.115 dev eth0 table local proto kernel scope host src 172.16.1.115
broadcast 172.16.1.115 dev eth0 table local proto kernel scope link src 172.16.1.115
local 172.16.1.116 dev eth0 table local proto kernel scope host src 172.16.1.116
broadcast 172.16.1.116 dev eth0 table local proto kernel scope link src 172.16.1.116
broadcast 193.47.33.0 dev eth0 table local proto kernel scope link src 193.47.33.12
local 193.47.33.12 dev eth0 table local proto kernel scope host src 193.47.33.12
broadcast 193.47.33.255 dev eth0 table local proto kernel scope link src 193.47.33.12
broadcast 194.93.0.0 dev eth0 table local proto kernel scope link src 194.93.0.19
local 194.93.0.19 dev eth0 table local proto kernel scope host src 194.93.0.19
broadcast 194.93.0.255 dev eth0 table local proto kernel scope link src 194.93.0.19
::1 dev lo proto kernel metric 256 pref medium
2a01:48a0:4015:3::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via 2a01:48a0:4015:3::1 dev eth0 metric 1024 onlink pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
local 2a01:48a0:4015:3::10 dev eth0 table local proto kernel metric 0 pref medium
local 2a01:48a0:4015:3::2a dev eth0 table local proto kernel metric 0 pref medium
local 2a01:48a0:4015:3::6f dev eth0 table local proto kernel metric 0 pref medium
local 2a01:48a0:4015:3::75 dev eth0 table local proto kernel metric 0 pref medium
local 2a01:48a0:4015:3::91 dev eth0 table local proto kernel metric 0 pref medium
local 2a01:48a0:4015:3::d4 dev eth0 table local proto kernel metric 0 pref medium
local fe80::5054:ff:febc:1eaa dev eth0 table local proto kernel metric 0 pref medium
ff00::/8 dev eth0 table local metric 256 pref medium
Действительно, в случае «все таблицы» они есть.
Однако это не меняняет ситуацию!!!!
Ребята, я бы ни вас, ни себя не мучал бы, но вот сейчас две головные боли:
1. Два из трех Ай Пи (2.58.98.29 и address 2.58.98.191) не пингуются с внешних источников - и как результат недоступны домены на них и не работают ссылки в письмах.
2. Конфиг в таком виде как я представил все равно выдает ошибку. То есть если делаешь reboot, то systemctl status networking.service показывает ОК, но после первой же перезагрузки sudo service networking restart выдает:
~# systemctl status networking.service
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2020-07-05 16:03:01 +05; 9s ago
     Docs: man:interfaces(5)
  Process: 4461 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
 Main PID: 4461 (code=exited, status=1/FAILURE)

Jul 05 16:02:53 alga-plus.ru ifup[4461]: ifup: failed to bring up eth0:10
Jul 05 16:03:01 alga-plus.ru postfix/sendmail[5003]: fatal: parameter inet_interfaces: no local interface found for 2a01:48a0:4015:3::91
Jul 05 16:03:01 alga-plus.ru ifup[4461]: run-parts: /etc/network/if-up.d/postfix exited with return code 75
Jul 05 16:03:01 alga-plus.ru ifup[4461]: ifup: failed to bring up eth0:11
Jul 05 16:03:01 alga-plus.ru postfix/sendmail[5027]: fatal: parameter inet_interfaces: no local interface found for 2a01:48a0:4015:3::91
Jul 05 16:03:01 alga-plus.ru ifup[4461]: run-parts: /etc/network/if-up.d/postfix exited with return code 75
Jul 05 16:03:01 alga-plus.ru ifup[4461]: ifup: post-up script failed
Jul 05 16:03:01 alga-plus.ru systemd[1]: networking.service: Main process exited, code=exited, status=1/FAILURE
Jul 05 16:03:01 alga-plus.ru systemd[1]: networking.service: Failed with result 'exit-code'.
Jul 05 16:03:01 alga-plus.ru systemd[1]: Failed to start Raise network interfaces.
То есть в само коде конфига на eth0:10 и eth0:11 есть ошибки.
Какие?

rafaello
() автор топика

Решил посмотреть, а кто это собственно. Мама роди меня обратно. Не для Ъ https://serv-tech.ru/небольшая-история-про-наш-переезд-и-на/

Для Ъ Выборочно

С 2014 года... так как мы начинали с размещения 2 серверов

Были куплены два коммутатора Cisco 4948E и взят в аренду выделенный канал в 1 gbt/s для доступа нашей инфраструктуры в Интернет.

И собственно все бы ничего, но мы не имели физического доступа к своему оборудованию

В скором времени мы планируем покупать Маршрутизатор Juniper MX240 и подключать несколько операторов связи.

Похоже подобный хостинг и рассчитан на таких как ТС. «Я у мамы не читай сразу делай».

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от Anoxemian

на интерфейсах eth0:9 eth0:10 eth0:11 удали src

Начинать надо с того что «eth0:9 eth0:10 eth0:11» это не интерфейсы, это алиасы для eth0.

anc ★★★★★
()
Ответ на: комментарий от Anoxemian

Нет. Вы вашими «терминами» и так не обученного человека вводите в ещё больше заблуждение. Слишком много уже за последнии годы тем вида «у меня на интерфейсе ethX:Y», может не стоит подогревать это?
Написанное вами можно было бы сократить до:

на интерфейсах eth0:9 eth0:10 eth0:11 удали src

Те убрав слово «интерфейсах». Смысл для ТС не поменяет. А вот с точки зрения формулировок ещё как измениться.

Но в целом дело не в этом. Проблема ТС в ДНК похоже. Бездумное мышкотыкотельство никогда до добра не доводило.

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 4)
Ответ на: комментарий от Anoxemian

ну мы же не знаем, может, они админа только вчера нового наняли)))

А может ТС это он и есть? :)))))))

anc ★★★★★
()

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

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

infomeh ★★
()
Ответ на: комментарий от rafaello

но после первой же перезагрузки sudo service networking restart выдает:

А зачем ты делаешь restart?

Если ты хочешь делать restart, то, скорее всего, нужно в /etc/network/interfaces прописать так же команды для опускания интерфейсов.

Проверяй как идут маршруты

traceroute -s адрес_интерфейса 8.8.8.8

И так проверяешь, что маршруты идут.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.