사용 가능한 네트워크 인터페이스를 어떻게 찾을 수 있습니까? 알고 있다면 좋을 것입니다. 어제 이더넷 케이블을 연결

이것은 리눅스와 관련이 있지만, 누구나 일반적인 * nix 방법을 알고 있다면 좋을 것입니다.

어제 이더넷 케이블을 연결 한 상태에서 시스템을 부팅했습니다. “NetworkManager”가 설치되어 있지 않기 때문에 일단 시작하면 이더넷 인터페이스의 이름을 찾아 ifconfigDHCP 클라이언트를 수동으로 시작했지만 그 외에는 아무것도 표시하지 않았습니다. lo.

를 통해 NIC가 나열 lspci되었고 적절한 커널 드라이버가로드되었습니다. 시스템은 일반적으로 wifi를 사용하며 인터페이스 이름은을 기억할 수 wlan0있습니다. 제가 시도했을 때 ifconfig wlan0 up, wlan0나타났다. 하지만 기억할 수있는 유일한 이더넷 인터페이스 이름은 있었다 eth[N]em[N]– 어느 쪽도 아니했다.

이 문서 는 “예측 가능한 인터페이스 이름”을 언급하지만 간단한 용어로 설명 할 수있는 것은 아닙니다. 이 경우 이름이 PCI 버스 및 슬롯 번호에서 추론 될 수 있음을 의미하는 소스 코드를 의미합니다. 이는 불필요하게 복잡한 번거 로움처럼 보입니다.

다른 검색을 통해 이것이 systemd와 함께 결정될 수 있다고 믿었 지 udev만 거의 100 개의 파일이 /usr/lib/udev/rules.d있으며 한 시간 동안 시스템 구성 파일이 어디에 있는지 (그리고 경우 ) 결정하는 것도 어리석은 것처럼 보입니다.

또한 확실히 알고 좋을 것이다 그들은 이름이 지정 될 수뿐만 아니라 어떻게 사용할 수 있는지 경우 등, 그들이, 그래서 하드웨어 문제를 배제 할 수 사용 가능한 네트워크 인터페이스의 이름을 찾을 수있는 간단한 방법이없는 리눅스에서?



답변

모든 인터페이스를 나열하는 가장 간단한 방법은

ifconfig -a

편집하다

더 이상 사용되지 않는 시스템을 사용하는 경우

ip link show

답변

커널은 /sys(예를 들어) PCI 장치의 트리에서 개별적 으로 이름으로 그것들을 나열합니다 -비록 그들이 어디서 시작해야하는지 모른다면 그것들을 찾는 것은 간단하지는 않습니다 /sys/class/net. 예 :

> ls /sys/class/net
em1 lo wlp6so

또 다른 예:

> ls /sys/class/net
lo p6s1 wlan0

어느 것이 어느 것인지 확실하지 않으면 다음 중 하나를 사용하여 둘 수 있습니다.

ifconfig [name] up

또는:

ip link set [name] up

그런 다음 (논리없이) 나열된 (공평한) 단서를 살펴보십시오 ifconfig. Freedesktop.org 문서에서 링크 된 시스템 소스 코드는 다음을 참조합니다.

Two character prefixes based on the type of interface:
 *   en -- ethernet
 *   sl -- serial line IP (slip)
 *   wl -- wlan
 *   ww -- wwan

위의 경우 중 하나 ( p6s1)에는 접두사가 없습니다.


답변

나는 항상 cat /proc/net/dev간단하고 기억하기 쉽습니다.


답변

ifconfig= Solaris
ipconfig= Windows
ip= Linux

나는 알고 있지만, 추가 및 수정에 확실히 열려 있습니다.