識者の皆様
いつもご指導ありがとうございます
現在、EC2(Amazon Linux)でdockerをインストールして、dokcerのコンテナをVPCのサブネットに公開をしたいと考えています
手順としては、以下の通りの手順を実行しています
【手順】
1.bridge作成
docker network create \
--driver bridge \
--subnet=192.168.33.0/24 \ #VPC-subnet
--gateway=192.168.33.10 \ #docker hostのipアドレス
--opt "com.docker.network.bridge.name"="br0" \
shared_nw
2.br0作成
cat >> /etc/sysconfig/network-scripts/ifcfg-br0 <<EOF
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
STP=no
echo "BRIDGE=br0" >> /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/init.d/network restart
3.brctlでbridgeの状況を確認
brctl show
bridge name bridge id STP enabled interfaces
br0 8000.0a4a84f0f732 no eth0
4.dockerを起動
docker run -v /var/log/script:/var/log/script --name test01 --net shared_nw --ip 192.168.33.10 -dti --security-opt label:disable --cap-add=NET_ADMIN centos7
5.brctlでbridgeの状況を確認
bridge name bridge id STP enabled interfaces
br0 8000.0a4a84f0f732 no eth0
veth9ef588d
6.コンテナにログイン
docker exec -it test01 /bin/bash
7.コンテナのroute tableの確認
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.33.10 0.0.0.0 UG 0 0 0 eth0
172.31.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
8.pingでVPC-subnetのgatewayにpingの疎通確認
ping 192.168.33.1
PING 192.168.33.1 (192.168.33.1) 56(84) bytes of data.
From 192.168.33.1 icmp_seq=1 Destination Host Unreachable
From 192.168.33.1 icmp_seq=2 Destination Host Unreachable
From 192.168.33.1 icmp_seq=3 Destination Host Unreachable
上記の通り、VPC-subnetのgatewayにpingが届きません
tcpdumpでパケットの状況を確認しているとvethからgatewayのarpの解決を行っているようなのですが、gatewayからの返事がなく、pingが届かないようです
あえてarpでgatewayのmacをstaticに登録をしてpingを打って見たのですが、結果は変わらずでした
色々と試行錯誤をしているのですが、awsのVPCにおけるl2ベースの何らかの制限があるのではと考えております
識者の皆様なにか情報をお持ちであれば、ご教示をいただけませんでしょうか
よろしくおねがいします