리눅스 네트워크 설정
IT 위키
더 많은 작업
리눅스에서 IP 주소, 게이트웨이, DNS, 호스트 이름 같은 네트워크 설정을 확인하고 바꾸는 방법을 정리한 문서이다. Rocky Linux 8 같은 최근 레드햇 계열은 NetworkManager가 네트워크를 관리한다.
- IP 주소와 서브넷 마스크 (CIDR 표기 예: 192.168.10.20/24)
- 기본 게이트웨이 : 다른 네트워크로 나가는 라우터 주소
- DNS 서버 : 도메인 이름을 IP 주소로 바꿔 주는 서버 (도메인 네임 시스템)
- 호스트 이름
| 파일 | 내용 |
|---|---|
| /etc/sysconfig/network-scripts/ifcfg-인터페이스 | 레드햇 계열 인터페이스 설정 (Rocky 8에서도 NetworkManager가 읽는다) |
| /etc/NetworkManager/system-connections/ | NetworkManager 키파일 형식 연결 설정 (RHEL 9부터 기본) |
| /etc/resolv.conf | DNS 서버(nameserver)와 검색 도메인(search) |
| /etc/hosts | 이름과 IP 주소를 직접 대응시키는 파일 |
| /etc/nsswitch.conf | 이름 풀이 순서 (hosts: files dns) |
| /etc/hostname | 호스트 이름 |
| /etc/sysconfig/network | 예전 레드햇 계열의 전역 설정 (GATEWAY, HOSTNAME) |
| /etc/services | 서비스 이름과 포트 번호 대응 |
| /etc/protocols | 프로토콜 이름과 번호 대응 |
| /etc/netplan/*.yaml | Ubuntu 18.04 이후 네트워크 설정 |
# /etc/sysconfig/network-scripts/ifcfg-enp0s3 TYPE=Ethernet BOOTPROTO=none # 고정 IP. DHCP는 dhcp NAME=enp0s3 DEVICE=enp0s3 ONBOOT=yes # 부팅 때 활성화 IPADDR=192.168.10.20 PREFIX=24 # 또는 NETMASK=255.255.255.0 GATEWAY=192.168.10.1 DNS1=8.8.8.8
NetworkManager를 명령행에서 다루는 도구이다. 자세한 내용은 리눅스 nmcli 문서를 본다.
# 장치와 연결 확인
$ nmcli device status
$ nmcli connection show
# 고정 IP로 변경
# nmcli connection modify enp0s3 ipv4.method manual \
ipv4.addresses 192.168.10.20/24 ipv4.gateway 192.168.10.1 ipv4.dns 8.8.8.8
# nmcli connection up enp0s3
# DHCP로 변경
# nmcli connection modify enp0s3 ipv4.method auto
- 대화형 텍스트 화면으로 설정하려면 nmtui를 쓴다.
| 용도 | iproute2 (현재) | net-tools (예전) |
|---|---|---|
| 인터페이스·주소 확인 | ip addr | ifconfig |
| 주소 추가 | ip addr add 192.168.10.20/24 dev enp0s3 | ifconfig enp0s3 192.168.10.20 netmask 255.255.255.0 |
| 인터페이스 켜기/끄기 | ip link set enp0s3 up/down | ifconfig enp0s3 up/down, ifup/ifdown |
| 라우팅 테이블 | ip route | route, netstat -r |
| 기본 게이트웨이 추가 | ip route add default via 192.168.10.1 | route add default gw 192.168.10.1 |
| ARP 캐시 | ip neigh | arp |
| 소켓·포트 상태 | ss -tulnp | netstat -tulnp |
- ip·ifconfig로 바꾼 값은 재부팅하면 사라진다. 계속 유지하려면 nmcli나 설정 파일로 바꾼다.
- 호스트 이름은 hostnamectl set-hostname으로 바꾼다.
- ifcfg 파일의 BOOTPROTO, ONBOOT, IPADDR, PREFIX/NETMASK, GATEWAY, DNS1
- /etc/resolv.conf(nameserver), /etc/hosts, /etc/nsswitch.conf의 역할 구분
- nmcli connection modify의 ipv4.* 속성
- ip 명령과 ifconfig·route 명령의 대응