Ubuntu 26.04 강좌 / 고정 IP·DNS 설정과 네트워크 변경 복구하기
고정 IP 변경은 주소만 입력하는 작업이 아니라 인터페이스·라우팅·DNS와 관리 접속 경로를 함께 바꾸는 작업입니다. 콘솔과 원본 백업을 먼저 확보하고 Netplan 구문 검사, 제한 시간 시험, 새 접속과 재부팅 검증 순서로 진행합니다.
실제 네트워크 값과 설정 소유자 확인하기
ip -br address
ip route
resolvectl status
sudo netplan get
사용할 주소가 다른 장치와 겹치지 않는지 먼저 확인합니다. 이 강좌는 VM 생성 강좌의 새 호스트 전용망을 사용합니다. 서버는 192.168.56.20/24, 허용 Linux 클라이언트는 192.168.56.10/24이고 호스트는 192.168.56.1/24입니다. ping 무응답만으로 미사용 주소라고 판단하지 않으며 실제 NIC·MAC·현재 기본 경로를 기록합니다.
아래 YAML은 systemd-networkd가 관리하는 두 유선 NIC의 새 실습 Server용입니다. enp0s3이 NAT·DHCP, enp0s8이 호스트 전용망인지 실제 MAC과 설정으로 확인합니다. cloud-init 등 자동 생성 설정은 해당 관리 주체의 절차를 통해 바꿉니다.
백업과 콘솔을 먼저 준비하기
(
set -eu
backup=$(sudo mktemp -d /root/netplan-backup.XXXXXX)
sudo cp -a /etc/netplan "$backup/"
printf 'Backup: %s\n' "$backup"
)
백업 경로와 실제로 편집할 파일 이름을 기록하고 VM 창이나 공급자 콘솔에서 로그인해 둡니다. 기존 SSH 세션은 유지합니다. 같은 인터페이스를 정의한 다른 YAML이 있다면 병합 결과를 확인하고 새 파일을 추가해 덮어쓰기를 기대하지 않습니다.
주소·경로·DNS를 한 구성으로 작성하기
확인한 Netplan 원본을 sudoedit로 열어 실제 인터페이스 이름에 맞게 수정합니다. 다음은 NAT의 DHCP 주소·기본 경로·DNS를 유지하고 호스트 전용 NIC에만 고정 주소를 주는 전체 최소 예입니다. 기존 파일의 다른 NIC·IPv6·브리지·VLAN 정책은 보존하고, 새 파일과 기존 정의를 중복으로 겹치지 않습니다.
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: false
addresses:
- 192.168.56.20/24
파일 권한은 관리자가 읽고 쓰도록 제한하고 sudo chmod 600 실제설정파일을 적용할 때도 대상 경로를 다시 확인합니다. IPv6를 사용하는 환경의 DHCPv6·RA·DNS 정책은 별도로 보존합니다. IPv4 예시라는 이유로 기존 IPv6 설정을 지우지 않습니다.
Ubuntu 네트워크 구성 안내는 주소·경로·이름 확인의 관계와 Netplan 예제를 설명합니다.
구문 검사 후 제한 시간 시험하기
sudo netplan generate && sudo netplan try --timeout 120
generate가 실패하면 적용하지 않고 오류의 파일·줄·키를 수정합니다. try가 기다리는 동안 다른 터미널이나 클라이언트에서 새 주소로 접속하고 기본 경로·DNS·필요한 서비스를 확인한 뒤에만 승인합니다. 타임아웃 복원이 모든 환경에서 완벽하다고 가정하지 말고 콘솔을 유지합니다.
클라이언트 주소와 실제 경로 확인하기
networkd를 사용하는 두 번째 Server VM은 같은 구조에서 실제 호스트 전용 NIC 주소만 192.168.56.10/24로 정합니다. 서버는 .20을 사용합니다. 두 장치의 NAT 인터페이스는 DHCP로 인터넷 경로를 유지하고, VM 간 통신은 호스트 전용망으로 직접 수행하므로 NAT 포트 전달은 만들지 않습니다.
ip -br address
ip route
ip route get 192.168.56.10
resolvectl query ubuntu.com
위 route get은 서버에서 클라이언트 .10을 조회하는 명령입니다. 클라이언트에서는 목적지를 .20으로 바꿉니다. 호스트 전용 목적지는 그 NIC를, 인터넷 기본 경로는 NAT NIC를 사용해야 합니다. 호스트 전용 NIC에는 .1을 게이트웨이·DNS로 추가하지 않습니다.
연결 실패 시 원본 파일과 상태 복구하기
접속이 끊기면 콘솔에서 실제 주소와 디스크의 YAML을 확인합니다. 실패한 변경 파일만 백업의 원본과 비교해 복원하고 이번에 추가한 파일이 있다면 그 파일만 되돌립니다. 원본을 복원한 뒤 generate를 통과하면 계획한 방식으로 적용하고 기존 주소·경로·DNS가 돌아왔는지 확인합니다.
변경이 성공해도 재부팅 전후를 별도로 시험해야 합니다. 이름 확인은 resolvectl query ubuntu.com 등으로, 서비스는 새 클라이언트 연결로 확인합니다. ICMP가 차단될 수 있으므로 ping 하나로 전체 인터넷 연결의 성공·실패를 판정하지 않습니다.




