ifconfig (interface config에 대한 줄임말)은 네트워크 인터페이스 구성을 위한 유닉스-계열 운영 시스템의 시스템 관리 유틸리티입니다.
그 유틸리티는 명령줄 인터페이스 도구이고 많은 운영 시스템의 시스템 시작 스크립트에서도 사용됩니다. 그것은 TCP/IP 네트워크 인터페이스 매개변수를 구성, 제어 및 질의하는 기능을 가집니다. Ifconfig는 원래 BSD TCP/IP 제품군의 일부로 4.2BSD에 나타났습니다.
Usage
ifconfig의 공통적인 용도는 네트워크 인터페이스의 IP 주소와 넷마스크 설정 및 인터페이스 비활성화 또는 활성화를 포함합니다. 부팅에서, 많은 유닉스-계열 운영 시스템은 ifconfig를 호출하는 쉘 스크립트로 네트워크 인터페이스를 초기화합니다. 대화형 도구로서, 시스템 관리자는 네트워크 인터페이스 매개변수를 표시하고 분석하기 위해 일상적으로 유틸리티를 사용합니다. 다음 두 예제는 리눅스-기반 호스트 (인터페이스 eth0)와 OpenBSD 설치의 ural0 인터페이스에서 각각 단일 활성 인터페이스의 상태를 질의할 때 도구의 출력을 보여줍니다.
eth0 Link encap:Ethernet HWaddr 00:0F:20:CF:8B:42
inet addr:192.168.1.128 Bcast: Mask:255.255.255.192
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2472694671 errors:1 dropped:0 overruns:0 frame:0
TX packets:44641779 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1761467179 (1679.7 Mb) TX bytes:2870928587 (2737.9 Mb)
Interrupt:28
ural0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:0d:0b:ed:84:fb
media: IEEE802.11 DS2 mode 11b hostap (autoselect mode 11b hostap)
status: active
ieee80211: nwid ARK chan 11 bssid 00:0d:0b:ed:84:fb 100dBm
inet 172.30.50.1 netmask 0xffffff00 broadcast 172.30.50.255
inet6 fe80::20d:bff:feed:84fb%ural0 prefixlen 64 scopeid 0xa
Medium access control functions
ifconfig는 역시 공통적으로 인터페이스의 medium access control (MAC) 주소를 변경하기 위해 사용됩니다. 이 과정에서, 네트워크 인터페이스는 먼저 ifconfig 명령을 사용하여 비활성화(down 설정)한 다음 MAC 변경 명령을 사용합니다:
ifconfig wlan0 down
ifconfig wlan0 hw ether 13:11:20:33:49:66
ifconfig wlan0 up
Release status
Berkeley Software Distribution 유닉스 운영 시스템 (예를 들어, NetBSD, OpenBSD, 및 FreeBSD)는 무선 네트워킹 인터페이스의 구성, VLAN 트렁킹, TSO 또는 하드웨어 체크섬 또는 브릿지와 터널 인터페이스 설정과 같은 하드웨어 기능 제어를 덮는 ifconfig와 기능 확장의 적극적인 개발을 계속합니다. 솔라리스는 역사적으로 모든 네트워크 인터페이스 구성에 대해 ifconfig를 사용했지만, 솔라리스 10에서 dladm을 데이터-링크 (OSI 모델 계층 2) 구성을 수행하기 위해 도입했으며, ifconfig의 범위를 IP 구성으로 축소했습니다.
오래된 리눅스 배포판에서, ifconfig는, 유틸리티 route와 함께 연결에서, 컴퓨터를 네트워크에 연결하고, 네트워크 사이의 경로를 정의하기 위해 사용되었습니다. 리눅스에 대해 ifconfig는 2021년 1월 7일에 최신 버전 2.10으로 출시된 net-tools 패키지의 일부입니다.
많은 리눅스 배포판은 1999년부터 리눅스 2.2에 대해 사용할 수 있었던, ArchLinux 또는 RHEL 버전 7과 같은 소프트웨어 제품군 iproute2를 선호하여 ifconfig와 route의 사용을 추천하지 않습니다. iproute2는 ifconfig(8), route(8), arp(8) 및 netstat(1)의 모든 공통 기능에 대한 지원을 포함합니다. 그것은 역시 멀티캐스트 구성 지원, 터널과 가상 링크 관리, 트래픽 제어, 낮은 수준의 IPsec 구성, 등을 포함합니다.
Related tools
또 다른 높은-수준 리눅스 명령줄 도구는 ifup (ifdown과 ifquery 포함)입니다. 인터페이스를 제어하는 것 외에도, 그것은 역시 사용할 DNS 서버 지정과 같은 네트워크의 다른 측면의 제어를 제공합니다. 그 명령은 각 인터페이스에 대해 "stanzas"를 포함하는 /etc/network/interfaces 파일을 사용하여 구성됩니다.
Network Manager는 WiFi 핫스팟 사이의 이동과 같은 동적 환경에서 네트워크를 자동으로 재구성하는 리눅스 데몬입니다. 그것은 보통 그놈 쉘과 같은 그래픽 프런트-엔드와 함께 연결에서 사용됩니다.
Windows 95에서 Windows Me까지의 Microsoft Windows의 버전은 winipcfg를 현재 IP의 그래픽 표시를 제공하기 위해 사용했습니다. ifconfig와 유사한 명령, ipconfig는 Windows NT 커널을 기반으로 하는 Microsoft 운영 시스템와 함께 제공됩니다. ipconfig는 역시 Windows DHCP 클라이언트를 제어합니다.
macOS에서, ifconfig 명령은 IPConfiguration 에이전트에 대한 래퍼로 기능하고, 명령줄에서 BootP와 DHCP 클라이언트를 제어할 수 있습니다. ifconfig는 네트워크 구성을 관리하기 위해 도움이 되는 시스템 프레임워크 수준 아래에서 작동하므로, Mac OS X에서 네트워크 설정을 수정하기 위해 ifconfig를 사용하는 것은 권장되지 않습니다.
ifconfig에서 이름을 따온 리눅스에 대해 무선 도구의 구성 요소, iwconfig는 리눅스의 ifconfig의 원래 범위를 벗어나 무선 네트워크 인터페이스를 관리합니다. iwconfig는 무선 네트워크의 SSID와 WEP 키, iwlist와 함께 함수와 같은 그러한 특수 설정을 설정합니다. 리눅스는 역시 무선 연결의 신호, 노이즈 및 품질을 읽는 iwspy를 제공합니다.
이더넷 어댑터 구성을 위한 기타 관련 도구는 리눅스에서 ethtool, mii-tool, 및 mii-diag와 솔라리스의 dladm show-link 명령입니다.
External links
- ifconfig(8), official manpage for Linux net-tools ifconfig
- ifconfig(8), manpage for the FreeBSD ifconfig
- ifconfig(8), manpage for the Solaris ifconfig
- ipconfig documentation for Windows