Amazon Linux EC2 인스턴스에 두 번째 IPv4 퍼블릭 IP를 추가하는 방법

Amazon Linux EC2 인스턴스에 두 번째 IPv4 퍼블릭 IP를 추가하는 방법

EC2 인스턴스(Linux OS)가 있고 여기에 두 번째 네트워크 인터페이스를 추가했습니다. 공개 탄력적 IP를 얻어 네트워크 인터페이스에 할당했습니다. 그런 다음 네트워크 인터페이스를 EC2 인스턴스에 할당했습니다.

EC2 인스턴스에서 실행할 때

ifconfig

eth0 및 eth1 정보를 얻었고 개인 IP 주소가 올바르게 할당되었습니다. AWS의 EC2 인스턴스에 대해 "관리 IP 주소"를 선택하면 다음이 표시됩니다. 여기에 이미지 설명을 입력하세요.

두 네트워크 인터페이스 모두 동일한 서브넷 및 보안 그룹에 있습니다. eth0의 공용 IP는 ping할 수 있지만 eth1의 공용 IP는 ping할 수 없습니다.

내가 무엇을 놓치고 있나요?

업데이트: 두 번째(IP 52.27.xx)의 공용 DNS가 첫 번째 IP 34.212.xx와 정확히 동일하다는 것을 확인했습니다.

답변1

Windows 또는 AWS Linux를 사용하지 않는 한 인터페이스를 수동으로 구성해야 합니다.

여러 네트워크 인터페이스가 있는 Amazon Linux 또는 Windows Server 인스턴스를 시작하면 인스턴스 운영 체제의 인터페이스, 프라이빗 IPv4 주소 및 라우팅 테이블이 자동으로 구성됩니다.

Best Practices이 섹션에는 동일한 서브넷에 두 개 이상의 인터페이스가 있을 때 발생하는 잠재적인 문제에 대한 경고도 있습니다 .

동일한 서브넷에 있는 두 개 이상의 네트워크 인터페이스를 인스턴스에 연결하는 경우 비대칭 라우팅과 같은 네트워크 문제가 발생할 수 있습니다. 가능하다면 대신 기본 네트워크 인터페이스의 보조 프라이빗 IPv4 주소를 사용하세요. 자세한 내용은 보조 개인 IPv4 주소 할당을 참조하세요.

경고하다다음 단계는 아래 나열된 두 번째 참조 ymmv의 구문 분석된 버전입니다.

보조 인터페이스를 생성하기 위해 수행한 단계는 다음과 같습니다.

  1. 다음 내용으로 /etc/sysconfig/network-scripts/ifcfg-eth1 파일을 만듭니다.

    DEVICE=eth1
    NAME=eth1
    HWADDR=<value of link/ether from "ip a" command>
    BOOTPROTO=dhcp
    ONBOOT=yes
    TYPE=Ethernet
    USERCTL=no
    NM_CONTROLLED=no
    
  2. /etc/sysconfig/network를 편집하고 다음을 추가합니다.

    GATEWAYDEV=eth0
    
  3. cloud-init가 변경 사항을 덮어쓰는 것을 방지하려면 /etc/cloud/cloud.cfg를 편집하고 다음을 추가하세요.

    network:
     ; config: disabled
    
  4. 네트워크를 다시 시작하세요

    systemctl restart network
    
  5. 보조 라우팅 테이블 생성

    ip route add default via <default route ip from "ip route" output> dev eth1 table <new table number>
    
  6. 새 테이블에 경로 추가

    ip route add <secondary private ip> dev eth1 table <new table number from above>
    
  7. 정책 데이터베이스에서 규칙 설정

    ip rule add from <secondary private ip> lookup 1000
    
  8. 정적 경로 파일 /etc/sysconfig/network-scripts/route-eth1을 만들고 다음을 추가합니다.

    default via <default route IP> dev eth1 table 1000
    <private ip> dev eth1 table 1000
    
  9. rule-eth1에 대한 규칙 파일 /etc/sysconfig/network-scripts/rule-eth1을 만듭니다.

    from <secondary private ip> lookup <new table number>
    

노트

4단계에서 네트워크를 다시 시작하는 동안 오류가 발생할 수 있습니다. 이렇게 하면 ifcfg-eth0파일을 이동하거나 이름을 바꾼 pkill dhclient다음 ifcfg-eth0 파일을 다시 넣어야 재부팅 시 해당 파일이 선택됩니다.

인용하다

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html

https://aws.amazon.com/premiumsupport/knowledge-center/ec2-centos-rhel-secondary-interface/

https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/MultipleIP.html#ManageMultipleIP

관련 정보