CentOS 6 또는 RHEL 6을 실행하는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에 연결된 탄력적 네트워크 인터페이스에 두 번째 탄력적 IP 주소를 추가하고 부팅 중에 유지하려면 어떻게 해야 합니까?
간략한 설명
탄력적 네트워크 인터페이스에 두 번째 탄력적 IP 주소를 추가하는 경우 인터페이스를 재부팅하면 해당 탄력적 IP 주소가 손실됩니다. 재부팅 중에 두 번째 탄력적 IP 주소를 유지하려면 두 번째 인터페이스 구성 파일(ICF)을 생성해야 합니다.
ICF는 개별 네트워크 디바이스의 소프트웨어 인터페이스를 제어합니다. 시스템은 부팅할 때 이러한 파일을 사용하여 불러올 인터페이스와 구성 방법을 결정합니다.
기본 ICF는 /etc/sysconfig/network-scripts/ifcfg-eth0입니다. 단일 인터페이스에 탄력적 IP 주소가 2개 있는 경우 두 번째 탄력적 IP 주소는 ": 1", 즉 /etc/sysconfig/network-scripts/ifcfg-eth0:1이 됩니다.
해결 방법
두 번째 인터페이스 구성 파일 생성
1. Amazon EC2 콘솔에서 탄력적 IP 주소 2개를 탄력적 네트워크 인터페이스에 연결합니다. 자세한 내용은 다중 IP 주소를 참조하십시오.
2. touch 명령을 사용하여 /etc/sysconfig/network-scripts/ 디렉터리에 두 번째 탄력적 IP 주소에 대한 ifcfg-eth0:1 파일을 생성합니다.
$ sudo touch /etc/sysconfig/network-scripts/ifcfg-eth0:1
3. ifcfg-eth0:1 파일에 다음 파라미터를 추가합니다.
DEVICE=eth0:1
BOOTPROTO=static
NETMASK=255.255.255.0
ONBOOT=yes
TYPE=Ethernet
IPADDR=172.31.34.195
참고: IPADDR은 인터페이스와 연결한 두 번째 탄력적 IP 주소와 연결된 프라이빗 IP 주소를 사용합니다. 인스턴스를 선택한 후 Amazon EC2 콘솔의 Secondary private IPs 아래에서 프라이빗 IP 주소를 찾을 수 있습니다.
기본 ICF와 일치하도록 두 번째 ICF 컨텍스트 변경
1. ifcfg-eth0:1 파일의 보안 컨텍스트를 보려면 ls 명령과 함께 -Z 옵션을 사용합니다.
$ ls -Z ifcfg-eth*
2. chcon 명령과 함께 -u 옵션을 사용하여 사용자를 system_u로 변경합니다.
$ sudo chcon -u system_u ifcfg-eth0:1
3. chcon 명령과 함께 -t 옵션을 사용하여 유형을 net_conf_t로 변경합니다.
$ sudo chcon -t net_conf_t ifcfg-eth0:1
4. 다음 명령을 실행하여 두 파일을 비교합니다.
$ ls -Z ifcfg-eth0*
-rw-r--r--. root root system_u:object_r:net_conf_t:s0 ifcfg-eth0
-rw-r--r--. root root system_u:object_r:net_conf_t:s0 ifcfg-eth0:1
인터페이스 가져오기
1. ifup 명령을 실행하여 두 번째 인터페이스를 가져옵니다.
$ sudo ifup eth0:1
2. 두 번째 ICF에 문제가 있는 경우 ethtool 명령을 실행하여 두 번째 ICF의 탐지 결과를 확인합니다.
$ ethtool eth0:1
출력은 다음과 유사하게 나타납니다.
Settings for eth0:1:
Link detected: yes
출력이 예상과 다를 경우 ifup 명령을 실행하고 두 번째 인터페이스가 있는지 확인합니다. 그런 다음 ICF 파일을 검토하여 올바른지 확인한 후 다시 로드합니다.
인스턴스 재부팅
reboot 명령을 실행하여 인스턴스를 재부팅합니다.
관련 정보
탄력적 IP 주소
탄력적 네트워크 인터페이스