web-dev-qa-db-ja.com

/ etc / networksファイルの実用的な使い方

/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ファイルの実用的な使用法は何ですか?

19
Martin

manual page に記述されているように、/etc/networksファイルはネットワークのシンボル名を記述するためのものです。ネットワークとは、末尾に.0が付いたネットワークアドレスを意味します。単純なクラスA、B、またはCネットワークのみがサポートされています。

あなたの例では、google-dnsエントリが間違っています。 A、B、Cネットワークではありません。これはip-address-hostname-relationshipであるため、/etc/hostsに属しています。実際、defaultエントリも準拠していません。

会社のネットワークからIPアドレス192.168.1.5を持っているとしましょう。 /etc/networkのエントリは次のようになります。

corpname 192.168.1.0

routenetstatなどのユーティリティを使用すると、それらのネットワークが変換されます(-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
16
chaos

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

実際には、実際に使用されることはありません。

5
wurtel