‘ifconfig’와 ‘ip’명령의 차이점 “ifconfig는 ip 명령에 의해 사용되지

나는 ‘ifconfig’명령에 대한 기사 / 튜토리얼을 읽었으며, 대부분은 공통 진술을 포함했습니다.

“ifconfig는 ip 명령에 의해 사용되지 않습니다”

그리고 ip 명령을 배우도록 제안했습니다. 그러나 그들 중 누구도 ‘ip’명령이 ‘ifconfig’보다 강력한 지 설명하지 못했습니다.

둘의 차이점은 무엇입니까?



답변

ifconfigfrom net-tools이며 Linux 네트워크 스택을 오랫동안 완전히 유지할 수 없었습니다. 또한 ioctl네트워크 구성 에도 여전히 사용 되는데, 이는 커널과 상호 작용하는 추악하고 덜 강력한 방법입니다.

net-tools다중 경로 라우팅, 정책 라우팅 (RPDB 참조)을 사용하여 Linux 네트워킹 코드의 많은 변경 사항 및 많은 새로운 기능에 액세스 할 수 없습니다 . route동일한 측정 항목을 사용하여 동일한 대상에 여러 경로를 추가하는 것과 같은 어리석은 작업을 수행 할 수 있습니다.

또한 :

  • ifconfig 일부 장치에 대한 올바른 하드웨어 주소를보고하지 않습니다.
  • 당신은 구성 할 수 없습니다 ipip, sit, gre, l2tp, 등의 커널 정적 터널.
  • 당신은 만들 수 없습니다 tun또는 tap장치.
  • 주어진 인터페이스에 여러 주소를 추가하는 방법도 의미가 떨어집니다.
  • 또한 Linux 트래픽 제어 시스템을 사용하여 구성 할 수 없습니다 net-tools.

ifconfig짜증 도 참조하십시오 .

편집 : net-tools개발 중단 에 대한 주장을 제거 하여 지금 까지이 게시물의 위치를 ​​잊어 버렸습니다. net-tools‘은 iproute2대부분 버그 수정 및 국제화와 같은 사소한 기능 향상 및 기능이지만 릴리스 된 이후 로 계속 작업 하고 있습니다.


답변

ifconfig네트워크 인터페이스에 대한 정보를 표시하고 일부 설정을 변경하는 일반적인 명령입니다. 특히 인터페이스를 위아래로 가져올 수 있습니다. 대부분의 유닉스 변종에 존재합니다.

Linux에서는 ifconfig명령이 오랫동안 발전하지 않았습니다. 그것은 여전히 ​​그 일에 완벽하게 좋습니다. ifconfig무언가를 사용 하고 있다면 멈출 이유가 없습니다.

리눅스는 또한 iproute2 툴 슈트 ip에서 명령을 제공합니다 . 이 명령은 , 및을 포함하여 몇 가지 클래식 명령 등을 결합합니다 . 보다 더 많은 것을 할 수 있습니다 . 반면에 , 특히 임베디드 시스템에는 항상 존재하지는 않습니다 (Linux 이외의 유닉스 변형에는 절대 포함되지 않음).ipifconfigroutearpipifconfigip

파싱 ifconfig의 출력이 다소 짜증납니다. 파싱 ip의 출력이 다소 짜증납니다. 거기에 승자가 없습니다.


답변

pilona의 답변에 약간의 비트를 추가하십시오. 2005 년경 네트워크 스택을 제어하기위한 새로운 메커니즘 인 netlink 소켓 이 도입되었습니다 .

네트워크 인터페이스를 구성하려면 시스템 호출 에 의존 iproute2하면서 전이중 네트워크 링크 소켓 메커니즘을 ifconfig사용합니다 ioctl. 다음은 netlink의 동기rtnetlink 사용법에 대한 두 가지 주요 논문입니다 .