2012-01-12 7 views
3

다음과 같은 문제가 있습니다. 내 PC는 매우 오래되었고 이더넷 포트가 내장되어있어 잘못 설정된 경우가 아니라 물리적으로 손상된 것 같습니다. 우분투 또는 Windows에서도 작동하지 않았습니다. 내가 사용하는 이더넷 PCI 카드가 있습니다. 문제는 어떤 이상한 이유로 카드가 가끔씩 eth0에서 eth1으로 바뀌고 dhcpd을 실행해야하는데 DHCP를 통해 IP를 얻지 못하는 것입니다. 이제 실제 질문은 MAC 주소 등을 사용하여 작동하지 않는 카드를 비활성화하는 방법이 있습니까? eth0 또는 eth1을 비활성화 할 수 없습니다. 항상 같은 카드를 "가리키는"것이 아니기 때문입니다.아치 리눅스에서 네트워크 인터페이스 비활성화

답변

6

그들은 같은 종류의 칩셋입니까, 아니면 다른 칩셋입니까?

아마도 가장 간단한 해결책은 해당 이더넷 칩셋의 모듈을 블랙리스트에 등록하는 것입니다.

먼저 모듈 이름 (이 eth0를위한) 찾아야합니다 :

dmesg | grep eth0 

다음과 같은 경우를 참조하십시오 : 내 경우 'r8169'에서

[ 2.209295] r8169 0000:05:00.0: eth0: RTL8168d/8111d at 0xffffc90000c6e000, 00:24:1d:11:b6:64, XID 081000c0 IRQ 44 

입니다 모듈 이름 또한 'lsmod'를 사용하여 현재로드 된 모듈 목록을 볼 수 있으므로 거기에 나타나는지 확인하십시오.

다음으로 모듈을 검정색으로 나열해야합니다. 이를 위해 entry on the Arch wiki이 있습니다.

+1

그건 속임수 였어. 고맙습니다. – Heldraug

4

온보드 NIC에서 설명하는대로 수집 중입니다. 가장 좋은 해결책은 OS가 아닌 마더 보드 BIOS에서 BIOS를 비활성화하는 것입니다. 이 방법은 제조업체에 따라 다르지만 어딘가에서 온라인 모델을 찾을 수있을 것입니다.

+0

BIOS에서 비활성화하는 것에 대해 생각하지 않았습니다. 다른 하나는 내 문제를 해결했지만 당신이 옳다고 생각합니다. 답변 주셔서 감사합니다. – Heldraug

6

여기 동료 아처; 하드웨어 PCI ID를 기반으로 nVidia 그래픽 카드의 HDMI 포트 오디오 칩을 비활성화하는 데 사용하는 방법이 있습니다. 아마 당신은 당신의 NIC에 동일한 접근 방식을 적용 할 수 :

하는 이더넷의 PCI ID를 찾기 :

$ lspci | grep Eth 
00:19.0 Ethernet controller: Intel Corporation 82579V Gigabit Network Connection (rev 05) 

해당 디렉토리를 찾기 :

$ find /sys/devices -name *00:19.0 
/sys/devices/pci0000:00/0000:00:19.0 
파일이 이름을 지정해야합니다

"제거"에서 그 디렉토리. 당신은 다시 생각 /etc/rc.local에

echo 1 > /sys/devices/pci0000:00/0000:00:19.0/remove 

을 편집하여 시작시 장치를 해제 할 수 있습니다; /etc/rc.local을 끝내기 전에 모듈이 로딩되면 .../dev/eth0와/dev/eth1를 "잘못된"순서로 할당 한 다음, /etc/rc.conf 중 하나를 비활성화 시키십시오 ... 당신은 여전히 ​​eth1이라는 선호하는 NIC으로 끝날 수 있습니다. 이것은 여러 사운드 카드에있는 alsa의 문제 였기 때문에 모듈 매개 변수를 통해 번호 매기기를 할당하는 방법이 고안되었습니다. 아마도 모듈 자체가 이것을 허용합니까?

+0

저는 더 이상 그 컴퓨터가 없으므로 더 이상 테스트 할 수 없지만 실제로는 의미가 있습니다. 고맙습니다. – Heldraug

관련 문제