セカンダリ・プライベートIPアドレスを使用するためのLinuxの構成
Linuxをセカンダリ・プライベートIPアドレスを使用するように構成します。
セカンダリ・プライベートIPをVNICに割り当てた後、それを使用するようにOSを構成する必要があります。
基本コマンド(再起動後は維持されない)
ip addr add <address>/<subnet_prefix_len> dev <phys_dev> label <phys_dev>:<addr_seq_num>
<address>
: セカンダリ・プライベートIPアドレス。<subnet_prefix_len>
: サブネットの接頭辞の長さ。たとえば、サブネットが192.168.20.0/24の場合、サブネット接頭辞の長さは24です。<phys_dev>
: アドレスを追加するインタフェース(例: ens2f0)。<addr_seq_num>
: デバイス上のアドレス・スタックの連続した番号(例: 0)。
ip addr add 192.168.20.50/24 dev ens2f0 label ens2f0:0
後でアドレスを削除する場合は、次を使用できます:
ip addr del 192.168.20.50/24 dev ens2f0:0
VNICからもセカンダリIPを削除してください。これは、前述のコマンドを実行してOS構成からアドレスを削除する前または後に行うことができます。
セカンダリIPをセカンダリVNICに割り当て、セカンダリVNICにポリシーベースのルーティングを使用している場合は、ip rule add from <source address> lookup <table name>
コマンドを使用して、セカンダリIPアドレスについて同じルート表を参照するようにインスタンスのルート・ルールを構成します。
構成ファイル(再起動後も維持される)
再起動後も構成を維持するには、構成ファイルに情報を追加します。
Oracle Linux 7では、/etc/sysconfig/network-scripts/ifcfg-<phys_dev>:<addr_seq_num>
という名前のifcfg
ファイルを作成します。前述の例を続行する場合、ファイル名は/etc/sysconfig/network-scripts/ifcfg-ens2f0:0
になり、内容は次のようになります:
DEVICE="ens2f0:0"
BOOTPROTO=static
IPADDR=192.168.0.50
NETMASK=255.255.255.0
ONBOOT=yes
Oracle Linux 8またはOracle Linux 9では、推奨される方法は、nmcliを使用してNetworkManagerのインタフェースを構成することです。
ネットワーク・マネージャが再起動後に接続を上書きする場合、推奨される解決策はブート時にip addr add <address>/<subnet_prefix_len> dev <phys_dev> label <phys_dev>:<addr_seq_num>
コマンドを実行することです。これは、cronジョブまたは/etc/rc.d/rc.localなどを使用して実行できます。または、dracutがNetworkManager接続プロファイルを上書きしないように、カーネル・コマンドライン・パラメータを変更できます。
セカンダリIPをセカンダリVNICに割り当て、セカンダリVNICにポリシーベースのルーティングを使用している場合は、ip rule add from <source address> lookup <table name>
コマンドを使用して、セカンダリIPアドレスについて同じルート表を参照するようにインスタンスのルート・ルールを構成します。
/etc/netplan/<filename>.yaml
に格納されているnetplan構成を作成または変更します。前述の例を続行するには、ファイル名が/etc/netplan/50-cloud-init.yaml
である場合、次に示すように(すべてのアドレスの) DHCPを無効にして、それを手動構成に置き換えるように変更します:
network:
ethernets:
ens3:
dhcp4: no
addresses: [192.168.64.223/24, 192.168.64.75/24]
gateway4: 192.168.64.1
nameservers:
addresses: [169.254.169.254]
match:
macaddress: 02:00:17:0e:66:7b
set-name: ens3
version: 2
この例では、192.168.64.223はVNICに割り当てられたプライマリIPアドレスで、192.168.64.75はセカンダリIPアドレスです。macaddress
はVNICを指し、これはコンソールまたはoci-utils
で確認できます。より複雑なnetplanの構成例は、netplanのリファレンス・ページを参照してください。アップストリームの例は、ネットワーク・インタフェースへのVLANのアタッチを参照してください。
セカンダリIPをセカンダリVNICに割り当て、セカンダリVNICにポリシーベースのルーティングを使用している場合は、ip rule add from <source address> lookup <table name>
コマンドを使用して、セカンダリIPアドレスについて同じルート表を参照するようにインスタンスのルート・ルールを構成します。