/ etc / networks文件的实际用法


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文件的实际用途是什么?

Answers:


15

手册页中所述,该/etc/networks文件用于描述网络的符号名称。对于网络,表示.0末尾带有尾号的网络地址。仅支持简单的A,B或C类网络。

在您的示例中,google-dns输入错误。它不是A,B或C网络。这是一个ip-address-hostname-relationship,因此它属于/etc/hosts。实际上,该default条目也不符合要求。

假设您有一个192.168.1.5来自公司网络的IP地址。则输入/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命令)使用from 的条目。没有合适的条目,它将显示:

# 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

实际上,它从未真正使用过。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.