はい、あります。
1つのNIC(ネットワークインターフェース)に複数のIPアドレスを持たせることは可能です。
これは一般に:
IPエイリアス(IP alias)
セカンダリIP(secondary IP)
マルチアドレス構成
などと呼ばれます。
1. なぜそんなことをするのか?
代表的な用途は以下です。
1台のサーバで複数のサービスを分離したい
仮想ホスト(Webサーバ)をIP単位で分けたい
段階的なIP移行(旧IPと新IPを同時保持)
冗長構成(フェイルオーバー用IP)
複数サブネットに同時参加したい
2. 仕組みの考え方
NICは物理的な通信装置ですが、
IPアドレスは論理的にOSが管理している情報です。
つまり:
物理NIC(eth0) ├── 192.168.1.10 ├── 192.168.1.20 └── 10.0.0.5
のように、1つのインターフェースに複数のIPを割り当てられます。
3. OS別の設定方法
■ Linuxの場合
一時的に追加する(再起動で消える)
ip addr add 192.168.1.20/24 dev eth0
確認:
ip addr show eth0
永続化する場合
ディストリビューションにより異なりますが、例:
systemd-networkd
設定ファイルに複数Addressを書く:
[Network]Address=192.168.1.10/24Address=192.168.1.20/24
■ Windowsの場合
ネットワークアダプター設定 → IPv4 → 詳細設定 →
「IPアドレス」欄で追加可能。
4. 同一サブネット内で複数IPを持つ場合
例:
192.168.1.10/24
192.168.1.20/24
問題ありません。
ARPでそれぞれ応答します。
5. 異なるサブネットを持たせる場合
例:
192.168.1.10/24
10.0.0.5/24
これも可能です。
ただし:
デフォルトゲートウェイは基本1つ
ルーティング制御が必要になる場合あり
複雑な通信制御をするなら:
ip ruleip route
でポリシールーティングを使います。
6. 注意点
① セキュリティ
複数IPを持つと:
ファイアウォール設定を忘れやすい
意図しない公開が起こりやすい
② ARP問題
同一セグメントで複数IP持つとARP応答が増える
高トラフィック環境では設計が重要
③ クラウド環境
クラウドでは:
NICに「セカンダリIP」を割り当てる機能がある
OS側でも設定が必要な場合あり
7. よくある高度な応用
■ フェイルオーバー(Keepalived)
仮想IP(VIP)を複数サーバ間で移動
1つのNICに動的にIP付与・削除
■ コンテナ環境
1NICで複数IPを仮想的に管理
macvlanやbridgeで分離
8. まとめ
| 項目 | 結論 |
|---|
| 1NICで複数IP | 可能 |
| 同一サブネット | 問題なし |
| 異なるサブネット | 可能だがルーティング注意 |
| 用途 | サービス分離・冗長化・移行 |
| 設定方法 | OS側で追加 |
この記事へのコメント