개요
Oracle Cloud Infrastructure(OCI)에서 /etc/resolv.conf 및 /etc/hosts 파일을 수동으로 변경한 경우, 시스템 재부팅 후 변경 내용이 초기화되는 현상이 발생할 수 있습니다.
이러한 문제는 인스턴스의 메타데이터 서비스 및 DHCP 클라이언트 설정으로 인해 발생하며, 변경 사항을 유지하려면 특정 설정이 필요합니다.
대상
- Oracle Linux
- CentOS
- 기타 OCI에서 제공하는 Linux 계열 OS (Rocky, AlmaLinux 등)
해결 방법
1. /etc/oci-hostname.conf 설정 파일 생성
OCI에서는 인스턴스의 호스트명과 관련된 정보를 관리하기 위해 /etc/oci-hostname.conf 파일을 사용합니다.
sudo vi /etc/oci-hostname.conf
내용:
PRESERVE_HOSTINFO=2
PRESERVE_HOSTINFO 값 설명:
- 1 (기본값): DHCP 응답을 기준으로 호스트명 및 hosts 파일 갱신
- 2: 사용자 정의 호스트명, /etc/hosts, /etc/resolv.conf 유지
- 3: 사용자 정의 호스트명, /etc/hosts 유지 (resolv.conf는 OCI DHCP에서 갱신됨)
2. /etc/resolv.conf 파일을 불변(immutable)으로 설정
파일 변경 이후 재부팅 시에도 유지되도록 다음 명령을 실행합니다:
sudo chattr +i /etc/resolv.conf
- 이 방법은 강제적인 보호 기능을 제공하지만, 시스템에서 자동으로 DNS 설정을 업데이트해야 하는 경우에는 적절하지 않을 수 있습니다.
복원(해제)하려면:
sudo chattr -i /etc/resolv.conf
3. DHCP 클라이언트 설정을 통해 DNS 정보 고정
/etc/dhcp/dhclient.conf 파일에서 DHCP 클라이언트가 제공하는 DNS 정보를 무시하고 고정값을 사용하도록 설정할 수 있습니다.
supersede domain-name "example.com";
supersede domain-name-servers 8.8.8.8, 8.8.4.4;
해당 파일이 존재하지 않는 경우 시스템의 DHCP 클라이언트 구성 방식(Netplan, NetworkManager 등)을 확인해야 합니다.
4. cloud-init 또는 NetworkManager 설정 조정
OCI 인스턴스에서는 cloud-init이나 NetworkManager가 DNS 및 hosts 설정을 자동 갱신하는 경우가 있습니다. 이럴 경우 관련 설정을 비활성화해야 합니다.
(1) cloud-init 사용 시
sudo mkdir -p /etc/cloud/cloud.cfg.d
sudo vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
network: {config: disabled}
(2) NetworkManager 사용 시
sudo vi /etc/NetworkManager/NetworkManager.conf
[main]
dns=none
이후 NetworkManager 재시작:
sudo systemctl restart NetworkManager
참고 문서
'Cloud > OCI' 카테고리의 다른 글
| Oracle DB 11g → 19c → 23ai 대응을 위한 WAS(JDK) 및 JDBC 업그레이드 (0) | 2025.06.01 |
|---|---|
| [OCI] DBCS, Compute, Exa User Passwd 로그인 설정 (1) | 2025.06.01 |
| [ OracleDB ] EM Express 활성화 (0) | 2025.05.20 |
| [OCI] Windows License 정책 (0) | 2025.05.20 |
| Oracle basedb dbcli 스케줄 및 백업 확인 및 장애 확인 (0) | 2025.05.19 |
