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

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

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

答え1

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

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

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

答え2

ほとんどの場合、それはできません。クラスレスネットワーク特定の IPv4 アドレスには 30 個の異なるネットマスクを設定できます。

答え3

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

だからもしあなたが知っているなら全て(= 現在または将来使用される) 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 に等しい) が機能します。

答え4

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

-bash-4.2$ ip ad 1: lo: mtu 65536 qdisc noqueue 状態 不明 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 を使用してネットワーク サービスを再起動してください。

関連情報