
私のVPSには2つのIPが割り当てられていますが、「ip a」には物理ネットワークインターフェイスeth0とループバックインターフェイスloが1つだけ表示されます。新しいIPを反映するようにコピーして/etc/sysconfig/network-scripts/ifcfg-eth0
編集しました。/etc/sysconfig/network-scripts/ifcfg-eth1
ただし、systemctl restart network
エラーのため失敗します。Bringing up interface eth1: Error: Connection activation failed: No suitable device found for this connection.
それでは、eth1を設定するために新しいデバイスをどのように追加しますか?それとも、別の物理ネットワークアダプタを追加しないと新しいデバイスを追加できませんか?それでは、これら2つのIPを同じインターフェイスeth0に割り当てることはできますか?どのように?
修正する:
@ABのアプローチに従いましたが、まだ動作しません。
TYPE=Ethernet
BOOTPROTO0=none
NAME0=eth0
DEVICE0=eth0
ONBOOT0=yes
PREFIX0=24
IPADDR0=x.x.x.x
NETMASK0=255.255.255.0
GATEWAY0=x.x.x.1
TYPE=Ethernet
BOOTPROTO1=none
NAME1=eth1
DEVICE1=eth1
ONBOOT1=yes
PREFIX1=24
IPADDR1=y.y.y.y
NETMASK1=255.255.255.0
GATEWAY1=y.y.y.1
次の構成も機能しません。
TYPE=Ethernet
BOOTPROTO0=none
NAME0=eth0
DEVICE0=eth0
ONBOOT0=yes
PREFIX0=24
IPADDR0=x.x.x.x
NETMASK0=255.255.255.0
GATEWAY0=x.x.x.1
TYPE=Ethernet
BOOTPROTO1=none
NAME1=eth0:1
DEVICE1=eth0
ONBOOT1=yes
PREFIX1=24
IPADDR1=y.y.y.y
NETMASK1=255.255.255.0
GATEWAY1=y.y.y.1
コマンドはsystemctl restart network
成功しましたが、ifconfig
eth0インターフェース1つとloインターフェース1つのみが表示されます。
修正する:
@ABの答えで正しい設定を使用して使用するとip a
機能します!これら 2 つの IP はインターフェイス eth0 の下に表示されます。
答え1
これら2つのIPアドレスは上記で設定できます。同じ相互作用。
この内容は次のように記録されます。レッドハット6ただし、RHEL 7 のマニュアルには表示されなくなります。おそらくこの設定は段階的に廃止されているため(NetworkManagerやNetworkManagerを使用するなどnmtui
)、あまり頻繁ではない設定は正式に文書化されなくなります。いつものように、CentOS 6/CentOS 7とまったく同じです。
IPADDRn=アドレス
ここで、address は IPv4 アドレスで、n は 0 から始まる連続した正の整数でなければなりません (例: IPADDR0)。設定に使用されます。複数のIPアドレス一つ 相互作用。アドレスが1つだけ設定されている場合は省略できます。
スクリプトの内容には、/etc/sysconfig/network-scripts/network-functions
まだ有効な構文があることが示されます。
expand_config () { local i=0 val for idx in '' {0..255} ; do ipaddr[$i]=$(eval echo '$'IPADDR$idx) if [ -z "${ipaddr[$i]}" ]; then [ "$idx" ] && [ $idx -ge 2 ] && break continue fi prefix[$i]=$(eval echo '$'PREFIX$idx) netmask[$i]=$(eval echo '$'NETMASK$idx) broadcast[$i]=$(eval echo '$'BROADCAST$idx) arpcheck[$i]=$(eval echo '$'ARPCHECK$idx) arpupdate[$i]=$(eval echo '$'ARPUPDATE$idx)
したがって、プラスに/etc/sysconfig/network-scripts/ifcfg-eth0
変更し、上記のリストの他の同様の設定に対して同じことを行います(例:を使用している場合はプラスに変更など)。IPADDR=
IPADDR0=
IPADDR1=
NETMASK=
NETMASK0=
NETMASK1=
修正する(OPが構成コンテンツを提供した後):唯一の関連項目上のリストから以下は(最初に使用する場合のみ)次のとおりです。
PREFIX
NETMASK
BROADCAST
ARPCHECK
ARPUPDATE
他にはありません。特に以下ではありません。
NAME
ただ一つ相互作用。また、
eth0:1
エイリアスアドレスをインターフェースとして使用することは避けてください。これは、他の設定を構成するときに役に立たず、エラーが発生しやすい古い概念です。この回答ではこの問題は発生しませんでした。GATEWAY
ただ一つデフォルトルート(実際には複数のインターフェイスがある場合でもここではそうではありません)2つの異なる独立したインターネットパスを持つことができるマルチホーミングは異なる獣であり、同じ質問に答えることはできません。
結局のところ、ifconfig
このコマンドは使用しないでください(このコマンドは古いAPIの一部であり、互換性ラベルなしで単一のインターフェイスに複数のIPv4アドレスを正しく表示しません)。代わりに、以下を使用してください。
ip address
または、ip -br address
ホストインターフェイスに設定されたアドレスを表示します。同様に、Linuxでパスを表示するための最良のコマンドは次のとおりです。
ip route
変えるroute
。
最終構成はifcfg-eth0
次のようにする必要があります。
TYPE=Ethernet
BOOTPROTO=none
NAME=eth0
DEVICE=eth0
ONBOOT=yes
PREFIX0=24
IPADDR0=x.x.x.x
NETMASK0=255.255.255.0
PREFIX1=24
IPADDR1=y.y.y.y
NETMASK1=255.255.255.0
GATEWAY=x.x.x.1
ホスティングプロバイダが詳細なルーティング文書を提供しない限り、同じゲートウェイxxx1が最終的にyyyyアドレスをルーティングするために使用されます。この場合、構成がifcfg-eth0
マスターするのは非常に難しいので、とにかく別の質問が必要です。 2番目のアドレスのプレフィックス/ネットマスクPREFIX1は、24ではなく32(および冗長NETMASK1、255.255.255.255)である可能性がありますが、これはホスティングプロバイダの文書がなければ不明であり、おそらく重要ではありません。