커널 업그레이드 후 우분투에서 네트워크가 손상됨
우브untu에서 네트워크 문제를 해결한 방법
새로운 커널을 자동으로 설치한 후 Ubuntu 24.04에서 이더넷 네트워크가 사라짐 문제가 발생했습니다. 이 문제가 두 번째로 발생했기 때문에, 이 문제를 겪고 있는 다른 사람들에게 도움이 되기 위해 해결 방법을 여기에 기록해 두고자 합니다.
네트워크 문제를 해결하는 명령어
다음 명령어로 네트워크 연결을 복구할 수 있습니다. 먼저 uname -r 명령어로 커널 버전을 확인해 보세요 (예: 6.14.0-37-generic과 같은 형식으로 표시됩니다). 아래 명령어에서 버전 번호를 자신의 실제 커널 버전으로 바꿔주세요:
# 네트워크 인터페이스와 IP 주소 확인
ifconfig
# 커널 버전 확인
uname -r
# 패키지 목록 업데이트 및 시스템 업그레이드
sudo apt update
sudo apt upgrade
# 위에서 확인한 버전에 맞는 커널 추가 모듈 설치
# 6.14.0-37-generic을 자신의 실제 커널 버전으로 변경
sudo apt install linux-modules-extra-6.14.0-37-generic
# 새 커널 모듈을 포함한 initramfs 재구성
sudo update-initramfs -u
# 추천되는 프리패리어드 드라이버 설치 (주로 NVIDIA 그래픽용)
sudo ubuntu-drivers autoinstall
# 변경사항을 적용하기 위해 재부팅
sudo reboot
문제와 해결 방법 이해
Ubuntu가 정기 시스템 업데이트를 통해 자동으로 새로운 커널 버전으로 업그레이드할 때, 때로는 새 커널의 부팅 파일시스템에 네트워크 드라이버가 올바르게 포함되지 않을 수 있습니다. 이는 특히 Ubuntu 24.04에서 커널 업그레이드 후, 특정 네트워크 하드웨어가 추가 커널 모듈이 필요한 시스템에서 흔히 발생합니다.
문제가 발생하는 이유
- 커널 모듈은 버전에 따라 다름: 각 커널 버전은 자체적인 드라이버 모듈 세트가 필요합니다.
- initramfs가 불완전할 수 있음: 부팅 시 로드되는 초기 RAM 파일시스템(initramfs)에 필요한 네트워크 드라이버가 모두 포함되지 않을 수 있습니다.
- 추가 모듈 패키지 누락: 새 커널 버전에 해당하는
linux-modules-extra패키지가 자동으로 설치되지 않았을 수 있습니다.
해결 방법 작동 원리
위 명령어는 다음과 같이 문제를 해결합니다:
-
커널 추가 모듈 설치:
linux-modules-extra-<version>-generic패키지는 추가 커널 모듈을 포함하며, 기본 커널 패키지에는 포함되지 않은 많은 네트워크 드라이버도 포함합니다. 이러한 모듈이 없으면 네트워크 하드웨어가 인식되지 않습니다. -
initramfs 재구성:
update-initramfs -u명령어는 모든 필요한 커널 모듈(네트워크 드라이버 포함)이 initramfs에 패키징되도록 보장합니다. 이는 중요합니다. initramfs는 루트 파일시스템이 마운트되기 전에 로드되며, 네트워크 인터페이스와 같은 필수 하드웨어 드라이버를 포함해야 합니다. -
프리패리어드 드라이버 설치:
ubuntu-drivers autoinstall명령어는 주로 그래픽 드라이버(특히 NVIDIA)를 처리하며, 네트워크 문제를 직접 해결하지는 않습니다. 그러나 커널 업그레이드 중 여러 드라이버가 손상되었을 경우, 이 명령어는 모든 프리패리어드 드라이버가 올바르게 설치되었는지 확인합니다. -
재부팅: 이 과정을 통해 새 커널과 올바르게 구성된 initramfs가 로드되어 네트워크 연결이 복구됩니다.
재부팅 후 네트워크가 복구되어야 합니다. ifconfig 또는 ip a 명령어를 다시 실행하여 네트워크 인터페이스와 할당된 IP 주소를 확인할 수 있습니다. Ubuntu 버전 확인을 통해 호환성을 확인해야 한다면, 여러 방법이 있습니다.
서버를 다루고 있고 네트워크 연결을 복구한 후 네트워크 설정을 구성해야 한다면, Ubuntu Server에서 정적 IP 주소를 변경하는 방법을 참고하면 추가 네트워크 설정에 도움이 될 수 있습니다.
