/ etc / network / interfacesに追加のIPアドレスを追加するにはどうすればよいですか?


42

サーバーで使用できる追加のIPアドレスがあるため、interfacesファイルで割り当てる必要があります。現時点では、私はこれを持っています:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.254.0
gateway bbb.bbb.bbb.bbb
dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
dns-search vps-number.com

新しいIPアドレス(fff.fff.fff.fff)を割り当てるために何を追加しますか?そして、新しい構成を受け入れるためにどのように再起動しますか?


それはどんな文字のセットですか?どこで見つけましたか?
グリーン

回答:


55
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address aaa.aaa.aaa.aaa
  netmask 255.255.254.0
  gateway bbb.bbb.bbb.bbb
  dns-nameservers ccc.ccc.ccc.ccc ddd.ddd.ddd.ddd eee.eee.eee.eee
  dns-search vps-number.com

auto eth0:0
iface eth0:0 inet static
  address fff.fff.fff.fff
  netmask 255.255.254.0

その後、実行sudo ifup eth0:0して、それを起動およびsudo ifdown eth0:0停止できます。


4
これはエイリアスを持つ古いバリアントです。代わりに「ip addr」で以下を使用してください。
アレクサンダーキム

5
古い(そして古いかもしれません)かもしれませんが、このメソッドは「非推奨」とマークされておらず、近い将来削除される予定がないため、このメソッドの使用に問題はありません。私見この方法は、他の方法よりもクリーンで安全です(ウィルマーの回答とそのコメントを参照)。
エリックカルヴァ

PSを使用している場合auto eth1(AWSでは使用していません)、例のように使用できませんauto eth0:0
-IvRRimUm

従来のソリューション Debian Stretchでは機能しませんでしたが、最終的には2番目のIPになりました。iproute2メソッドを参照してください、それは働いた。
x-yuri

24

追加のIPアドレスについては、通常次を追加します。

up ip addr add fff.fff.fff.fff/prefixlen dev eth0

iface eth0 inet static将来の再起動のためにスタンザの下部に移動してから、コマンドsudo ip addr add fff.fff.fff.fff/prefixlen dev eth0を手動で再度実行して、直接アクティブにします。

あなたのネットマスクがある場合は255.255.254.0、その後prefixlenである必要があり23、あなたのために。

しかし、もっと良い方法があるかどうか知りたいです。


どうもありがとう、受け入れられたアプローチは、ボンディング(動作しませんifenslave)が、これはありません!
mekkanizer

upnetwork-online.targetは待機しないため、問題があります。nginxなどのsystemdサービスはup、起動時に追加されたIPのバインドに失敗します
sdaffa23fdsf

Debian Stretch / Ubuntu 16.04 Xenial以降では、公式のソリューションがあります。
x-yuri

22

Heihachiが指摘しているように、ethx:xエイリアスの使用は時代遅れです。しかし、ip addr解決策はさらに悪い。また、downバリアントを追加する必要ifdownがあるか、非常にきれいに動作しないため、くて不完全です。

より良い解決策については、https://wiki.debian.org/NetworkConfiguration#Multiple_IP_addresses_on_one_Interfaceを参照してください。同じインターフェースに対してifaceスタンザを繰り返し実行できるようになりました。したがって、上記の解決策だけでなく、:x接尾辞を削除します。


2
リンクのドキュメントから、最新の方法(iproute2と呼ばれる)について話しています:ただし、この方法は危険です!特定のドライバー/ハードウェアの組み合わせは、エイリアスインターフェイスにラベルが割り当てられていない場合、リンクの起動に失敗することがあります。新しい方法はそれほど信頼できないと言っている公式文書であることを考えると、私は機能しない廃止された方法に固執したいと思います。
本当に素敵な

1
公式で正確なドキュメント参照のために賛成票を投じますが、公式ドキュメントで危険とマークされているため、「より良い解決策」ではありません。
本当に素敵な

2
@reallynice合理的なポイント。ただし、これがバグのあるカーネル/ドライバーのように聞こえるシステムで問題を引き起こす場合は、私見です。singleい:0 /:1 / etcエイリアスなしで、1つのインターフェイスで複数のIPアドレスを何年も使用しています(また、Wikiのソリューションは、上記のRobbieのソリューションと機能的に同等であると確信しています)
Wilmer

@Wilmer Ubuntu 16.04にvmxnet3デバイス(VMware ESXi 6.5)があり、最初のデバイスを起動する新しい方法しか得られませんでした。:x接尾辞を削除することは明らかに私にとっては良くありませんでした。ドキュメンテーションは、:xサフィックスで取得していたエラーをクリアしました。
jbo5112

iproute2メソッドに関する最後の既知の問題は2015年でした。そして、従来の方法(名前に気づきましたか?)は、Debian Stretchでは機能しませんでした。後のオプション(from eth0:0)が前のオプション()をオーバーライドしたように見えましたfrom eth0。つまりsystemctl restart networking、2番目のIPだけで終わった後(最初のIPは切り離されました)。
x-yuri
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.