$ man route
)-e
:「-e use netstat(8)-format for displaying the routing table. -ee will generate a very long line with all parameters from the routing table.」($ man route
)-n
:「show numerical addresses instead of trying to determine symbolic host names.」$man netstat
)$man ip route
)各サブネット CIDR ブロックの最初の 4 つの IP アドレスと最後の IP アドレスは使用できず、EC2 インス タンスなどのリソースに割り当てることができません。例えば、CIDR ブロック 10.0.0.0/24 を持つサ ブネットの場合、次の 5 つの IP アドレスが予約されます。
• 10.0.0.0.: ネットワークアドレスです。
• 10.0.0.1: AWS が VPC ルーター用に予約しています。
• 10.0.0.2: AWS が予約しています。DNS サーバーの IP アドレスは、VPC ネットワーク範囲のベースに プラス 2 したものです。https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-ug.pdf
ルーティングテーブルも参照。
サブネット10.2.0.0/24
のEC2インスタンス(例10.2.0.50/24)のルーティングテーブルを確認する
route -en
// or
// netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 10.2.0.1 0.0.0.0 UG 0 0 0 eth0
10.2.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.169.254 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
0.0.0.0
が指定されたルートをデフォルトルートと呼ぶ10.2.0.1
(前述したAmazon VPCのルーターアドレスを参照)0.0.0.0
を指定した場合はルーティングは無効になる(よってGatewayを使用しない)169.254.169.254
はメタサーバと決まっているのでGatewayは0.0.0.0
(無効)169.254.169.254
はインスタンスメタデータを返すH
はHost、G
はGateway、なしはネットワークを表す最初の列は宛先ネットワーク、2 番目の列はパケットを転送するルーターを示しています。U フラグは送信経路が up 状態であること、G フラグは送信経路がゲートウェイへのものであることを示します。H フラグは、宛先がネットワークではなく、完全指定のホストアドレスであることを示します。
-- https://docs.oracle.com/cd/E19620-01/805-5857/troubleshoot6-19973/index.html
$ curl http://169.254.169.254/latest/meta-data/
ami-id
ami-launch-index
ami-manifest-path
block-device-mapping/
events/
hibernation/
hostname
identity-credentials/
instance-action
instance-id
instance-life-cycle
instance-type
local-hostname
local-ipv4
mac
metrics/
network/
placement/
profile
public-hostname
public-ipv4
public-keys/
reservation-id
security-groups
グローバルIPアドレスを確認。
curl http://169.254.169.254/latest/meta-data/public-ipv4
203.0.113.0
EC2はifconfig
やip address show
で確認できるアドレスはプライベートIPアドレス。
グローバルIPアドレスを確認する場合は上記のようにメタサーバを使用する。