EC2 Redhat - 다중 IP

EC2 Redhat - 다중 IP

두 개의 서브넷(서브넷 A와 서브넷 B)이 있는 VPC가 있습니다.
우리 팀은 각 서브넷에서 하나의 IP를 인스턴스에 여러 IP 할당하려고 합니다. 인스턴스를 시작했을 때
이미 기본 인스턴스의 프라이빗 IP가 있었고 SubnetA콘솔 옵션을 통해 다른 프라이빗 IP를 연결했습니다. 콘솔의 옵션에서 두 IP를 모두 볼 수 있습니다. 인스턴스를 다시 시작했고 다시 시작할 때 두 IP가 모두 표시될 것으로 예상했지만 기본 IP만 표시됩니다.SubnetBAttach network Interface
Managed IP Address
ifconfig

프라이빗 IP가 실제로 인스턴스에 연결되어 있는지 확인하기 위해 다음 명령을 사용하여 인스턴스 메타데이터를 쿼리합니다.

  • curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:14:46:91:bc:34/local-ipv4s
  • curl -s http://169.254.169.254/latest/meta-data/network/interfaces/macs/02:1d:2a:75:ax:04/local-ipv4s

위 두 명령의 출력에서 ​​각각 두 IP를 모두 볼 수 있습니다.

NETWORKMANAGER 상태를 확인했는데 systemctl status NetworkManager 중지되었습니다.

다음 명령을 사용하여 서비스를 시작하고 시작 시 NetworkManager를 자동으로 활성화했습니다.
systemctl start NetworkManager
systemctl enable NetworkManager

그런 다음 출력을 확인했습니다.ifconfig

이번에는 두 개의 MAC 주소가 표시되었습니다. 유일한 차이점은 두 번째 MAC 주소에서는 IP 주소를 볼 수 없다는 것이었습니다. 따라서 기본적으로 인터페이스가 작동되므로 기본 장치를 찾을 수 있습니다. 이 인터페이스와 연결된 IP 주소가 없습니다.

그래서 IP를 연관시키는 두 가지 옵션을 시도했습니다.

IP 주소를 수동으로 할당하려면:
sudo ifconfig ens6 w.x.y.z

또는 DHCP 서버(있는 경우)에 연락하여 인터페이스에 대한 IP 주소를 제공하도록 합니다.
sudo dhclient -v ens6

둘 다 작동하며 그 아래에 두 IP가 모두 표시됩니다 inet.

마지막 문제는 인스턴스를 다시 시작할 때마다 이 작업을 수행해야 한다는 것입니다. 그래서 다음 명령을 사용하여 영구 경로를 추가해 보았습니다.

sudo /sbin/route add default gw 1xx.xx.2xx.193
여기 IP는 두 번째 IP이지만 SubnetB오류가 발생합니다. SIOCADDRT: Network is unreachable

위의 문제를 해결하기 위해 제가 한 일은
/etc/sysconfig/network-scripts/ifcfg-ens5기본 IP 세부 정보가 포함된 파일이 이미 있고
/etc/sysconfig/network-scripts/ifcfg-ens6보조 IP의 필요한 세부 정보가 포함된 다른 파일을 추가한 것입니다.

이것이것이 제가 언급한 것입니다.

다시 시작하고 작동 중입니다.

하지만 보조 IP를 핑할 수 없습니다.. 두 번째 서브넷에서 하나를 더 추가 해야 할 것 같은데 Gateway확실하지 않습니다.

보조 IP를 사용하여 트래픽, ping, ssh를 라우팅하려면 추가로 수행해야 할 작업이 있습니다.

내 VPC 서브넷 CIDRS를 참조하세요.

서브넷 A: 1.7.2.128/26 서브넷 B:1.7.2.192/26

출력 ip route: 여기에 이미지 설명을 입력하세요.

고쳐 쓰다:

오늘 서버를 시작했을 때 테스트 인스턴스 중 하나에서 보조 IP(200)를 핑할 수 있었지만 기본 IP(136)는 핑할 수 없었습니다. 또한 이 작업은 ssh기본 IP를 사용하여 수행됩니다.

답변1

ip route add default via 1XX.XX.XXX.X9X dev ens6 table 2000;
ip route add 1XX.7X.2XX.X9X dev ens6 table 2000;
ip rule add from 1XX.7X.2XX.1XX lookup 2000;

위 명령은 문제를 해결하는 데 도움이 되었으며 보조 IP를 핑할 수 있었습니다. 재부팅 후에도 이 구성이 유지되도록 하기 위해 동일한 명령을rc.local

첫 번째 줄의 IP는 게이트웨이 IP(서브넷 범위의 두 번째 IP)입니다. 명령의 두 번째와 세 번째 줄에 언급된 IP는 내 서버의 실제 보조 IP입니다.

관련 정보