AWS EC2 Ubuntu 서버 네트워크 문제 해결
- 아마존 우분투 네트워크 접속 연결이 안되서 SSH 를 사용할 수 없는 상황 해결 방법
- ubuntu 20 버전
//-------------------------------------
* 로그인 비밀번호를 몰라서(or미설정) 시리얼 콘솔로도 리눅스 로컬 로그인이 안되는 경우
- 시리얼 콘솔 연결하려면 지원하는 유형의 인스턴스 타입이라야 한다
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?icmpid=docs_ec2_console#ec2-nitro-instances
- 패스워드 입력없이 로컬 콘솔에 로그인 하기
. ec2 서버의 ebs 볼륨을 분리해서 다른 서버에 연결
. 연결된 볼륨을 마운트
. "볼륨마운트/etc/passwd" 파일 수정
로그인 하려는 계정의 아이디 다음에 있는 x를 삭제 후 저장
root:x:0:0:root:/root:/bin/bash 인 경우
->
root::0:0:root:/root:/bin/bash 로 변경
. 볼륨을 분리해서 원래 서버에 연결
//-------------------------------------
- NIC 확인
$ sudo ethtool eth0
- 에러 메시지
Settings for eth0:
Cannot get device settings: No such device
Cannot get wake-on-lan settings: No such device
Cannot get message level: No such device
Cannot get link status: No such device
- 부팅 메시지 확인
$ sudo dmesg | grep eth
[ 2.573938] ena 0000:00:05.0 ens5: renamed from eth0
//-------------------------------------
* nic 이름을 eth0으로 복원하는 방법
https://www.itzgeek.com/how-tos/mini-howtos/change-default-network-name-ens33-to-old-eth0-on-ubuntu-16-04.html
- 네트워크 확인
$ ip a
- grub 설정 수정
$ sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX="" 를 찾아서 다음으로 변경
->
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
- 새 grub 파일 생성
$ sudo grub-mkconfig -o /boot/grub/grub.cfg
- 재부팅
//-------------------------------------
- 네트워크 카드 설정 확인
$ cd /etc/netplan
$ cat 50-cloud-init.yaml
- dhcp ip 새로 받기
$ sudo dhclient -r eth0 & sudo dhclient eth0