리눅스를 운영하다 보면 네트워크 설정이 필수적이다. 인터넷이 연결되지 않거나 내부 네트워크 통신이 원활하지 않으면 서버 운영, 원격 접속, 데이터 전송이 불가능해진다. 따라서 기본적인 네트워크 설정 방법을 익혀 두는 것이 중요하다.
이번 글에서는 리눅스에서 네트워크를 설정하는 방법을 단계별로 설명하고, 네트워크 인터페이스 확인부터 IP 설정, 방화벽 설정, 문제 해결 방법까지 다룰 것이다.
1. 리눅스 네트워크 설정을 위한 필수 개념
네트워크를 설정하려면 몇 가지 기본 개념을 이해해야 한다.
IP 주소, 서브넷 마스크, 게이트웨이란?
- IP 주소 (Internet Protocol Address): 네트워크 상에서 장치를 식별하는 주소.
- 서브넷 마스크 (Subnet Mask): 네트워크와 호스트를 구분하는 역할.
- 게이트웨이 (Gateway): 내부 네트워크와 외부 네트워크(인터넷) 간의 중간 역할.
DNS 서버의 역할과 설정 방법
- DNS (Domain Name System): 도메인 이름을 IP 주소로 변환하는 시스템.
- /etc/resolv.conf 파일에서 DNS 서버를 설정할 수 있다.
DHCP vs. Static IP 설정 방식 차이
- DHCP (Dynamic Host Configuration Protocol): 자동으로 IP를 할당하는 방식.
- Static IP (고정 IP): 수동으로 IP를 설정하는 방식으로, 서버에서 주로 사용된다.
2. 네트워크 인터페이스 확인 및 관리
리눅스에서는 다양한 명령어를 사용하여 네트워크 인터페이스를 확인하고 관리할 수 있다.
네트워크 인터페이스 확인 명령어
- ifconfig (구버전, 일부 배포판에서 지원 중단)
- ip addr show (최신 리눅스 배포판에서 사용)
- nmcli device status (NetworkManager를 사용하는 배포판에서 활용)
네트워크 연결 확인 명령어
- netstat -tulnp → 현재 열려 있는 포트 확인
- ss -tulnp → netstat보다 더 빠르고 최신 명령어
- ping google.com → 인터넷 연결 확인
3. 리눅스에서 네트워크 설정 방법
네트워크를 설정하는 방법에는 DHCP를 이용하는 방법과 정적 IP를 설정하는 방법이 있다.
DHCP를 이용한 자동 IP 설정
DHCP를 사용하면 IP가 자동으로 할당된다.
sudo dhclient eth0
또는 NetworkManager를 사용하는 경우:
nmcli con mod eth0 ipv4.method auto
nmcli con up eth0
정적 IP 설정 (Ubuntu & CentOS 기준)
Ubuntu에서 설정
/etc/netplan/00-installer-config.yaml 파일을 수정:
network:
ethernets:
eth0:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
적용하기:
sudo netplan apply
CentOS에서 설정
/etc/sysconfig/network-scripts/ifcfg-eth0 파일 수정:
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
적용하기:
sudo systemctl restart network
4. 방화벽 및 포트 설정
리눅스에서 보안을 강화하려면 방화벽을 설정해야 한다.
방화벽 설정 (UFW, firewalld)
Ubuntu (UFW)
sudo ufw enable
sudo ufw allow 22/tcp # SSH 허용
sudo ufw allow 80/tcp # 웹 서버 허용
CentOS (firewalld)
sudo systemctl start firewalld
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload
네트워크 트래픽 모니터링
- tcpdump -i eth0 → 네트워크 패킷 캡처
- iftop → 실시간 네트워크 트래픽 확인
5. 네트워크 문제 해결 및 디버깅
네트워크 문제가 발생하면 아래 명령어를 활용해 원인을 찾을 수 있다.
네트워크 연결 문제 해결
ping 8.8.8.8 # 인터넷 연결 확인
traceroute 8.8.8.8 # 경로 추적
nslookup google.com # DNS 문제 확인
로그 파일 확인
cat /var/log/syslog | grep network
6. 결론
리눅스에서 네트워크 설정은 어렵지 않지만, 기본 개념을 이해하고 적절한 명령어를 사용해야 한다. 네트워크 설정이 완료된 후에는 연결 상태를 확인하고, 보안을 위해 방화벽을 설정하는 것이 중요하다.
이제 리눅스 네트워크 설정을 제대로 익혔다면, 실제 환경에서 테스트하며 숙련도를 높여 보자! 🚀
'Linux' 카테고리의 다른 글
리눅스에서 시스템 로그 파일 확인하기 (0) | 2025.03.29 |
---|---|
리눅스에서 네트워크 연결 상태 확인하기 (ping, ifconfig) (0) | 2025.03.28 |
리눅스에서 사용자 비밀번호 변경하기 (0) | 2025.03.26 |
리눅스에서 시스템에 사용자 추가 및 삭제하는 방법 (0) | 2025.03.25 |
리눅스에서 사용자 및 그룹 관리하기 (useradd, groupadd) (0) | 2025.03.24 |