Когда я выполняю route -n
, откуда именно (откуда struct
) извлекается отображаемая информация?
Я пытался выполнить, strace route -n
но я не помог мне найти правильное место, где он хранится.
linux
networking
kernel
linux-kernel
route
синтагма
источник
источник
struct
отвечает за хранение информации./etc/sysconfig/network-scripts/ifcfg-${DEV}
в простых случаях, и / или из того, что можно найти/etc/sysconfig/network-scripts/route-${DEV}
в более запутанных случаях (в случае Red Hat / CentOS). 7). Последний файл содержит выводip -r
. См. Добавление статического маршрута в CentOS .Ответы:
route
Илиip
утилиты получают информацию из псевдо файловой системы называетсяprocfs
. Обычно устанавливается под/proc
. Существует файл с именем/proc/net/route
, где вы можете увидеть таблицу IP-маршрутизации ядра.cat
Вместо этого вы можете распечатать таблицу маршрутизации , но утилита маршрутизации форматирует выходные данные, удобные для чтения, поскольку IP-адреса хранятся в шестнадцатеричном виде.Этот файл не просто обычный файл. Он всегда генерируется ровно в тот момент, когда он открывается при попытке прочитать, как и все файлы в файловой системе proc.
Если вы заинтересованы в том, как записан этот файл, вам нужно взглянуть на исходные коды ядра: эта функция выводит таблицу маршрутизации. Вы видите в строке 2510 заголовок таблицы маршрутизации. Таблица маршрутизации в основном представлена в структуре
fib_info
, определенной в заголовочном файле ip_fib.h, строка 98 .источник