리눅스 네트워크 인터페이스는 커널의 소프트웨어 네트워킹 스택과 실제 네트워크 하드웨어 간의 중요한 연결 지점입니다. 이를 통해 운영 체제는 네트워크를 통해 데이터를 송수신할 수 있습니다. 이미 구성된 linux interface의 예시를 보았습니다.
pete@icebox:~$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 1d:3a:32:24:4d:ce
inet addr:192.168.1.129 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fd60::21c:29ff:fe63:5cdc/64 Scope:Link
네트워크 인터페이스 이해하기
네트워크 설정을 볼 때, eth0(첫 번째 이더넷 카드), wlan0(무선 인터페이스), 또는 lo(루프백 인터페이스) 와 같은 이름의 인터페이스를 보게 됩니다. 루프백 인터페이스는 자체 컴퓨터를 나타내는 특수한 가상 인터페이스로, 로컬에서 실행되는 서비스에 연결할 수 있게 해줍니다.
인터페이스는 "up" 또는 "down" 상태일 수 있습니다. "up" 상태는 활성화되어 데이터 전송 준비가 되었음을 의미하며, "down"은 비활성화합니다. 각 인터페이스에 대해 표시되는 주요 정보에는 HWaddr(고유 MAC 주소), inet 주소 (IPv4 주소), inet6 주소 (IPv6 주소) 와 서브넷 마스크 및 브로드캐스트 주소가 포함됩니다.
레거시 ifconfig 명령어
ifconfig 명령어는 linux network interface를 구성하는 고전적인 도구입니다. 시스템 부팅 시 일반적으로 구성 파일을 기반으로 인터페이스를 설정하기 위해 실행됩니다. 여전히 많은 시스템에서 사용할 수 있지만, 현재는 레거시 도구로 간주됩니다.
ifconfig를 사용하여 수동으로 IP 주소를 할당하고 인터페이스를 활성화할 수 있습니다.
ifconfig eth0 192.168.2.1 netmask 255.255.255.0 up
관련 ifup 및 ifdown 명령어를 사용하여 인터페이스를 쉽게 활성화하거나 비활성화할 수도 있습니다.
ifup eth0
ifdown eth0
최신 ip 명령어
ip 명령어는 ifconfig의 현대적이고 더 강력한 대체 도구입니다. 현재 대부분의 최신 Linux 배포판에서 네트워크 스택을 관리하는 선호되는 방법입니다.
다음은 일반적인 사용 예시입니다.
모든 인터페이스 정보 표시:
ip link show
특정 인터페이스에 대한 자세한 통계 표시:
ip -s link show eth0
인터페이스에 할당된 IP 주소 표시:
ip address show
인터페이스 활성화 또는 비활성화:
ip link set eth0 up
ip link set eth0 down
인터페이스에 IP 주소 추가:
ip address add 192.168.1.1/24 dev eth0
네트워크 구성 파일
ip 및 ifconfig와 같은 명령어는 인터페이스의 현재 상태를 구성하지만, 이러한 변경 사항은 영구적이지 않으며 재부팅 시 손실됩니다. 설정을 영구적으로 유지하려면 구성 파일을 편집해야 합니다.
이러한 파일의 일반적인 위치는 /etc/network/interfaces입니다. etc network interfaces 파일은 특히 Ubuntu 와 같은 Debian 기반 시스템에서 널리 사용됩니다. 이 파일을 통해 debian network interfaces를 관리하면 정적 IP 주소, 게이트웨이 및 부팅 시 자동으로 적용되는 기타 설정을 정의할 수 있습니다. debian network/interfaces 내부의 구조는 간단하고 문서화가 잘 되어 있습니다.