더 이상 사용되지 않는 Gateway4 필드를 방지하기 위해 비정상적인 Netplan 구성을 변환합니다.

더 이상 사용되지 않는 Gateway4 필드를 방지하기 위해 비정상적인 Netplan 구성을 변환합니다.

01-netcfg.yaml이전에 작동했어야 하는 문서의 기존 파일이 있습니다 .

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: no
      dhcp6: no
      addresses: []212.80.140.1/32]
      gateway4: 62.210.0.1
      nameservers:
        addresses: [62.210.16.6, 62.210.16.7]
      routes:
      - to: 62.210.0.1/32
        via: 212.80.140.1
        scope: link

이 구성은 하이퍼바이저(Proxmox PVE) 내 가상 머신의 보조 또는 장애 조치 IP4용입니다.스케일웨이 네트워크.

Ubuntu 22.04의 Netplan에서 더 이상 Gateway4 필드를 사용할 수 없습니다. netplan apply다음 오류로 인해 실행이 실패합니다.

gateway4 has been deprecated, use default routes instead

routes해당 필드를 사용하려면 구문을 업데이트해야 한다고 생각하는데 gateway4구문을 올바르게 가져올 수 없습니다. 기본 게이트웨이는 기본 주소의 서브넷 외부에 있으므로 추가 구성이 필요합니다. 어쩌면 onlink, 소스 라우팅, 라우팅 테이블 등이 있을 수 있습니다. 나는 모른다.

http://people.ubuntu.com/~slyon/netplan-docs/examples/#reaching-a-directly-connected-gateway

누구든지 주어진 구성을 routes대신 사용하도록 변환할 수 있습니까 gateway4?

답변1

on-link: true기본 경로에 "onlink" 플래그( )를 설정하는 것으로 충분합니다.

네트워킹 넷플랜 (최선을 다해 보세요)
[라우팅] 
Gateway=62.210.0.1
GatewayOnLink=yes
경로: 
- 경유: 62.210.0.1
링크: true

로컬 /32 경로를 추가하는 것은 대안입니다(일반적으로 1이 두 가지를 모두 수행할 필요는 없습니다). 귀하의 예는 이 작업을 수행하는 BSD 방식(자체 IP 주소를 통한 라우팅)을 보여 주지만 Linux에서 경로를 정의하는 것이 더 전통적입니다.아니요게이트웨이. (이전 네트워크 버전에서는 잘못된 범위를 지정하기만 하면 되었습니다.)

네트워킹 netplan(구문을 추측해 보세요)
[경로] 
목적지=62.210.0.1/32
범위=링크

[경로]
# 목적지=0.0.0.0/0
게이트웨이=62.210.0.1
경로: 
- 수신: 62.210.0.1
범위: 링크
- 경유: 62.210.0.1

1 (찾은 문서는 약간 오래되었습니다. 커널 4.17부터 "onlink" 플래그는 IPv6에서도 작동합니다. 이전 커널은 플래그를 무시하므로 별도의 /128 경로만 필요합니다.)

관련 정보