웹사이트 검색

ifconfig와 ip: 차이점 및 네트워크 구성 비교


Linux 기반 배포판에는 명령줄을 통해 쉽고 강력한 방법으로 네트워킹을 구성하는 방법을 제공하는 명령 세트가 있습니다. 이러한 명령 세트는 거의 모든 배포판에서 오랫동안 존재해 왔으며 ifconfig, route<와 같은 명령을 포함하는 net-tools 패키지에서 사용할 수 있습니다., nameif, iwconfig, iptunnel, netstat, arp.

이러한 명령은 초보자나 전문 Linux 사용자가 원하는 방식으로 네트워크를 구성하는 데 거의 충분하지만, 지난 몇 년 동안 Linux 커널이 발전하고 이 패키지 명령 세트를 유지 관리할 수 없기 때문에 더 이상 사용되지 않으며 더욱 강력해졌습니다. 이러한 명령을 모두 대체할 수 있는 대안이 등장하고 있습니다.

이 대안은 꽤 오랫동안 존재해 왔으며 이러한 명령보다 훨씬 강력합니다. 나머지 섹션에서는 이 대안을 강조하고 net-tools 패키지의 명령 중 하나(예: ifconfig)와 비교합니다.

ip – ifconfig의 대체품

ifconfig는 오랫동안 사용되어 왔으며 여전히 많은 사람들이 네트워크 인터페이스를 구성, 표시 및 제어하는 데 사용되지만 이제 Linux 배포판에는 이보다 훨씬 더 강력한 새로운 대안이 있습니다. 이 대안은 iproute2util 패키지의 ip 명령입니다.

이 명령은 처음에는 다소 복잡해 보일 수 있지만 ifconfig보다 기능이 훨씬 더 광범위합니다. 네트워킹 스택의 두 계층, 즉 레이어 2(링크 계층), 레이어 3(IP 계층)으로 기능적으로 구성됩니다. >) net-tools 패키지에서 위에 언급된 모든 명령의 작업을 수행합니다.

ifconfig는 대부분 시스템의 인터페이스를 표시하거나 수정하지만 이 명령은 다음 작업을 수행할 수 있습니다.

  1. 인터페이스 속성 표시 또는 수정.
  2. 호스트에 대한 새 고정 ARP 항목 생성과 함께 ARP 캐시 항목 추가, 제거.
  3. 모든 인터페이스와 연결된 MAC 주소를 표시합니다.
  4. 커널 라우팅 테이블 표시 및 수정.

고대의 ifconfig와 구별되는 주요 특징 중 하나는 후자가 네트워크 구성에 ioctl을 사용한다는 점입니다. 이는 커널과 상호 작용하는 데 있어 덜 높이 평가되는 방식인 반면 전자는 이점을 활용합니다. rtnetlink(네트워킹 환경 조작 기능 추가)를 사용하여 커널과 사용자 공간 간의 상호 통신을 위한 ioctl의 훨씬 더 유연한 후속 제품인 netlink 소켓 메커니즘입니다.

이제 ifconfig의 기능과 이 기능이 ip 명령으로 효과적으로 대체되는 방법을 강조할 수 있습니다.

ip 대 ifconfig 명령

다음 섹션에서는 ifconfig 명령 중 일부와 ip 명령을 사용한 대체 명령을 강조합니다.

1. Linux에서 모든 네트워크 인터페이스 표시

여기서 ipifconfig의 한 가지 구별되는 특징은 ifconfig는 활성화된 인터페이스만 표시하는 반면, ip는 활성화 여부에 관계없이 모든 인터페이스를 표시한다는 것입니다.

ifconfig 명령
ifconfig

IP 명령
ip a

2. Linux에서 IP 주소 추가 또는 삭제

아래 명령은 IP 주소 192.168.80.174를 인터페이스 eth0에 할당합니다.

ifconfig – IP 주소 추가/삭제
ifconfig eth0 add 192.168.80.174

ifconfig 명령을 사용하여 인터페이스를 추가/제거하는 구문:

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – IP 주소 추가/삭제
ip a add 192.168.80.174 dev eth0

ip 명령을 사용하여 인터페이스를 추가/제거하는 구문:

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. 네트워크 인터페이스에 MAC 하드웨어 주소 추가

아래 명령은 인터페이스 eth0의 하드웨어 주소를 명령에 지정된 값으로 설정합니다. 이는 ifconfig 명령 출력에서 HWaddr 값을 확인하여 확인할 수 있습니다.

ifconfig – MAC 주소 추가

ifconfig 명령을 사용하여 MAC 주소를 추가하는 구문은 다음과 같습니다.

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – MAC 주소 추가

다음은 ip 명령을 사용하여 MAC 주소를 추가하는 구문입니다.

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. 네트워크 인터페이스의 기타 구성 설정

IP 주소 또는 하드웨어 주소 설정 외에도 인터페이스에 적용할 수 있는 다른 구성은 다음과 같습니다.

  1. MTU(최대 전송 단위)
  2. 멀티캐스트 플래그
  3. 전송 대기열 길이
  4. 무차별 모드
  5. 모든 멀티캐스트 모드 활성화 또는 비활성화
ifconfig – 기타 네트워크 구성
ip – 기타 네트워크 구성

<중앙>

ㅏ. MTU 값을 2000으로 설정합니다.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

<중앙>

비. 멀티캐스트 플래그를 활성화하거나 비활성화합니다.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

<중앙>

씨. 전송 대기열 길이를 설정합니다.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

<중앙>

디. 무차별 모드를 활성화 또는 비활성화합니다.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

<중앙>

이자형. 모든 멀티캐스트 모드를 활성화하거나 비활성화합니다.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. 네트워크 인터페이스 활성화 또는 비활성화

아래 명령은 특정 네트워크 인터페이스를 활성화하거나 비활성화합니다.

ifconfig – 네트워크 인터페이스 비활성화/활성화

아래 명령은 eth0 인터페이스를 비활성화하고 기본적으로 작동 중인 인터페이스만 표시하는 ifconfig의 출력으로 확인됩니다.

ifconfig eth0 down

인터페이스를 다시 활성화하려면 downup으로 바꾸면 됩니다.

ifconfig eth0 up
ip – 네트워크 인터페이스 비활성화/활성화

아래 ip 명령은 ifconfig가 특정 인터페이스를 비활성화하는 대신 사용할 수 있습니다. 이는 기본적으로 모든 인터페이스를 위 또는 아래로 표시하지만 설명과 함께 해당 상태를 강조 표시하는 'ip a' 명령의 출력으로 확인할 수 있습니다.

ip link set eth0 down

인터페이스를 다시 활성화하려면 downup으로 바꾸면 됩니다.

ip link set eth0 up

6. ARP 프로토콜 사용 활성화 또는 비활성화

아래 명령은 특정 네트워크 인터페이스에서 ARP 프로토콜을 활성화하거나 비활성화합니다.

ifconfig – ARP 프로토콜 활성화/비활성화

이 명령을 사용하면 ARP 프로토콜을 eth0 인터페이스와 함께 사용할 수 있습니다. 이 옵션을 비활성화하려면 arp를 -arp로 바꾸세요.

ifconfig eth0 arp
ip – ARP 프로토콜 활성화/비활성화

이 명령은 eth0 인터페이스에 대해 ARP를 활성화하는 ip 대안입니다. 비활성화하려면 onoff로 바꾸세요.

ip link set dev eth0 arp on

결론

따라서 우리는 ifconfig 명령의 기능과 ip 명령을 사용하여 수행할 수 있는 방법을 강조했습니다. 현재 Linux 배포판에서는 사용자가 편의에 따라 사용할 수 있도록 두 명령을 모두 제공합니다. 그렇다면 어떤 명령을 사용하고 싶으신가요? 귀하의 의견에 이것을 언급하십시오.

이 두 명령에 대해 더 자세히 알아보려면 ifconfig 및 ip 명령의 실제 예를 보다 자세히 보여주는 이전 기사를 읽어보세요.

놓치지 마세요: Linux에서 네트워크 인터페이스를 구성하는 15가지 “ifconfig ” 예

놓치지 마세요: Linux에서 네트워크 인터페이스를 구성하기 위한 10가지 “ip ” 명령 예