Debian 13 네트워크 구성
이 튜토리얼은 Debian 13에서 유선 네트워크, 무선 네트워크, 네트워크 서비스 및 문제 해결을 포함한 네트워크 연결 구성 및 관리 방법을 상세히 설명합니다.
🌐 네트워크 관리 기초
NetworkManager
NetworkManager는 데스크톱 설치에서 가장 일반적인 네트워크 관리 도구입니다(task-gnome-desktop 등의 작업을 통해 자동 설치). 그러나 Debian은 이를 유일한 옵션으로 강제하지 않습니다 — 서버 및 최소 설치에서는 일반적으로 ifupdown(/etc/network/interfaces) 또는 systemd-networkd를 사용합니다:
bash
# NetworkManager 상태 확인
systemctl status NetworkManager
# NetworkManager 재시작
sudo systemctl restart NetworkManager
# 네트워크 장치 확인
nmcli device status
# 네트워크 연결 확인
nmcli connection show전통적인 네트워크 도구
bash
# 네트워크 인터페이스 확인
ip addr show
ifconfig # net-tools 설치 필요
# 라우팅 테이블 확인
ip route show
route -n # net-tools 설치 필요
# 네트워크 연결성 테스트
ping google.com
traceroute google.com🔌 유선 네트워크 구성
자동 구성 (DHCP)
대부분의 유선 네트워크는 DHCP를 사용하여 IP 주소를 자동으로 획득합니다:
bash
# 유선 연결 확인
nmcli connection show --active
# 유선 연결 생성
sudo nmcli connection add type ethernet con-name "Wired" ifname eth0
# 연결 활성화
sudo nmcli connection up "Wired"
# IP 주소 재획득
sudo nmcli connection down "Wired" && sudo nmcli connection up "Wired"고정 IP 구성
bash
# 고정 IP 연결 생성
sudo nmcli connection add type ethernet con-name "Static" ifname eth0 \
ip4 192.168.1.100/24 gw4 192.168.1.1
# DNS 서버 설정
sudo nmcli connection modify "Static" ipv4.dns "8.8.8.8,8.8.4.4"
# 수동 구성 설정
sudo nmcli connection modify "Static" ipv4.method manual
# 연결 활성화
sudo nmcli connection up "Static"네트워크 인터페이스 명명
bash
# 네트워크 인터페이스 이름 확인
ip link show
# 영구 네트워크 인터페이스 이름 확인
ls /sys/class/net/
# 인터페이스 이름 수정 (선택 사항)
sudo nano /etc/systemd/network/10-eth0.link📶 WiFi 네트워크 구성
그래픽 인터페이스 구성
GNOME에서:
- 오른쪽 상단 네트워크 아이콘 클릭
- WiFi 네트워크 선택
- 비밀번호 입력 후 연결
명령줄 구성
bash
# WiFi 네트워크 스캔
nmcli device wifi list
# WiFi 네트워크 연결
sudo nmcli device wifi connect "WiFi이름" password "비밀번호"
# 숨겨진 네트워크 연결
sudo nmcli device wifi connect "WiFi이름" password "비밀번호" hidden yes
# 저장된 WiFi 연결 확인
nmcli connection show
# WiFi 연결 삭제
sudo nmcli connection delete "WiFi이름"WiFi 핫스팟 생성
bash
# WiFi 핫스팟 생성
sudo nmcli device wifi hotspot ifname wlan0 ssid "MyHotspot" password "mypassword"
# 핫스팟 상태 확인
nmcli device status
# 핫스팟 중지
sudo nmcli device disconnect wlan0WiFi 드라이버 문제
bash
# WiFi 장치 확인
lspci | grep -i wifi
lsusb | grep -i wifi
# 무선 모듈 확인
lsmod | grep wifi
iwconfig
# 추가 WiFi 드라이버 설치
sudo apt install firmware-iwlwifi # Intel 네트워크 카드
sudo apt install firmware-realtek # Realtek 네트워크 카드
sudo apt install firmware-atheros # Atheros 네트워크 카드
# 네트워크 모듈 재로드
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi🔧 고급 네트워크 구성
네트워크 브리징
bash
# 브리징 도구 설치
sudo apt install bridge-utils
# 네트워크 브리지 생성
sudo nmcli connection add type bridge con-name br0 ifname br0
sudo nmcli connection add type bridge-slave con-name br0-eth0 ifname eth0 master br0
# 브리지 IP 구성
sudo nmcli connection modify br0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify br0 ipv4.gateway 192.168.1.1
sudo nmcli connection modify br0 ipv4.dns 8.8.8.8
sudo nmcli connection modify br0 ipv4.method manual
# 브리지 활성화
sudo nmcli connection up br0VLAN 구성
bash
# VLAN 인터페이스 생성
sudo nmcli connection add type vlan con-name vlan100 ifname eth0.100 \
dev eth0 id 100
# VLAN IP 구성
sudo nmcli connection modify vlan100 ipv4.addresses 192.168.100.10/24
sudo nmcli connection modify vlan100 ipv4.method manual
# VLAN 활성화
sudo nmcli connection up vlan100네트워크 본딩 (Bonding)
bash
# 본딩 인터페이스 생성
sudo nmcli connection add type bond con-name bond0 ifname bond0 \
bond.options "mode=active-backup,miimon=1000"
# 본딩 슬레이브 인터페이스 추가
sudo nmcli connection add type bond-slave con-name bond0-eth0 ifname eth0 master bond0
sudo nmcli connection add type bond-slave con-name bond0-eth1 ifname eth1 master bond0
# 본딩 IP 구성
sudo nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24
sudo nmcli connection modify bond0 ipv4.method manual
# 본딩 활성화
sudo nmcli connection up bond0🌍 DNS 구성
systemd-resolved
systemd-resolved는 systemd가 제공하는 DNS 해석 서비스로, NetworkManager와 함께 사용할 수 있습니다. 그러나 Debian에서는 기본적으로 설치 및 활성화되어 있지 않습니다. 데스크톱 환경을 사용하고 NetworkManager가 실행 중인 경우, /etc/resolv.conf는 일반적으로 NetworkManager에 의해 직접 관리됩니다. systemd-resolved를 활성화하려는 경우:
bash
# DNS 상태 확인
systemctl status systemd-resolved
# DNS 구성 확인
resolvectl status
# DNS 통계 확인
resolvectl statistics
# DNS 캐시 비우기
sudo resolvectl flush-caches수동 DNS 구성
bash
# DNS 임시 수정 (재시작 후 소멸)
sudo nano /etc/resolv.conf
# DNS 서버 추가
nameserver 8.8.8.8
nameserver 8.8.4.4
# DNS 영구 수정 (NetworkManager 통해)
sudo nmcli connection modify "연결이름" ipv4.dns "8.8.8.8,8.8.4.4"
sudo nmcli connection up "연결이름"사용자 정의 DNS 서버
bash
# dnsmasq 설치
sudo apt install dnsmasq
# dnsmasq 구성
sudo nano /etc/dnsmasq.conf
# 기본 구성
listen-address=127.0.0.1
bind-interfaces
cache-size=1000
# dnsmasq 활성화
sudo systemctl enable dnsmasq
sudo systemctl start dnsmasq🔒 네트워크 보안
방화벽 구성
bash
# UFW 설치 및 활성화
sudo apt install ufw
sudo ufw enable
# 기본 규칙
sudo ufw default deny incoming
sudo ufw default allow outgoing
# 특정 포트 허용
sudo ufw allow 22 # SSH
sudo ufw allow 80 # HTTP
sudo ufw allow 443 # HTTPS
# 특정 IP 허용
sudo ufw allow from 192.168.1.100
# 규칙 확인
sudo ufw status verbose네트워크 모니터링
bash
# 네트워크 모니터링 도구 설치
sudo apt install nethogs iftop nload
# 네트워크 트래픽 모니터링
sudo nethogs # 프로세스별 모니터링
sudo iftop # 실시간 트래픽 모니터링
nload # 네트워크 부하 모니터링
# 네트워크 연결 확인
ss -tuln # 수신 포트 확인
netstat -tuln # net-tools 설치 필요VPN 구성
OpenVPN 클라이언트
bash
# OpenVPN 설치
sudo apt install openvpn
# 구성 파일 가져오기
sudo cp client.ovpn /etc/openvpn/client.conf
# VPN 시작
sudo systemctl start openvpn@client
sudo systemctl enable openvpn@client
# NetworkManager를 통한 VPN 관리
sudo apt install network-manager-openvpn-gnomeWireGuard VPN
bash
# WireGuard 설치
sudo apt install wireguard
# 키 쌍 생성
wg genkey | tee privatekey | wg pubkey > publickey
# 구성 파일 생성
sudo nano /etc/wireguard/wg0.conf
# 예시 구성
[Interface]
PrivateKey = 개인키
Address = 10.0.0.2/24
DNS = 8.8.8.8
[Peer]
PublicKey = 서버 공개키
Endpoint = 서버IP:포트
AllowedIPs = 0.0.0.0/0
# WireGuard 시작
sudo wg-quick up wg0
sudo systemctl enable wg-quick@wg0📊 네트워크 성능 최적화
네트워크 매개변수 튜닝
bash
# 현재 네트워크 매개변수 확인
sysctl net.core.rmem_max
sysctl net.core.wmem_max
# 매개변수 임시 조정
sudo sysctl -w net.core.rmem_max=134217728
sudo sysctl -w net.core.wmem_max=134217728
# 매개변수 영구 조정
sudo nano /etc/sysctl.d/99-network-performance.conf
# 최적화 매개변수 추가
net.core.rmem_max = 134217728
net.core.wmem_max = 134217728
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_congestion_control = bbr
# 구성 적용
sudo sysctl -p /etc/sysctl.d/99-network-performance.conf대역폭 테스트
bash
# 속도 테스트 도구 설치
sudo apt install speedtest-cli
# 네트워크 속도 테스트
speedtest-cli
# iperf3 사용 테스트
sudo apt install iperf3
# 서버 측
iperf3 -s
# 클라이언트 테스트
iperf3 -c 서버IP🆘 네트워크 문제 해결
기본 진단
bash
# 1. 네트워크 인터페이스 확인
ip link show
# 2. IP 주소 확인
ip addr show
# 3. 라우팅 확인
ip route show
# 4. DNS 확인
nslookup google.com
dig google.com
# 5. 연결성 테스트
ping -c 4 8.8.8.8 # 외부 네트워크 테스트
ping -c 4 192.168.1.1 # 게이트웨이 테스트일반적인 문제 해결
IP 주소 획득 불가
bash
# 네트워크 서비스 재시작
sudo systemctl restart NetworkManager
# 수동 IP 획득
sudo dhclient eth0
# DHCP 로그 확인
journalctl -u NetworkManagerDNS 해석 실패
bash
# DNS 구성 확인
cat /etc/resolv.conf
# DNS 서버 테스트
nslookup google.com 8.8.8.8
# DNS 캐시 비우기
sudo resolvectl flush-caches
# DNS 구성 재설정
sudo systemctl restart systemd-resolvedWiFi 연결 문제
bash
# WiFi 장치 상태 확인
nmcli radio wifi
# WiFi 활성화
nmcli radio wifi on
# WiFi 장치 재시작
sudo nmcli device disconnect wlan0
sudo nmcli device connect wlan0
# 드라이버 확인
dmesg | grep -i wifi네트워크 진단 스크립트
네트워크 진단 스크립트 생성:
bash
#!/bin/bash
# 네트워크 진단 스크립트
echo "=== 네트워크 인터페이스 상태 ==="
ip link show
echo -e "\n=== IP 주소 정보 ==="
ip addr show
echo -e "\n=== 라우팅 테이블 ==="
ip route show
echo -e "\n=== DNS 구성 ==="
cat /etc/resolv.conf
echo -e "\n=== 게이트웨이 연결성 테스트 ==="
ping -c 3 $(ip route | grep default | awk '{print $3}')
echo -e "\n=== 외부 네트워크 연결성 테스트 ==="
ping -c 3 8.8.8.8
echo -e "\n=== DNS 해석 테스트 ==="
nslookup google.com
echo -e "\n=== 활성 연결 ==="
nmcli connection show --active📝 네트워크 구성 백업
네트워크 구성 백업
bash
# NetworkManager 구성 백업
sudo tar -czf network-backup.tar.gz /etc/NetworkManager/
# 연결 구성 백업
sudo cp -r /etc/NetworkManager/system-connections/ ~/network-connections-backup/
# 네트워크 구성 내보내기
nmcli -f all connection show > network-connections.txt네트워크 구성 복원
bash
# 구성 파일 복원
sudo tar -xzf network-backup.tar.gz -C /
# NetworkManager 재로드
sudo systemctl reload NetworkManager
# 네트워크 재연결
nmcli connection reload다음 단계
네트워크 구성을 마스터한 후 다음을 계속 학습할 수 있습니다:
- 방화벽 구성 - 네트워크 보안 강화
- 시스템 서비스 관리 - 네트워크 서비스 관리
- 로그 관리 - 네트워크 로그 확인
네트워크 구성 완료하셨나요? 방화벽 구성 계속 학습하기 →