AWS EC2のCentOS7に複数のIPアドレスを割り当てる場合

日付 2018.09.10
タイトル AWS EC2のCentOS7に複数のIPアドレスを割り当てる場合
本文
#
# !!重要!!
# 最初にブートしなくなっても元に戻せるようにスナップショットを取得しておくこと
#


# route-[device]やrule-[device]が利用できるようにパッケージを導入
>>> yum install NetworkManager-config-routing-rules
# by https://mano.xyz/2033/
# NetworkManager-config-routing-rulesのインストールに言及、very thanks!!
<<<


# ネットワークインターフェースの作成
# → サブネットは、お互いに通信する場合同一にしておいたほうが良い
# → セキュリティグループは必要に応じて別にするか、メインと同じにする

# 作成後、「アタッチ」でインスタンスにアタッチ
# Elastic IPのアクションからアドレスの関連付け
# 取得したアドレスとネットマスクからブロードキャスト、ネットワークを生成しておく

>>> ipcalc 172.xx.xx.xx/20 -bn
BROADCAST=172.xx.xx.255
NETWORK=172.xx.xx.0
<<<

# ハードウェアアドレスを調べておく
>>> ifconfig eth1 | grep ether
xx:xx:xx:xx:xx:xx
<<<

# eth1を設定
cd /etc/sysconfig/network-scripts/
>>> vi ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
BOOTPROTO=static
ONBOOT=yes
USERCTL=no
HWADDR=xx:xx:xx:xx:xx:xx
IPADDR=172.xx.xx.xx
NETMASK=255.255.240.0
DEFROUTE=no
IPV6INIT=no
<<<

# 上げてみる
ifup eth1

# 問題なければネットワークリスタート
systemctl restart network

# 追加のルート設定を書く、テーブルは仮に100としておいた
# gatewayアドレスは既存NIC側と同一と仮定、別ルートの場合はそちらを記載
>>> vi route-eth1
172.xx.xx.0/20 dev eth1 table 100
default via 172.xx.xx.1 dev eth1 table 100
<<<

# 取得したアドレスからのパケットはtable 100のルーティングに従うようにルールを追加
>>> vi rule-eth1
from 172.xx.xx.xx table 100
<<<

# サーバを再起動してどちらのインターフェースにもアクセスできればOK