ฉันใช้เซิร์ฟเวอร์ Ubuntu 20.04.3 LTS บน ระยะไกล ราสเบอร์รี่ Pi 4
มันเชื่อมต่อผ่าน WiFi กับเราเตอร์ระยะไกล (IP 192.168.1.1) และฉันได้กำหนดค่าเครือข่ายด้วย netplan
อย่างไรก็ตาม หลังจากผ่านไปหลายเดือน ฉันตัดสินใจเปลี่ยนการกำหนดค่า DNS เช่น ลบ DNS ในเครื่องของเราเตอร์ออกแล้วแทนที่ด้วย DNS ของ Cloudflare
เมื่อรู้ว่าไฟล์ yaml นั้นไวต่อการเว้นวรรคมาก การเปลี่ยนแปลงเดียวที่ฉันทำคือการลบ "92" และ "68" ดังนั้นไฟล์ตอนนี้จึงเป็นดังนี้:
$cat /etc/netplan/50-cloud-init.yaml
# ไฟล์นี้สร้างขึ้นจากข้อมูลที่จัดทำโดยแหล่งข้อมูล การเปลี่ยนแปลง
# ถึงมันจะไม่คงอยู่ตลอดการรีบูตอินสแตนซ์ หากต้องการปิดใช้งาน cloud-init
# ความสามารถในการกำหนดค่าเครือข่าย เขียนไฟล์
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg ดังต่อไปนี้:
# เครือข่าย: {config: ปิดการใช้งาน}
เครือข่าย:
รุ่น: 2
เรนเดอร์: เครือข่าย
อีเธอร์เน็ต:
eth0:
dhcp4: จริง
ไวไฟ:
wlan0:
dhcp4: ไม่
ที่อยู่: [192.168.1.12/24]
เกตเวย์ 4: 192.168.1.1
เนมเซิร์ฟเวอร์:
ที่อยู่: [1.1.1.1, 8.8.8.8]
จุดเชื่อมต่อ:
"ชื่อจุดเชื่อมต่อ":
รหัสผ่าน: "รหัสผ่านจุดเชื่อมต่อ"
รุ่น: 2
อย่างไรก็ตาม เมื่อฉันรัน netplan ฉันได้รับสิ่งต่อไปนี้:
$ sudo netplan ลอง
งานสำหรับ netplan-wpa-wlan0.service ถูกยกเลิก
เกิดข้อผิดพลาด: คำสั่ง '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' ส่งกลับสถานะการออกที่ไม่ใช่ศูนย์ 1
กำลังย้อนกลับ
คำเตือน: กำลังหยุด systemd-networkd.service แต่ยังคงเปิดใช้งานได้โดย:
systemd-networkd.socket
บางครั้งฉันได้รับข้อผิดพลาดต่อไปนี้แทน:
$ sudo netplan ลอง
งานสำหรับ netplan-wpa-wlan0.service ถูกยกเลิก
เกิดข้อผิดพลาด: คำสั่ง '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' ส่งกลับสถานะการออกที่ไม่ใช่ศูนย์ 1
กำลังย้อนกลับ
งานสำหรับ netplan-wpa-wlan0.service ถูกยกเลิก
Traceback (การโทรครั้งล่าสุดล่าสุด):
ไฟล์ "/usr/share/netplan/netplan/cli/commands/try_command.py" บรรทัดที่ 84 ใน command_try
NetplanApply().command_apply(run_generate=True, sync=True, exit_on_error=False)
ไฟล์ "/usr/share/netplan/netplan/cli/commands/apply.py", บรรทัด 164 ใน command_apply
utils.systemctl_networkd('หยุด', sync=sync, extra_services=wpa_services)
ไฟล์ "/usr/share/netplan/netplan/cli/utils.py", บรรทัด 131 ใน systemctl_networkd
subprocess.check_call (คำสั่ง)
ไฟล์ "/usr/lib/python3.8/subprocess.py", บรรทัด 364 ใน check_call
เพิ่ม CalledProcessError (retcode, cmd)
subprocess.CalledProcessError: คำสั่ง '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' ส่งคืนสถานะการออกที่ไม่ใช่ศูนย์ 1
ในระหว่างการจัดการข้อยกเว้นข้างต้น มีข้อยกเว้นอื่นเกิดขึ้น:
Traceback (การโทรครั้งล่าสุดล่าสุด):
ไฟล์ "/usr/sbin/netplan" บรรทัดที่ 23 ใน <โมดูล>
netplan.main()
ไฟล์ "/usr/share/netplan/netplan/cli/core.py", บรรทัดที่ 50 ในหน้าหลัก
self.run_command()
ไฟล์ "/usr/share/netplan/netplan/cli/utils.py", บรรทัด 264 ใน run_command
self.func()
ไฟล์ "/usr/share/netplan/netplan/cli/commands/try_command.py", บรรทัด 66, ทำงานอยู่
self.run_command()
ไฟล์ "/usr/share/netplan/netplan/cli/utils.py", บรรทัด 264 ใน run_command
self.func()
ไฟล์ "/usr/share/netplan/netplan/cli/commands/try_command.py" บรรทัดที่ 95 ใน command_try
self.revert()
ไฟล์ "/usr/share/netplan/netplan/cli/commands/try_command.py" บรรทัด 118 ย้อนกลับ
NetplanApply().command_apply(run_generate=False, sync=True, exit_on_error=False)
ไฟล์ "/usr/share/netplan/netplan/cli/commands/apply.py", บรรทัด 164 ใน command_apply
utils.systemctl_networkd('หยุด', sync=sync, extra_services=wpa_services)
ไฟล์ "/usr/share/netplan/netplan/cli/utils.py", บรรทัด 131 ใน systemctl_networkd
subprocess.check_call (คำสั่ง)
ไฟล์ "/usr/lib/python3.8/subprocess.py", บรรทัด 364 ใน check_call
เพิ่ม CalledProcessError (retcode, cmd)
subprocess.CalledProcessError: คำสั่ง '['systemctl', 'stop', 'systemd-networkd.service', 'netplan-wpa-*.service']' ส่งคืนสถานะการออกที่ไม่ใช่ศูนย์ 1
ฉันต้องการให้ระวังเรื่องนี้ให้มาก เพราะฉันไม่ต้องการถูกล็อกอย่างถาวรในกรณีที่เกิดข้อผิดพลาดในการกำหนดค่าเครือข่าย เนื่องจากฉันไม่มีสิทธิ์เข้าถึงในเครื่องเพื่อแก้ไขสิ่งต่างๆ หากจำเป็น (นั่นคือเหตุผลที่ฉันเรียกใช้ netplan ลอง.. ไม่แน่ใจว่ารีบูตระบบแล้วจะถูกล็อกหรือไม่)
ข้อเสนอแนะใด ๆ