Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Для новичков как вообще в Linux, так и в конкретной теме, к которой относится вопрос.

Модератор: Bizdelnick

Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Друзья! Как прописать, я не знаю, но вот что нашёл в мане:

Shell

$ man interfaces
...
IFACE OPTIONS
...
up command, post-up command
Run command after bringing the interface up. If this command fails then ifup aborts, re‐
fraining from marking the interface as configured (even though it has really been config‐
ured), prints an error message, and exits with status 0. This behavior may change in the fu‐
ture.

$
То есть можно использовать опцию up. Посмотрим на таблицу маршрутизации:

Shell

$ ip route
2.45.0.0/16 dev enp0s3 proto kernel scope link src 2.45.23.56
$
Добавим туда нужный нам маршрут:

Shell

$ sudo ip route add 45.34.12.78 via 2.45.23.252
[sudo] пароль для user:
$
$ ip route
2.45.0.0/16 dev enp0s3 proto kernel scope link src 2.45.23.56
45.34.12.78 via 2.45.23.252 dev enp0s3
$
Добавленный маршрут, кстати говоря, вполне себе рабочий. 45.34.12.78 пингуется:

Shell

$ ping 45.34.12.78
PING 45.34.12.78 (45.34.12.78) 56(84) bytes of data.
64 bytes from 45.34.12.78: icmp_seq=1 ttl=64 time=1.26 ms
64 bytes from 45.34.12.78: icmp_seq=2 ttl=64 time=0.712 ms
64 bytes from 45.34.12.78: icmp_seq=3 ttl=64 time=0.916 ms
64 bytes from 45.34.12.78: icmp_seq=4 ttl=64 time=0.775 ms
^C
--- 45.34.12.78 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3027ms
rtt min/avg/max/mdev = 0.712/0.916/1.261/0.212 ms
$
Ну всё, остаётся эту команду добавления маршрута прописать в /etc/network/interfaces, перезагрузить и всё будет круто. Прописываем (самая последняя строчка):

Shell

$ cat /etc/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

auto enp0s3
iface enp0s3 inet static
address 2.45.23.56/16
gateway 2.45.23.56
up ip route add 45.34.12.78 via 2.45.23.252

$
Перезагружаем, смотрим, что получилось:

Shell

$ ip route
2.45.0.0/16 dev enp0s3 proto kernel scope link src 2.45.23.56
$
$
$ ping 45.34.12.78
ping: connect: Сеть недоступна
$
Ничё не получилось, опять руками маршрут прописывать нужно. ЧЯДНТ? Спасибо, кто откликнется. Debian 13
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21459
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение Bizdelnick »

Не в up, а в post-up надо.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Bizdelnick писал:
25.03.2026 19:29
Не в up, а в post-up надо.
бесполезно

Shell

$ cat /etc/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

auto enp0s3
iface enp0s3 inet static
address 2.45.23.56/16
gateway 2.45.23.56
post-up ip route add 45.34.12.78 via 2.45.23.252

$

Shell

$ ip route
2.45.0.0/16 dev enp0s3 proto kernel scope link src 2.45.23.56
$
$ ping 45.34.12.78
ping: connect: Сеть недоступна
$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21459
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение Bizdelnick »

systemctl status networking.service
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Bizdelnick писал:
26.03.2026 11:23
systemctl status networking.service

Shell

$ systemctl status networking.service
× networking.service - Raise network interfaces
Loaded: loaded (/usr/lib/systemd/system/networking.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Thu 2026-03-26 20:04:34 +05; 4s ago
Invocation: c75f59b06eb24afaae883794bdc95b6b
Docs: man:interfaces(5)
Process: 2533 ExecStart=/usr/sbin/ifup -a --read-environment (code=exited, status=1/FAILURE)
Process: 2554 ExecStopPost=/usr/bin/touch /run/network/restart-hotplug (code=exited, status=0/SUCCESS)
Main PID: 2533 (code=exited, status=1/FAILURE)
Mem peak: 1.9M
CPU: 15ms
$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21459
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение Bizdelnick »

Ну вот надо разбираться, значит, почему failed.
journalctl -xeu networking.service
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Bizdelnick писал:
26.03.2026 19:10
Ну вот надо разбираться, значит, почему failed.
journalctl -xeu networking.service
Да я как-то нее очень внимания на это обращал, ибо при ручном добавлении маршрута он добавлялся и даже что-то там пинговалось. Да, именно так, сейчас ещё раз проверил systemctl status networking.service. Он плох, но пингуется (если вручную добавить маршрут)
sudo ip route add 45.34.12.78 via 2.45.23.252
А вообще вот.
journalctl -xeu networking.service

Shell

мар 26 20:13:31 debian ifup[625]: ifup: failed to bring up enp0s3
мар 26 20:13:31 debian systemd[1]: networking.service: Main process exited, code=exited, status=1/F>
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ An ExecStart= process belonging to unit networking.service has exited.
░░
░░ The process' exit code is 'exited' and its exit status is 1.
мар 26 20:13:32 debian systemd[1]: networking.service: Failed with result 'exit-code'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit networking.service has entered the 'failed' state with result 'exit-code'.
мар 26 20:13:32 debian systemd[1]: Failed to start networking.service - Raise network interfaces.
░░ Subject: Ошибка юнита networking.service
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Произошел сбой юнита networking.service.
░░
░░ Результат: failed.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21459
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение Bizdelnick »

Немногословно. А если вручную сделать ifdown enp0s3, а потом ifup -v enp0s3? Если это локальная машина, конечно.
Добавлено (00:12):
жучара писал(а):
25.03.2026 19:38

Shell

address 2.45.23.56/16
gateway 2.45.23.56
А почему шлюз совпадает с адресом интерфейса? Тут явно что-то не так.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
bars
Сообщения: 1066
ОС: BSD/LINUX

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение bars »

жучара писал(а):
26.03.2026 19:58
ip route add 45.34.12.78 via 2.45.23.252
А по крону запускать при рестарте?

Код: Выделить всё

@reboot  ip route add 45.34.12.78 via 2.45.23.252
Добавлено (09:59):
Покажите

Код: Выделить всё

ifconfig -a
Настройка BSD систем
Знание сила, незнание Рабочая сила!
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Bizdelnick писал:
27.03.2026 00:07
А если вручную сделать ifdown enp0s3, а потом ifup -v enp0s3? Если это локальная машина, конечно.

Shell

$ sudo ifdown enp0s3
ifdown: interface enp0s3 not configured
$
хз чё ей надо

Shell

$ cat /etc/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

auto enp0s3
iface enp0s3 inet static
address 2.45.23.56/16
gateway 2.45.23.56
post-up ip route add 45.34.12.78 via 2.45.23.252
$

Shell

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:04:fc:2f brd ff:ff:ff:ff:ff:ff
altname enx08002704fc2f
inet 2.45.23.56/16 brd 2.45.255.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe04:fc2f/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
$
ось в виртуалке, нулёвая.
Bizdelnick писал:
27.03.2026 00:07
А почему шлюз совпадает с адресом интерфейса? Тут явно что-то не так.
это я специально написал. Машина сама по себе, одна-единственная в сети, имеет один адрес. Для простоты ни к чему не подсоединена, ни к какой другой машине.
...Впрочем, когда была подсоединена, тоже такой же эффект был.

++++++++++++++++++++++++++++++++++++++++++++++++++++
bars писал:
27.03.2026 09:50
Покажите

Код: Выделить всё

ifconfig -a

Shell

$ sudo ifconfig -a
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 2.45.23.56 netmask 255.255.0.0 broadcast 2.45.255.255
inet6 fe80::a00:27ff:fe04:fc2f prefixlen 64 scopeid 0x20<link>
ether 08:00:27:04:fc:2f txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 52 bytes 5729 (5.5 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 27 bytes 2759 (2.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27 bytes 2759 (2.6 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

$
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21459
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение Bizdelnick »

bars писал:
27.03.2026 09:50
А по крону запускать при рестарте?
Не пойдёт. Надо после поднятия интерфейса.
жучара писал(а):
27.03.2026 12:12
хз чё ей надо
Так ifup-то что говорит?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Bizdelnick писал:
27.03.2026 12:20
Так ifup-то что говорит?

Shell

$ sudo ifup enp0s3
Error: ipv4: Address already assigned.
ifup: failed to bring up enp0s3
$
и то верно:

Shell

$ cat /etc/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

auto enp0s3
iface enp0s3 inet static
address 2.45.23.56/16
gateway 2.45.23.56
post-up ip route add 45.34.12.78 via 2.45.23.252
$
и

Shell

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:04:fc:2f brd ff:ff:ff:ff:ff:ff
altname enx08002704fc2f
inet 2.45.23.56/16 brd 2.45.255.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe04:fc2f/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
$
соединение enp0s3 вроде и поднято, а статус сами знаете какой.
Я просто читаю маны.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21459
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение Bizdelnick »

Может, что-то ещё этот интерфейс настраивает? Что там есть, systemd-networkd, networkmanager, connman, netplan…
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
жучара
Сообщения: 1147
ОС: Debian 12

Re: Как на самом деле прописать таблицу маршрутизации в файл /etc/network/interfaces?

Сообщение жучара »

Bizdelnick писал:
27.03.2026 12:43
Может, что-то ещё этот интерфейс настраивает? Что там есть, systemd-networkd, networkmanager, connman, netplan…
Всё исправилось, когда шлюз по умолчанию исправил на "умолчальный" 2.45.0.1.

Shell

$ cat /etc/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

auto enp0s3
iface enp0s3 inet static
address 2.45.23.56/16
gateway 2.45.0.1
post-up ip route add 45.34.12.78 via 2.45.23.252
$
Смотрим положительные выводы:

Shell

$ ip route
default via 2.45.0.1 dev enp0s3 onlink
2.45.0.0/16 dev enp0s3 proto kernel scope link src 2.45.23.56
45.34.12.78 via 2.45.23.252 dev enp0s3
$

Shell

$ systemctl status networking.service
● networking.service - Raise network interfaces
Loaded: loaded (/usr/lib/systemd/system/networking.service; enabled; preset: enabled)
Active: active (exited) since Fri 2026-03-27 16:29:55 +05; 3min 33s ago
Invocation: 28b37cb1b89c464abb5f508de74845b0
Docs: man:interfaces(5)
Process: 634 ExecStart=/usr/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
Process: 794 ExecStart=/bin/sh -c if [ -f /run/network/restart-hotplug ]; then /usr/sbin/ifup -a --rea>
Main PID: 794 (code=exited, status=0/SUCCESS)
Mem peak: 3.3M
CPU: 36ms

Warning: some journal files were not opened due to insufficient permissions.
$

Shell

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:04:fc:2f brd ff:ff:ff:ff:ff:ff
altname enx08002704fc2f
inet 2.45.23.56/16 brd 2.45.255.255 scope global enp0s3
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe04:fc2f/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
$
странно всё это.
Я просто читаю маны.
Спасибо сказали: