일부 튜토리얼(여기그리고여기) 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
/ false
및 on
/ 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 apply
Voilà!를 실행하세요. 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
).