NetPlan
아마도 Ubuntu 18.04부터는 기존에 /etc/network/interfaces로 ip를 설정하던 방식에서, netplan과 yaml파일로 ip주소를 관리하는 방식으로 변경이 되었다. 따라서 기존에 방식 말고, 아래의 새로운 방식으로 설정해주어야 한다.
설정 방법
ip link : mac address 확인
cd /etc/netplan
sudo cp 01-network-manager-all.yaml 01-network-manager-all.yaml.backup
sudo vim 01-network-manager-all.yaml
아래와 같은 형식으로 주소를 입력한다. nameservers는 DNS 서버주소를 의미한다.
여기서 주의할 점은 띄어쓰기나, 들여쓰기 간격(탭이 아니라 띄어쓰기 2칸씩)이 엄청 까다롭기 때문에 형식을 아주 면밀히 체크해야한다.
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
(자신의 이터넷 이름 ex.enp134s0f0):
dhcp6: no
dhcp4: no
addresses: [10.*.*.*/24]
gateway4: 10.*.*.1
nameservers:
addresses: [10.*.*.*, 10.*.*.*, 8.8.8.8]
sudo netplan apply
- 바뀐 ip로 ssh 재접속
ip addr show (ip 확인 용)
원격 서버의 ip를 바꾸다 실패했을 때 자동 롤백 시키기
원격 서버에서 고정 ip설정을 하다가 실수할 경우, 다시 ssh접속이 안되기 때문에 직접 서버가 있는 곳까지 가서 수정해야하는 불상사가 발생할 수 있다. 이를 방지하기 위해 다음과 같은 script를 이용해서 3분 뒤에 원래 상태로 rollback을 시키도록 한다.
sudo vim rollback.sh
다음 내용을 rollback.sh에 입력
sudo mv 01-network-manager-all.yaml 01-network-manager-all.yaml.failed
sudo mv 01-network-manager-all.yaml.backup 01-network-manager-all.yaml
sudo netplan apply
sudo at now+3 minutes -f rollback.sh
-------- 혹은 아래와 같이 CLI로도 가능함 ---------
echo "sudo mv 01-network-manager-all.yaml 01-network-manager-all.yaml.failed" >> rollback.sh
echo "sudo mv 01-network-manager-all.yaml.backup 01-network-manager-all.yaml" >> rollback.sh
echo "sudo netplan apply" >> rollback.sh
sudo at now+3 minutes -f rollback.sh
at 사용 방법
https://gregorio78.tistory.com/260
기타 이슈
Cloud-init
If your Ubuntu cloud instance is provisioned with cloud-init, you’ll need to disable it.
- 이 부분은 아마도 aws같은걸 쓸 때만 해당되는 사항으로 보인다.
참고 문서
https://www.lesstif.com/lpt/ubuntu-netplan-ip-static-ip-config-61899302.html
https://www.linuxtechi.com/assign-static-ip-address-ubuntu-20-04-lts/
https://linuxize.com/post/how-to-configure-static-ip-address-on-ubuntu-20-04/
https://linuxconfig.org/how-to-configure-static-ip-address-on-ubuntu-18-04-bionic-beaver-linux
'A. Development > Free Topic' 카테고리의 다른 글
절전모드 해제 시 강제 재부팅이 되는 문제 해결 (2) | 2021.10.11 |
---|---|
SSH로 서버 설정 및 Putty 접속 (0) | 2020.06.21 |
Git LFS (Large File Storage) 사용하기 (3) | 2020.03.30 |
효율적인 ML 프로젝트 개발 환경: Sublime과 Pycharm (0) | 2020.01.17 |
개발 및 배포 프로세스, 협업 프로세스 (0) | 2019.12.17 |
댓글