web-dev-qa-db-ja.com

IPアドレスからネットマスクを取得するにはどうすればよいですか?

IPアドレスからネットマスクを取得するにはどうすればよいですか?それを取得するコマンドはありますか?

9
fronthem

これは不可能です。可能であれば、ネットマスクは自動的に決定されるため、ネットマスクを使用する理由はまったくありません。

ネットマスクは、「ネットワーク」が開始および停止するIP範囲を指定するために使用されます。この範囲は任意です。

たとえば、IPアドレスが192.168.0.140の場合:
ネットマスクが255.255.255.0(cidr表記では/24)の場合、IP範囲は192.168.0.1 - 192.168.0.254になります。
ネットマスクが255.255.255.128(CIDR表記では/25)の場合、IP範囲は192.168.0.129 - 192.168.0.254になります。

14
Patrick

クラスレスネットワーク のため、ほとんどの場合はできません。特定のIPv4アドレスは、30の異なるネットマスクを持つことができます。

CentOS 7で直接IPアドレスからネットマスクを決定することはできませんが、「ip ad」と入力すると、対応するサブネット番号とともにIPアドレスが返されます。

-bash-4.2 $ ip ad 1:lo:mtu 65536 qdisc noqueue state UNKNOWN qlen 1

link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

inet 127.0.0.1/8 scope Host lo

   valid_lft forever preferred_lft forever

inet6 ::1/128 scope Host 

   valid_lft forever preferred_lft forever

2:eth0:mtu 1500 qdisc pfifo_fast状態UP qlen 1000

link/ether 00:16:3e:77:ca:e9 brd ff:ff:ff:ff:ff:ff

**inet 10.1.0.11/24** brd 10.1.0.255 scope global eth0

   valid_lft forever preferred_lft forever

inet6 fe80::216:3eff:fe77:cae9/64 scope link 

   valid_lft forever preferred_lft forever

サブネット番号は次のファイルにも保存されています

/ etc/sysconfig/network-scripts/ifcfg-eth0(eth0はネットワークカードのタイプに依存)

PREFIX設定を探します。提供する番号はサブネットマスクです

例:PREFIX = 24

上記のファイルにPREFIX番号がない場合、サーバーのネットワーク設定はデフォルトでサブネットマスク8になり、「ip ad」コマンドから再び表示されます。

PREFIX番号を変更する場合は、必ずsystemctl restart networkを使用してネットワークサービスを再起動してください。

2
culzeanman

ネットマスクは主に、同じサブネットワーク内のローカルアドレスを、ゲートウェイ経由でのみ到達可能な外部アドレスと区別するために使用されます。

したがって、同じサブネットワーク内のall(=現在または将来使用される)IPアドレスがわかっている場合は、それらすべてを含むネットマスクを構築できます。たとえば、192.168.2.4と192.168.2.253が同じサブネットワークにある場合、ネットマスク255.255.255.0(IP範囲192.168.2.0-255またはCidr表記192.168.2.0/24と同じ)が機能します。

1
jofel