운영체제를 설치하면 가장 먼저 하는 일이 네트워크 설정이다. 내가 사용하는 운영체제는 오로지 리눅스이고, 배포판이라고 해봐야 Centos와 Ubuntu이니, 설정을 외우는게 그리 어렵지는 않을 것이다. 그런데 귀찮다. 네트워크 설정을 매일매일 한다면 저절로 외울수 있게지만, 드문드문 하다보니 항상 까먹는다. 그러다 보니 매번 설정 때마다 검색을 해야 한다. 검색할 때 마다 새롭다.
글로 정리해서 필요 할때 참조해야 겠다는 생각을 한 이유다.
주로 터미널 작업을 하기 때문에 CLI를 기준으로 정리하려 한다.
IP 설정
네트워크 스크립트를 이용한 설정
네트워크 스크립트를 이용해서 간단하게 IP를 설정할 수 있다. 배포판 별로 약간의 차이가 있다.
Ubuntu 리눅스 17.04 까지
/etc/network/interfaces 파일을 수정한다. 설정파일의 내용은 다음과 같다.
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.100.99
netmask 255.255.255.0
gateway 192.168.100.254
dns-nameserver 8.8.8.8
iface eth1 inet dhcp
auto ![인터페이스 이름!] : 부팅시 네트워크 인터페이스를 자동으로 올린다.
auto lo : 부팅시 루프백 장치를 올린다.
auto eth0 : 부팅시 eth0 장치를 올린다.
iface ![인터페이스 이름!] inet ![static|dhch!] : 인터페이스 이름의 네트워크 장치를 설정한다.
값을 설정한 다음에는 ifup과 ifdown 스크립트를 이용해서 인터페이스를 올리거나 내릴 수 있다.
# ifup eth0
# ifdown eth0
혹은 networking 스크립트를 이용해서 전체 네트워크 설정을 다시 시작할 수도 있다.
# /etc/init.d/networking restart
Ubuntu 리눅스 17.10 부터
우분투 리눅스 18.04를 설치하고 네트워크 설정을 하려다가 기존 방식과 달라졌다는 것을 알게 됐다. 우분투 리눅스의 네트워크 설정 방법이 완전히 달라진 거다.
17.10 부터 NetPlan이라는 툴을 사용한다고 한다. 17.04까지 사용했던 /etc/network/interfaces는 이제 사용하지 않는다. 대신 /etc/netplan/*.yaml을 사용한다.
NetPlan 부터는 YAML으로 네트워크 인터페이스 설정을 관리한다. 설정된 인터페이스는 NetworkManager와 networkd 두 개의 렌더러를 이용해서 적용 할 수 있다. Networkmanager 렌더러는 X Window 환경에서만 사용하고 나머지 경우에는 network 렌더러를 사용하면 된다. 그러니까 일반적인 서버 환경에서는 network 렌더러라고 보면 되겠다.
아래는 설정 예제다. 파일 이름은 /etc/netplan/50-cloud-init.yaml 이다.
관리스크립트가 아닌 시스템 명령어들을 이용해서 인터페이스를 조작할 수도 있다. ifconfig, route, ip 정도의 명령어만 알고 있으면 된다. 시스템 명령어이기 때문에 배포판에 상관없이 사용할 수 있다는 장점이 있다. (주로 centos와 ubuntu)배포판을 번갈아 가며 테스트해야 하는 경우가 많은데, 그때 주로 사용한다.
ifconfig의 일반적인 사용방식. ifconfig는 dhcp를 지원하지 않는다.
# ifconfig eth0 192.168.56.50 netmask 255.255.255.0 broadcast 192.168.56.255 up
게이트웨이 설정에는 route를 이용할 수 있다.
# route add default gw 192.168.56.1 eth0
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.56.1 0.0.0.0 UG 0 0 0 eth0
Contents
설정 노가다
IP 설정
네트워크 스크립트를 이용한 설정
Ubuntu 리눅스 17.04 까지
Ubuntu 리눅스 17.10 부터
CentOS 리눅스
시스템 명령을 이용한 네트워크 인터페이스 조작
관련글
Recent Posts
Archive Posts
Tags