VirtualBox의 헤드리스 CentOS 7: /etc/sysconfig/network-scripts/ifcfg-enp0sN 스크립트 편집/확인

VirtualBox의 헤드리스 CentOS 7: /etc/sysconfig/network-scripts/ifcfg-enp0sN 스크립트 편집/확인

내 (Windows) 데스크탑 컴퓨터의 VirtualBox에서 GUI가 아닌 CentOS 7 Linux를 실행하고 있습니다. 최근에 우리는 네트워크 설정에 문제가 있어 DHCP 기반 네트워킹이 실패했습니다. 또한 며칠 동안 Linux 상자에도 문제가 있었습니다. 어려움을 겪으면서 나는 그 상자의 구성을 약간 어지럽혔습니다(VirtualBox 네트워크 어댑터 등을 실험했습니다).

이제 "정상적인" 네트워크가 다시 작동하지만 내 vbox에서 갑자기 다시 문제가 발생합니다(예전에는 잘 작동했습니다). Windows 시스템보다 6일이 늦습니다. 중요한 외부 리소스에 대한 경로도 끊어졌습니다. 예를 들어 더 이상 Github에 액세스할 수 없습니다.

분명히 네트워크는 NetworkManager에 의해 관리됩니다.

# LANG=C nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
connected  full          enabled  enabled  enabled  enabled
# LANG=C nmcli device
DEVICE  TYPE      STATE      CONNECTION
enp0s8  ethernet  connected  Kabelgebundene Verbindung 1

명령 ifconfig에서는 실제로 사용되었다고 말했지만 enp0s8정보가 일치하지 않았습니다. 예를 들어 에 따르면 ifconfig enp0s8IP4 주소( inet)는 이지만 192.168.33.199파일 IPADDR의 값은 ifcfg-*다른 오래된 값입니다.

/etc/sysconfig/network-scripts/디렉토리에는 일부 쓰레기가 있습니다. ifcfg-*파일이 있지만 ifcfg-Kabelgebundene_Verbindung_1( NAME="Kabelgebundene Verbindung 1"참조된 스크립트임) IP 주소 등이 오래되었고 일치 항목이 route-Kabelgebundene_Verbindung_1비어 있습니다. 그러나 비어 있지 않은 route-*파일이 있습니다.

ifconfig enp0s8그래서 내 생각은 출력의 정보를 사용하여 이러한 파일을 수동으로 복구하는 것입니다.

우선, ifcfg-*문서의 내용을 완전히 이해하지 못했습니다. 가치가 있고 HWADDR, (때로는 다른) 가치도 있습니다 MACADDR. (오래된) 파일에는 과 가 모두 ifcfg-enp0s3있습니다 (후자는 값을 포함하지 않음).HWADDRMACADDRMACADDRHWADDRifcfg-Kabelgebundene_Verbindung_1MACADDR

ifconfig나는 (" ")의 하드웨어 주소가 ether모든 경우에 정확하기를 원합니다. 그렇죠?

그래서 내 계획은 다음과 같습니다.

  • 스크립트 세트(내 경우에는 {ifcfg,route}-Kabelgebundene_Verbindung_1)를 선택하고 나머지는 삭제합니다( *-lo물론 유지합니다).
  • ifcfg-*파일 에서는
    • 다음 값 HWADDR으로 설정합니다 .etherifconfig
    • 다음 값 IPADDR으로 설정합니다 .inetifconfig

알고보니 해당 스크립트에 있는 정보를 이용해 DHCP 서버를 (다른 서브넷에서, 한숨...) 찾았기 때문에 수동 설정(및 기타) BOOTPROTO=dhcp대신 사용할 수 있었던 것입니다 .IPADDRroute-*

유사한 작업을 수행할 때 조정된 스크립트를 사용할지 확신할 수 없으므로 ifconfig down enp0s8; ifconfig up enp0s8루트 비밀번호를 확인한 후(ssh/PuTTY 없이 상자에 직접 로그인할 수 있는지 확인) 방금 재부팅했는데 제대로 작동했습니다.

아직 해결하지 못한 문제:

  • UUID값은 무엇입니까? 다른 가상 네트워크 어댑터에서 가져온 다른 값이 있지만 출력에서 ​​찾을 수 없습니다 VBoxManage showvminfo "<vm name>". 이것은 단지 "교육받은 추측"일뿐입니다.
  • 변경 사항을 테스트하는 가장 좋은 방법은 무엇입니까?

답변1

헤드리스 서버에서 네트워킹을 설정/복원하는 더 쉬운 방법은 "nmtui" 대화형 텍스트 메뉴를 사용하는 것입니다.

$ yum install NetworkManager-tui
$ nmtui

                      ┌───────────────────────────┐
                      │                           │ 
                      │ ┌─────────────┐           │ 
                      │ │ Ethernet  ↑ │ <Add>     │ 
                      │ │   enp4s0  ▒ │           │ 
                      │ │ Bridge    ▒ │ <Edit...> │ 
                      │ │   virbr0  ▮ │           │ 
                      │ │   cni0    ▒ │ <Delete>  │ 
                      │ │   br0     ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ▒ │           │ 
                      │ │           ↓ │ <Back>    │ 
                      │ └─────────────┘           │ 
                      │                           │ 
                      └───────────────────────────┘ 

관련 정보