Ec2-net-utilsを使用せずにOSのインターフェースをどのように設定しますか?
単一のEC2インスタンスでアクセスできるように約18のパブリックIPを設定する必要があります。各パブリックIPは、インスタンス上の単一の内部IPにバインドする必要があります。必要なElasticIPで構成された2つのENIがあり、これらはインスタンスに接続されていますが、OSにENIを認識させるのに行き詰まっています。
私は このチュートリアル をフォローしていますが、インターフェイスごとに複数のIPを構成するように拡張する方法を理解できません。また、 この質問 によると、これを行う正しい方法についていくつかの議論があるようです。
誰かが私を正しい方向に向けることができれば、私は本当に感謝しています。私はこれでほぼ2日を無駄にしました!
詳細は次のとおりです。
@mootmootによる回答は、これについてほとんどの方法で私を導きましたが、完全を期すために、最終的に動作する構成に至るまでの手順を以下に示します。これを行うためのより良い方法があると確信していますが、他の誰かが立ち往生している場合に備えて...
/ etc/sysconfig/network-scripts内のファイルに次の変更を加えました
ifcfg-ethで定義されたインターフェースをそのままにして、次のようにエイリアスを追加しました。
ifcfg-eth0:
DEVICE=eth0:0
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
IPV6INIT="no"
DEFROUTE="no"
IPADDR0="10.0.1.XXX"
PREFIX0="24"
ここで、10.0.1.XXXはENIの最初のsecondaryアドレスです(プライマリアドレスは、デフォルトのifcfg-ethファイルで指定されているようにdhcpによって構成されたままです)
eNIのすべてのIPが指定されるまで、ifcfg-eth0:Xファイルを追加し続けます。
次に、上記のeth0エイリアスと同じテンプレートとENIのプライマリIPアドレスを使用して、ファイル内の2番目のデバイスを定義しますifcfg-eth1。
次に、上記のようにifcfg-eth1:などと呼ばれるファイルを定義して、eth1のエイリアスを追加します。
次のルートファイルを定義します。
route-eth
default via 10.0.1.1 dev eth0 table 1
route-eth1
default via 10.0.1.1 dev eth1 table 2
ここで、10.0.1.1はVPCゲートウェイのアドレスです
次に、eth2のすべてのIPとeth1のすべてのセカンダリIPのルールを次のように定義する必要がありました。
rule-eth
from 10.0.1.106 lookup 1
from 10.0.1.105 lookup 1
... etc
rule-eth1
from 10.0.1.41 lookup 1
from 10.0.1.226 lookup 1
... etc
私も行を追加しました
GATEWAYDEV=eth0
/ etc/sysconfig/networkingへ
すべてのアドバイスに感謝し、同様の状況で誰かを助けることを願っています。
前の答えは雑然としているので、AWS CLIを使用するだけでワークフローを使用して別の答えを配置します(AWS SDKを使用して自動化スクリプトを微調整できます)( http://docs.aws.Amazon.com/cli /latest/userguide/installing.html )
すべてのスクリプトを配置したら、適切なENIを使用してEC2インスタンスを再作成するのはほんの数分です。
(以下の更新された回答)Linuxでは、インターフェイスに複数のIPアドレスを割り当てるためのインターフェイスへの正しい割り当ては、物理インターフェイスにIPアドレスを追加することです。 ubuntuなどの場合、最初のインターフェースの場合はeth0:0、eth0:1、後続のインターフェースの場合はeth1:0、eth1:1のようになります。
そして、これはCentosではわずかに異なります。
enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether ....
inet 192.168.1.150/24 brd 192.168.1.255 scope global enp0s3
inet 192.168.1.151/24 brd 192.168.1.255 scope global secondary enp0s3
inet 192.168.1.152/24 brd 192.168.1.255 scope global secondary enp0s3
したがって、正しいドキュメントはこれである必要があります。 http://www.unixmen.com/linux-basics-assign-multiple-ip-addresses-single-network-interface-card-centos-7/
つまり、Centosはインターフェイスごとに1つのネットワークインターフェイスファイルを自動的に作成します。/etc/sysconfig/network-scripts /に移動し、各ファイル名をifcfg-eth *として確認します(上記のリンクにenp0が表示される理由を聞かないでください)。トリッキーな部分は、CentosがNetworkManagerの使用を強制するかどうかであり、centosのドキュメントwiki.centos.org/FAQ/CentOS7の要求に応じて構成する必要があります。
したがって、m3.xlarge用に少なくとも4つのインターフェイスファイルが表示されます。/etc/sysconfig/network-scripts/ifcfg-eth0/etc/sysconfig/network-scripts/ifcfg-eth1/etc/sysconfig/network-scripts/ifcfg-eth2/etc/sysconfig/network-scripts/ifcfg-eth3
メインインターフェイスが実行されている必要があるため、実行中のインスタンスのIPアドレスのヒントが表示されます。したがって、/ etc/sysconfig/network-scripts/ifcfg-eth0を開くと、インスタンスがIP 10.0.1.10として構成されている場合、次のように表示されます。
IPADDR0="10.0.1.10"
IPアドレスを追加するには、unixmenリンクが言うように実行します。
IPADDR1="10.0.1.97"
IPADDR2="10.0.1.98"
IPADDR3="10.0.1.99"
次に、ifcfg-eth1、ifcfg-eth2、ifcfg-eth3を開き、タスクを繰り返します。その後、「systemctlrestartnetwork」を使用して再起動します。 (すべての構成ファイルをバックアップして、将来ファイルをオーバーライドするだけにします)
次に、ルーティング部分で遊んでください。 VPCルートテーブルSubnetを印刷するだけです。/etc/sysconfig/network-scripts /内で、route-ethX、つまりroute-eth0、route-eth1、route-eth2、route-eth3を処理します。つまり、この部分を設定するには、独自のネットワークを知っている必要があります(VPCレイアウトに表示される必要があります)。 VPCゲートウェイ10.0.1.1を1つだけ言及したので、すべてのroute- *ファイルについて、次のようになります。
# I just assume your put all your 10.0.1.x in the CIDR /24 segments
#
# file route-eth0
# Assume your first ENI IP address is 10.0.1.10
# format : default via gateway-ip dev dev-name table route-table-number
default via 10.0.1.1 dev eth0 table 0
# format : network cidr dev dev-name src ENI-intrace-IP route-table-number
10.0.1.0/24 dev eth0 src 10.0.1.10 table 0
# file route-eth1
# Assume your 2nd ENI IP address is 10.0.1.11
default via 10.0.1.1 dev eth1 table 1
10.0.1.0/24 dev eth1 src 10.0.1.15 table 1
# file route-eth2
# Assume your 2nd ENI IP address is 10.0.1.12
default via 10.0.1.1 dev eth1 table 2
10.0.1.0/24 dev eth2 src 10.0.1.12 table 2
次に、/ etc/sysconfig/network-scriptsで、前述のドキュメントに従って、rule-ethX、つまりrule-eth0、rule-eth1を作成します。1。route-ethXに一致するようにテーブル番号をインクリメントします。2。IPを次のように変更します。 ENIに割り当てられた内部ネットワークアドレス。
# file rule-eth0 ,but as the doc suggest, you should skip this file.
# format : from ENI_IP/CIDR table <table_number>
from 10.0.1.10/32 table 0
#file rule-eth1
from 10.0.1.11/32 table 1
Centosネットワークセットアップは、ローカルVmware/virtualbox仮想ネットワークアダプターで再生する必要があります。そうすれば突然心配する必要はありません