2

かなりの数の Windows Server マシンをセットアップする必要があるため、これらのタスクの一部を簡素化するために、C# で小さなプログラムを作成することにしました。最後に追加する必要があるのは、IP 範囲 (たとえば 74.117.238.112/28) を入力して、これらすべてを静的 IP として NIC に自動的に追加する機能です。

私はこれまで常に Web 電卓を使用してきましたが、C# でプログラムでそれを行う方法を見つけようとしています。私はこの記事を見つけましたHERE、これは非常に理にかなっていますが(そこから少し学びました)、少し混乱しています。過去に使用した電卓では、255.255.255.240 または .248 のようなサブネット マスクが表示されましたが、これは 4 つの値のうちの 1 つだけを返すようです。

このコード例は正しいですか、それとも実際に使用できるようにするにはさらに変更する必要がありますか?

4

1 に答える 1

5

あなたが言及したリンクは、さまざまな IP クラスの標準サブネット マスクを提供します。これは実際にはサブネット化ではありません。

私があなたを正しく理解していれば、IPアドレスではなくサブネット(例では/ 28)にのみ依存するサブネットマスクのみが必要です。

私はこの小さな関数を書きました::

    public static string GetSubnetMask(byte subnet)
    {
        long mask = (0xffffffffL << (32-subnet)) & 0xffffffffL;
        mask=IPAddress.HostToNetworkOrder((int)mask);
        return new IPAddress((UInt32)mask).ToString();
    }

サブネット (例: 28) を指定して呼び出すと、サブネットが文字列 (255.255.255.240) として返されます。

これが必要かどうか、または他に何かあれば教えてください。

于 2012-03-30T14:22:19.167 に答える