우수한 소프트웨어와 실용적인 튜토리얼
Ubuntu Netplan 50-cloud-init.yaml 재부팅 후 다중 IP 구성 실패 복구 가이드
Netplan 구성(/etc/netplan/50-클라우드 초기화.yaml)이 재부팅 후 원래 IP 주소로 롤백됩니다. 이는 일반적으로 cloud-init 서비스가 시작 시 네트워크 구성을 재설정하거나, YAML 구문 또는 권한 문제로 인해 구성이 유지되지 않기 때문에 발생합니다. 이는 Ubuntu 20.04 이상, 특히 Vultr 및 AWS와 같은 클라우드 서버에서 흔히 발생합니다. 걱정하지 마세요. 해결 방법은 간단합니다. 구문을 확인하고 cloud-init 재설정을 비활성화한 후 애플리케이션을 확인하세요.
50-cloud-init.yaml이란 무엇입니까?
이 파일은 Ubuntu Linux 시스템 디렉토리 50-cloud-init.yaml의 핵심 구성 요소입니다. /etc/netplan/cloud-init 이 파일은 시스템을 정의합니다.네트워크 인터페이스특히 클라우드나 가상화 환경에서의 네트워크 구성 및 설정.
50-cloud-init.yaml의 주요 기능:
cloud-init에서 생성됨: 이 파일은 cloud-init에서 자동으로 생성됩니다. cloud-init은 특히 AWS, Azure 또는 VMware와 같은 가상화 플랫폼과 같은 클라우드 환경에서 Linux 시스템의 조기 초기화 및 사용자 지정을 수행하도록 설계된 도구입니다.
Netplan 구성: 네트워크 설정을 정의하는 Ubuntu의 기본 시스템인 Netplan 구성 시스템을 사용합니다.
수동 편집에 적합하지 않음: 이 파일에는 일반적으로 직접 변경한 내용이 cloud-init을 재부팅하거나 다시 실행해도 유지되지 않음을 나타내는 주석이 포함되어 있습니다. cloud-init은 데이터 소스에서 제공한 정보를 기반으로 파일을 다시 생성할 수 있기 때문입니다.
동적 구성: 일반적으로 DHCP(예: dhcp4: true)를 사용하여 네트워크 인터페이스를 구성하여 IP 주소를 자동으로 가져오므로 동적 클라우드 환경에 적합합니다.
재정의: 직접 편집하는 것은 권장하지 않지만, /etc/netplan/ 디렉터리에 더 높은 숫자 접두사(예: 99-my-custom-config.yaml)를 사용하여 새 Netplan 구성 파일을 생성하여 설정을 재정의할 수 있습니다. 이를 통해 고정 IP 주소 또는 우선 적용되는 기타 특정 네트워크 설정을 정의할 수 있습니다.
기본적으로 클라우드 기반 또는 가상화된 Ubuntu 인스턴스에서 제공하는 초기 네트워크 구성 역할을 합니다. 시스템의 기본 네트워크 설정을 이해하는 것이 중요하지만, 지속성을 보장하기 위해 사용자 지정 네트워크 구성은 별도의 Netplan 파일에 구현해야 합니다.
Ubuntu 22.4 다중 IP 구성 방법
먼저 50-cloud-init.yaml에 여러 IP 주소를 구성합니다.
sudo vi /etc/netplan/50-cloud-init.yaml
구성 후 저장하고 종료합니다. :wq
구성을 생성하고 테스트하여 구문이 올바른지 확인합니다.
sudo netplan 생성
문제가 없다면 설정파일을 적용하세요.
sudo netplan 적용
신청 후 OVS 경고가 나타나면 무시하세요.
다음 단계는 중요합니다.
재부팅 롤백을 방지하기 위한 중요한 단계인 cloud-init 네트워크 재설정을 비활성화하세요!
새 파일을 만듭니다
sudo vi /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
안에 추가하세요
네트워크: {구성: 비활성화됨}
클라우드 초기화 캐시와 인스턴스 ID를 지웁니다.
sudo cloud-init clean --logs sudo rm -rf /var/lib/cloud/instance # 인스턴스 데이터 삭제 sudo dpkg-reconfigure cloud-init # 재구성, 네트워크 모듈을 비활성화하려면 "없음"을 선택하세요.
구성을 적용하고 재시작을 테스트합니다.
sudo netplan generate #를 사용하여 구문을 확인하고, sudo netplan apply #를 사용하여 ip addr을 적용하고, show #를 사용하여 여러 IP 주소를 즉시 확인합니다. sudo reboot
위의 방법들이 효과가 없다면, cloud-init을 완전히 비활성화하세요(극단적인 경우)
sudo touch /etc/cloud/cloud-init.disabled sudo systemctl cloud-init 비활성화 sudo systemctl cloud-init 마스크
업그레이드 수정: cloud-init 업데이트: sudo apt update && sudo apt upgrade cloud-init (일부 버전은 수정되었습니다).
이 해결책은 커뮤니티 수정을 기반으로 하며 일반적으로 100%부터 작동합니다. 재부팅 후에도 문제가 지속되면 cat /etc/netplan/*.yaml 및 journalctl -u cloud-init 출력 결과를 아래에 댓글로 남겨주시면 진단에 도움을 드리겠습니다!