WIPIVERSE

ifconfig

ifconfig는 UNIX 계열 운영 체제에서 네트워크 인터페이스의 상태를 확인하고 설정을 변경하기 위해 사용되는 명령줄 유틸리티이다. 원래는 BSD 4.3에서 도입된 netstat와 함께 제공되었으며, 이후 Linux, macOS, FreeBSD 등 다양한 시스템에 이식되었다.

주요 기능

  1. 인터페이스 정보 표시
    • ifconfig만 입력하면 현재 활성화된 네트워크 인터페이스와 각각의 IP 주소, 넷마스크, 브로드캐스트 주소, MAC 주소 등 기본 정보를 출력한다.
  2. 인터페이스 활성화·비활성화
    • ifconfig eth0 up – 지정된 인터페이스를 활성화한다.
    • ifconfig eth0 down – 지정된 인터페이스를 비활성화한다.
  3. IP 주소 및 기타 파라미터 설정
    • ifconfig eth0 192.168.1.10 netmask 255.255.255.0 – IP 주소와 넷마스크를 지정한다.
    • ifconfig eth0 broadcast 192.168.1.255 – 브로드캐스트 주소를 지정한다.
  4. MTU, 전송 모드 등 고급 옵션
    • ifconfig eth0 mtu 1500 – 최대 전송 단위(MTU)를 설정한다.
    • ifconfig eth0 promisc – 프라미스쿠스 모드(모든 패킷 수신)로 전환한다.

옵션 요약 (일부)

옵션 의미
-a 시스템에 존재하는 모든 인터페이스를 표시한다(비활성화된 인터페이스 포함).
-s 간단한 요약 형태로 인터페이스 상태를 출력한다.
-v 상세 정보를 표시한다(버전 및 추가 진단 메시지 포함).
-h 사용법을 출력한다.

역사 및 현재 상황

  • 역사: ifconfig는 1980년대 초 BSD UNIX에 처음 구현되었다. Linux에서는 1992년 이후 net-tools 패키지에 포함되어 널리 사용되었다.
  • 현대 Linux에서의 위치: 많은 최신 Linux 배포판은 net-tools 대신 iproute2 패키지의 ip 명령을 기본 네트워킹 관리 도구로 채택하고 있다. 이에 따라 ifconfig는 기본적으로 설치되지 않을 수 있으며, 필요 시 별도로 net-tools 패키지를 설치해야 한다.
  • 대체 명령: ip addr, ip link, ip route 등은 ifconfig와 동일한 기능을 제공하면서 보다 세밀한 제어를 가능하게 한다.

지원 플랫폼

운영 체제 기본 제공 여부 비고
Linux (대부분) 패키지에 따라 다름 (net-tools 필요) 최신 배포판에서는 ip 명령이 권장됨
macOS 기본 제공 BSD 기반 구현 사용
FreeBSD, OpenBSD, NetBSD 기본 제공 BSD 계열에서 지속적으로 사용
Solaris 일부 버전에서 제공 ifconfig와 ipadm이 병존

사용상의 주의점

  • 보안: 인터페이스 설정을 변경하려면 일반적으로 루트 권한이 필요하다. 잘못된 설정은 네트워크 연결 장애를 초래할 수 있다.
  • 호환성: 스크립트 등에서 ifconfig를 사용할 경우, 대상 시스템에 net-tools가 설치되어 있는지 확인하는 것이 필요하다.

참고 문헌 및 자료

  • Unix 및 Linux 시스템 매뉴얼 페이지(man ifconfig).
  • BSD 운영 체제와 Linux 배포판의 공식 문서.
  • net-tools 프로젝트의 공개 소스 코드 및 릴리스 노트.

※ 위 내용은 널리 알려진 기술 문서와 공식 매뉴얼을 기반으로 작성되었으며, 별도의 추정이나 확인되지 않은 정보는 포함하지 않았다.

둘러보기

더 찾아볼 만한 주제

    전체 문서 보기