практичне використання файлу / etc / network


18

Яке практичне використання /etc/networksфайлу? Як я розумію, в цьому файлі можна надати імена мережам. Наприклад:

root@fw-test:~# cat /etc/networks
default         0.0.0.0
loopback        127.0.0.0
link-local      169.254.0.0
google-dns      8.8.4.4
root@fw-test:~# 

Однак якщо я спробую використовувати це мережеве ім'я, наприклад, ipутиліта, воно не працює:

root@fw-test:~# ip route add google-dns via 104.236.63.1 dev eth0
Error: an inet prefix is expected rather than "google-dns".
root@fw-test:~# ip route add 8.8.4.4 via 104.236.64.1 dev eth0
root@fw-test:~#

Яке практичне використання /etc/networksфайлу?

Відповіді:


15

Як написано на сторінці керівництва , /etc/networksфайл повинен описувати символічні назви мереж. Під мережею мається на увазі мережева адреса з .0закінченням в кінці. Підтримуються лише прості мережі класу A, B або C.

У вашому прикладі google-dnsзапис неправильний. Це не мережа A, B або C. Це відношення ip-address-hostname, тому воно належить /etc/hosts. Насправді defaultзапис також не відповідає.

Давайте уявимо, що у вас є IP-адреса 192.168.1.5від вашої корпоративної мережі. Тоді запис /etc/networkможе бути:

corpname 192.168.1.0

При використанні утиліт, таких як routeабо netstat, ці мережі перекладаються (якщо ви не пригнічуєте роздільну здатність -nпрапором). Таблиця маршрутизації може виглядати так:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
corpname        *               255.255.255.0   U     0      0        0 eth0

4

ipКоманда ніколи не використовує ім'я хоста для введення або, так що ваш приклад навряд чи актуальний. Також ви ввели ім'я хоста /etc/networks, а не ім'я мережі!

Записи з /etc/networksвикористовуються інструментами, які намагаються перетворити числа в імена, наприклад, команда (застаріла) route. Без відповідного запису він показує:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     *               255.255.254.0   U     0      0        0 eth0

Якщо я тепер додаю рядок mylocalnet 192.168.0.0до /etc/networks:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.254   0.0.0.0         UG    0      0        0 eth0
mylocalnet      *               255.255.254.0   U     0      0        0 eth0

На практиці це ніколи не використовується.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.