/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
ファイルの実用的な使用法は何ですか?
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
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
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
実際には、実際に使用されることはありません。