이것은 리눅스와 관련이 있지만, 누구나 일반적인 * nix 방법을 알고 있다면 좋을 것입니다.
어제 이더넷 케이블을 연결 한 상태에서 시스템을 부팅했습니다. “NetworkManager”가 설치되어 있지 않기 때문에 일단 시작하면 이더넷 인터페이스의 이름을 찾아 ifconfig
DHCP 클라이언트를 수동으로 시작했지만 그 외에는 아무것도 표시하지 않았습니다. 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
나는 알고 있지만, 추가 및 수정에 확실히 열려 있습니다.