제가 만들고 있는 Ubuntu 이미지에는 eth0과 eth1이라는 두 개의 네트워크 인터페이스가 있습니다. 이 이미지에서 클라우드 인스턴스를 생성하고 싶습니다. 생성되는 모든 클라우드 인스턴스에 대해 각 인스턴스에는 이러한 두 개의 네트워크 인터페이스가 있습니다. 그러나 요구 사항은 인터페이스 이름을 각각 인터페이스0과 인터페이스1로 바꿔야 한다는 것입니다. cloud-init를 사용하여 인스턴스 시작 시기를 구성하는 방법은 무엇입니까?
답변1
cloud-init에 대한 설명서는 이 섹션의 다음 예를 보여줍니다.네트워크 구성 버전 2:
# all cards on second PCI bus
match:
name: enp2*
# fixed MAC address
match:
macaddress: 11:22:33:AA:BB:FF
# first card of driver ``ixgbe``
match:
driver: ixgbe
name: en*s0
일치 항목이 단일 장치에만 국한되는 한 이를 사용하여 set-name:
원하는 인터페이스 이름을 정의할 수 있습니다.
set-name: <(scalar)>
경로 또는 MAC과 같은 고유한 속성을 일치시키거나 "항상 하나의 Wi-Fi 장치만 있습니다"와 같은 추가 가정을 사용하는 경우 하나의 장치만 일치하도록 일치 규칙을 작성할 수 있습니다. 그런 다음 이 속성을 사용하여 udev의 ifnames에 있는 기본 이름보다 더 구체적이고 이상적이며 더 나은 이름을 장치에 제공할 수 있습니다. 일치 규칙을 충족하는 연결된 모든 장치는 이름이 바뀌지 않으며 원래 커널 이름을 유지합니다(그리고 dmesg에 오류가 표시됩니다).
예를 들어:
$ cat /etc/cloud/cloud.cfg.d/custom-networking.cfg
network:
version: 2
ethernets:
interface0:
match:
mac_address: "52:54:00:12:34:00"
set-name: interface0
addresses:
- 192.168.1.10/255.255.255.0
gateway4: 192.168.1.254