カーネルコマンドラインから仮想ネットワークIPアドレスを追加するにはどうすればよいですか?

カーネルコマンドラインから仮想ネットワークIPアドレスを追加するにはどうすればよいですか?

一般的に実行する仮想IPアドレスを追加したいと思います。

ifconfig eth0:0 192.168.1.1

(または合格/etc/network/interfaces)。しかし、カーネルのコマンドラインでこれを行いたいと思います。コマンドの形式は次のとおりです。

ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>

ただし、仮想IP名の形式はコロンを使用し、これはカーネルコマンドライン形式と競合します。たとえば、次のような非仮想デバイスはeth0正常に動作します。

ip=192.168.1.1:::::eth0:::

ただし、仮想デバイスを使用しようとすると、eth0:0以下は機能しません。

ip=192.168.1.1:::::eth0:0:::

(追加のコロンがフォーマットを破るとは予想しませんでした)。注:これが機能しない場合は、デバイスではなくeth0デバイスeth0:0を構成し続けることを意味します。

これを行う方法はありますか?

ベストアンサー1

不可能に見える。

これipパラメータのカーネル文書文法は次のとおりです。

ip=<client-ip>:<server-ip>:<gw-ip>:<netmask>:<hostname>:<device>:<autoconf>:<dns0-ip>:<dns1-ip>

単一client-ip

これLinux IPエイリアスドキュメントコロン形式が使用されなくなったことを示します。

このオプションは単に単語区切り文字としてip扱われ、リテラルをエスケープする特別な方法は提供しません。::

https://github.com/torvalds/linux/blob/master/net/ipv4/ipconfig.c#L1614

おすすめ記事