netplan에서 dhcp를 설정하는 올바른 방법

netplan에서 dhcp를 설정하는 올바른 방법

일부 튜토리얼(여기그리고여기) netplan dhcp4 정보는 다음과 같이 나타납니다.

network:
 version: 2
 renderer: networkd
 ethernets:
   enp2s0:
    dhcp4: no

또는

    dhcp4: yes

하지만네트워크 계획 예시그리고블로그분투때로는 다음과 같이 나타납니다.

    dhcp4: true

또는

    dhcp4: false

다른 예에서는 "is't/is"로 읽습니다.

Ubuntu 18.04에서 dhcp를 설정하는 올바른 방법은 무엇입니까(~이든또는진실과 거짓)? 감사해요

답변1

Netplan 구성 구문은 YAML이며 dhcp4설정은 부울 값을 사용합니다.

~에 따르면http://yaml.org/type/bool.html허용되는 값은 y/ n, yes/ no, true/ falseon/ off이며 모두 소문자, 대문자 또는 모두 대문자입니다.

따라서 나열된 모든 방법이 정확합니다.

표준(구별해야 하는 경우 "가장 정확한") 형식은 소문자 y/ 입니다 n.

그러나 정의는 다음과 같이 말합니다.

부울 값은 참/거짓 값을 나타냅니다. 가독성을 위해 부울 값은 영어 단어("true"/"false", "yes"/"no" 또는 "on"/"off")로 형식화되며 단일 문자 "y"/로 축약될 수 있습니다. "n" 또는 "예"/"N".

따라서 읽기 쉬운 양식을 사용하면 됩니다.

답변2

최신 버전의 netplan에서는 no구성 매개변수의 값이 더 이상 영향을 미치지 않는 것 같습니다.

더 나쁜 것은 true.

그래서 나는 이것을 이것으로 대체하자고 제안했는데 false, 그러면 적어도 내 문제는 해결되었습니다.

답변3

Ubuntu 22.04.2를 실행하는 두 대의 서버가 있고 그 중 하나가 DHCP IPv6 주소를 얻지 못했을 때 동일한 문제가 발생했습니다.

이 두 가지 구성을 비교할 때 작업 서버는 다음과 같습니다.

dhcp6: yes

그리고 작동하지 않는 서버에는

dhcp6: true

yes로 변경한 후 netplan applyVoilà!를 실행하세요. IPv6 주소가 있습니다. 그렇다면 v6 주소를 얻기 위해 true수동으로 실행해야 하므로 dhclient 호출이 전혀 이루어지지 않는다는 것을 알고 있습니다.dhclient -6 <iface>netplan

TelcoM의 답변에 따르면 y/n이 가장 정확한 표현인 경우에만 y/n|yes/no를 허용하도록 전환한 것 같습니다. sascha.arthur의 답변을 읽은 후 no가 작동하지 않아 더욱 혼란스럽기 때문에 false로 변경하는 것이 좋습니다.

두 가지 시나리오를 모두 시도해 보는 것이 좋습니다. 현재 netplan 0.105를 사용하고 있습니다(선택됨 apt list --installed | grep netplan).

관련 정보