CentOS에 eth0이 설치되지 않았습니다.

CentOS에 eth0이 설치되지 않았습니다.

설치를 어떻게 해야 할까요?eth0CentOS에서? 내가 할 때 ifconfig -a,eth0그곳에 없어. 출력은 다음과 같습니다 ip link.

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
3: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue
    link/void

답변1

네트워크 인터페이스는 유형(유선 이더넷, Wi-Fi, PPP, SLIP 등), PCI 슬롯, 초기화 순서 등에 따라 Linux에서 다른 이름을 가질 수 있습니다. 예를 들어 컴퓨터에 단일 이더넷 카드가 있는 경우 이름은 다음과 같습니다. BEeth0* .

귀하의 경우에는가상이더넷 네트워크 카드가 없는 개인 서버, 심지어 에뮬레이트된 네트워크 카드도 없습니다. 그럼에도 불구하고 이름이 지정된 네트워크 카드가 있습니다.베넷0. 다음을 사용하여 이름을 바꿀 수 있습니다.

ip link set venet0 name eth0

인터페이스가 사용 중인 경우 명령이 실패하므로 인터페이스를 종료해야 할 수도 있지만( ip link set venet0 down) 이렇게 하면 서버와의 연결이 끊어질 수 있습니다.

당신이 기꺼이 받아들이고 싶다면위험, 인터페이스를 종료하고 이름을 바꾼 다음 다시 불러오는 스크립트를 백그라운드에서 실행할 수 있습니다. 먼저 설정을 가져옵니다.베넷0라우팅 테이블은 다음과 같습니다.

[root@server ~]# ip addr show dev venet0
2: venet0: <BROADCAST,POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
    link/void
    inet 127.0.0.1/32 scope host venet0
    inet X.Y.Z.T/32 brd X.Y.Z.T scope global venet0:0
[root@server ~]# ip ro
192.0.2.0/24 dev venet0  scope host
169.254.0.0/16 dev venet0  scope link  metric 1002
default dev venet0  scope link

rename-to-eth0.sh그런 다음 다음과 유사한 스크립트( )를 만듭니다 .

#!/bin/sh
### Rename
ip link set venet0 down        # Bring interface down
ip link set venet0 name eth0   # Rename interface    
ip link set eth0 up            # Bring interface up
### Restore
# Restore interface settings. Adapt accordingly!!!
ip addr add 127.0.0.1/32 scope host dev eth0
ip addr add X.Y.Z.T/32 brd X.Y.Z.T scope global label eth0:0 dev eth0
# Restore routing table. Adapt accordingly!!!
ip ro add 192.0.2.0/24 dev venet0 scope host
ip ro add 169.254.0.0/16 dev venet0 scope link metric 1002
ip ro add default dev eth0

이제 다음을 사용하여 스크립트를 실행하세요.안돼nohup ./rename-to-eth0.sh, 또는 내부화면,티먹스등. 실패하면 서버를 다시 시작해야 할 수도 있습니다.

* 상황에 따라 변경될 예정입니다."예측 가능한 네트워크 인터페이스 이름"CentOS6 이하에는 적용되지 않지만 제안이 구현되었습니다. 이 제안에 따르면 통합 이더넷 카드의 이름이 지정될 수 있습니다.em1.

답변2

eth0의 사용을 간단히 수정하여 "eth0"을 사용할 때마다 "venet0"이라는 이름으로 네트워크 인터페이스를 참조할 수 있다면 그렇게 할 수 있습니다.

그러나 이름이 eth0이어야 하는 경우 다음과 같이 할 수 있습니다.

sudo ip link set dev venet0 alias eth0

"sudo" 접두어를 사용하면 "루트" 사용자로 명령을 실행할 수 있습니다. 이미 루트로 실행 중이라면 이 옵션을 해제해 둘 수 있습니다. 사실, 아마도 당신은 그것을 시도하고 오류가 없다면 승리하는 것입니다!

관련 정보