システムにOracleSolaris11.3がインストールされています。ネットワーク構成プロファイルをDefaultFixed
に変更しました。その後、以下のコマンドを実行して、IPをNICインターフェイスに割り当てました。
# ipadm create-addr -T dhcp net0/v4
# ipadm create-addr -T static -a 172.21.67.40 net1/v4
この時点まで、すべてが正常です。
root@DellPowerEdge:~# ipadm
NAME CLASS/TYPE STATE UNDER ADDR
lo0 loopback ok -- --
lo0/v4 static ok -- 127.0.0.1/8
lo0/v6 static ok -- ::1/128
net0 ip ok -- --
net0/v4 dhcp ok -- 172.21.67.37/24
net1 ip ok -- --
net1/v4 static ok -- 172.21.67.40/16
以下のコマンドを試しました。
# ipadm create-addr -T dhcp net0/addr
# ipadm create-addr -T dhcp net1/addr
これで、次のように1つのインターフェイスに対して2つの異なるIPが表示されます。
root@DellPowerEdge:~# ipadm
NAME CLASS/TYPE STATE UNDER ADDR
lo0 loopback ok -- --
lo0/v4 static ok -- 127.0.0.1/8
lo0/v6 static ok -- ::1/128
net0 ip ok -- --
net0/addr dhcp ok -- 172.21.67.97/24
net0/v4 dhcp ok -- 172.21.67.37/24
net1 ip ok -- --
net1/addr dhcp ok -- 172.21.67.47/24
net1/v4 static ok -- 172.21.67.40/16
これらすべてのIPにアクセスできます。
異なるIPはどのように単一のNICインターフェースに割り当てられますか?それは予想される動作ですか?net0/v4
とnet0/addr
の違いは何ですか?
net0
はインターフェースであり、net0/addr
&net0/v4
はaddrobjオブジェクトです。同じレイヤー2(データリンク)ネットワークインターフェースに複数のaddrobj
が関連付けられている場合があります。
From Oracle Solaris Administration:Network Interfaces and Network Virtualization :
addrobj
システムで使用される一意のIPアドレスまたはアドレスのセットの識別子を指定します。アドレスは、IPv4またはIPv6タイプのいずれかです。
識別子は次の形式を使用します:interface/user_specified_string。
interfaceは、アドレスが割り当てられているIPインターフェースを指します。インターフェイス変数は、IPインターフェイスが設定されているデータリンクの名前を反映している必要があります。
user-specified-stringは、英字で始まり、最大32文字の英数字の文字列を指します。その後、ipadmshow-addrやipadmdelete-addrなど、システム内のアドレスを管理するipadmサブコマンドを使用するときに、数値のIPアドレスの代わりにaddrobjを参照できます。
これはコメントを目的としていますが、長すぎるとマークされているため、回答スロットに入れてください。
同じNICで同じサブネットを使用することはお勧めしませんが、何も購入することはありません。同じリンクでVNICを使用しても、IP /リンクを制御または監視する必要がない限り、それほど多くを購入することはありません。
役立つかどうかはわかりませんが、ルーティングに役立つように厳密なマルチホーミングを設定することを検討することもできます。ファイアウォールやVPNノードなど、他のドメインへのゲートウェイであるシステムの場合は、この手順を使用して厳密なマルチホーミングをオンにします。 hostmodelプロパティは、ipadm
を介してマルチホームシステム上のIPパケットの送受信動作を制御します。
現在の値を確認し、可能な値をメモします。ipadm show-prop -p hostmodel ip