[AWS] ENI 추가 후 네트워크 통신 불가 증상.
# 아마존 공식 문서 (Amazon Linux 만 해당)
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html
하지만, 테스트 하고자 했던 인스턴스의 OS는 CentOS 였기 때문에, ec2-net-util 패키지가 기본 제공 되지 않았습니다.
현재 구성원하시는 두개의 CentOS 서버의 secondary ENI 끼리의 연결은 asymmetric routing(비대칭 라우팅) 으로 인하여 문제가 생기는듯 싶습니다.
이 문제를 해결하기 위하여 몇가지 OS 내에서 설정이 필요로 하는데요, 언급해주신대로 아마존 AMI의 경우 ec2-net-utils이 자동으로 이 결함을 고쳐주는 방면, CentOS 및 다른 배포판의 경우 직접 설정을 잡아주셔야 합니다.
앞서 다른 설정 변경전에 몇가지 파일 또는 인스턴스를 백업하시길 권장해 드립니다.
cp /etc/sysconfig/network-scripts/ifcfg-eth* /root/ cp /etc/rc.local /root/
그뒤 아래의 명령어를 순차적으로 실행해주세요
$ cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1
$ sed -i 's/eth0/eth1/g' /etc/sysconfig/network-scripts/ifcfg-eth1
$ /etc/init.d/network restart
위 명령어 실행 후 연결이 끊어진다면, eth1 의 내부 아이피로 재 접속합니다
먼저 두개의 네트워크 인터페이스의 내부 아이피를 저장합니다
$ IP1=eth0의 내부아이피
$ IP2=eth1의 내부아이피
$ GWIP=`curl http://169.254.169.254/latest/meta-data/local-ipv4 | awk -F\. '{print $1"."$2"."$3"."1}'` $ echo "default via $GWIP dev eth0 table 20" > /etc/sysconfig/network-scripts/route-eth0
$ echo "from $IP1 table 20" > /etc/sysconfig/network-scripts/rule-eth0
$ echo "default via $GWIP dev eth1 table 21" > /etc/sysconfig/network-scripts/route-eth1
$ echo "from $IP2 table 21" > /etc/sysconfig/network-scripts/rule-eth1
$ echo "default via $GWIP dev eth2 table 22" > /etc/sysconfig/network-scripts/route-eth2
$ echo "from 172.23.222.136 table 22" > /etc/sysconfig/network-scripts/rule-eth2
$ echo "route add -net default gw $GWIP netmask 0.0.0.0 dev eth0 metric 10001" >> /etc/rc.local $ echo "supersede dhcp-server-identifier 255.255.255.255;" >> /etc/dhcp/dhclient.conf $ reboot
위 명령어 실행뒤 시스템 재시작 후, 두개의 인터페이스가 동일히 작동 가능합니다.
http://thelongestblogurlicouldthinkof.blogspot.kr/2013/05/multiple-enis-on-amazon-aws-vpc-with.html