CentOS 7 - 와일드카드 인터페이스 스크립트?

CentOS 7 - 와일드카드 인터페이스 스크립트?

장치 이름에 와일드카드를 허용하면서 기존 네트워크 스크립트를 사용하여 네트워크 인터페이스를 구성하는 메커니즘이 CentOS 7에 내장되어 있습니까?

대략 다음과 같습니다.

/etc/sysconfig/network-scripts/ifcfg-*

...검색된 모든 장치에 적용됩니다.

여기서의 사용 사례는 다양한 하드웨어에서 사용될 CentOS 7 이미지를 구축하는 것입니다. 일부 하드웨어에는 여러 개의 NIC가 있고 다른 하드웨어에는 단일 NIC가 있습니다. 따라서 이미지가 처음 부팅될 때 사전 구성된 스크립트가 /etc/sysconfig/network-scripts/현재 장치 이름과 반드시 ​​일치할 필요는 없습니다.

실제 ifcfg 스크립트는 네트워크에 익숙하지 않으며 단순한 IPv4/DHCP 네트워크입니다.

(가능하다면) 내가 피하려고 노력하는 것:

  • 네트워크 관리자.
  • udev의 기본 인터페이스 이름을 변경합니다.

여기서는 사전 구성이 주요 목표입니다. 감사해요!

답변1

이 작업을 수행하는 와일드카드 방법은 없다고 생각하지만 init 스크립트나 systemd 장치가 실행 중일 수 있습니다.앞으로발견된 각 인터페이스의 네트워크 초기화에 필요한 ifcfg- 파일을 찾아서 /sys/class//net(또는 실행 ) 생성(누락된 경우)합니다.ip link

그것은 마치

#!/bin/bash

create_dev()
{
  dev=$1

  echo IPV6INIT=yes
  echo IPV6_AUTOCONF=yes
  echo BOOTPROTO=dhcp
  echo DEVICE=$dev
  echo ONBOOT=yes
}

for dev in *
do
  CFG=/etc/sysconfig/network-scripts/ifcfg-$dev

  if [ ! -e $CFG ]
  then
    create_dev $dev > $CFG
  fi
done

포장지로는 충분할 수도 있습니다. 그런 다음 시작 프로세스에서 충분히 일찍 실행되도록 필요한 단위 또는 초기화 스크립트를 생성해야 합니다.

답변2

Stephen Harris의 답변은 좋은 솔루션이지만 현재 기존 Linux 배포판의 표준인 네트워크 관리자 사용을 의도적으로 피합니다. 기존 초기화 스크립트는 현재 네트워크 장치에서 계속 작동하지만 네트워크 관리자를 위해 이에 대한 지원이 단계적으로 중단되고 있습니다. 이것이 기본값인 이유입니다.

전통적인 init 스크립트는 미래에 (거의 모든 일반 배포판에서) 사라질 것이기 때문에 네트워크 관리자에 익숙해지는 것이 좋습니다. 이런 경우에는 쉽게 활용하실 수 있습니다.

네트워크 관리자~ 할 것이다기본 DHCP 설정(기본적으로 일반적으로)을 사용하여 새 인터페이스를 불러옵니다. 아래에 즉시 나열되어 있습니다 nmcli con show. Network Manager는 자동으로 ifcfg-* 파일을 생성합니다. 귀하의 환경에서 DHCP를 사용하고 있다면 이는 문제가 되지 않습니다. 정적을 사용하는 경우 더 많은 작업을 수행해야 합니다.

바라보다 man nmcli-examples.

관련 정보