สำหรับผู้ใช้ DHCP อาจมีบางครั้งที่คุณต้องแก้ไข/etc/resolv.conf
เพื่อใช้เนมเซิร์ฟเวอร์อื่น หลังจากนั้นสักครู่ (หรือหลังจากรีบูตระบบ) คุณจะพบว่าการเปลี่ยนแปลงของคุณ/etc/resolv.conf
ถูกเปลี่ยนกลับ
บทช่วยสอนนี้แสดงสามวิธีในการหยุด DHCP ไม่ให้เปลี่ยน/etc/resolv.conf
บน Debian หรือ Ubuntu
วิธีที่ 1: เปลี่ยนการตั้งค่าอินเทอร์เฟซเป็นแบบคงที่
- บน cloud vps ฉันไม่แนะนำให้ใช้วิธีนี้
- หากคุณใช้วิธีนี้คุณอาจพบว่าการประมวลผลการรีบูต (จนกว่าคุณจะสามารถเข้าสู่ระบบผ่าน ssh) จะใช้เวลานานขึ้น
อันดับแรกเราต้องได้IP / netmask / gatewayของเซิร์ฟเวอร์ เรียกใช้คำสั่งต่อไปนี้
ifconfig | grep "inet addr" | head -n 1 | awk '{print $2, $4}'
ให้เซิร์ฟเวอร์ IP และ netmask ดูผลลัพธ์ตัวอย่าง ...
addr:1.2.3.4 Mask:255.255.254.0
... เซิร์ฟเวอร์ที่อยู่ IP เป็น1.2.3.4และหน้ากากเป็น255.255.254.0
ในการรับที่อยู่เกตเวย์ให้เรียกใช้คำสั่งต่อไปนี้
netstat -rn | grep '^0.0.0.0' | awk '{print $2}'
ในตัวอย่างนี้ผมจะใช้ที่อยู่ประตู1.2.3.1
ตอนนี้ที่เรามี/ IP netmask เกตเวย์ //etc/network/interfaces
แก้ไข
vim /etc/network/interfaces
ทำการแก้ไข��่อไปนี้:
# Comment out this line
# iface eth0 inet dhcp
# Add these contents
iface eth0 inet static
address 1.2.3.4
mask 255.255.254.0
gateway 1.2.3.1
จำไว้ว่าคุณต้องแทนที่ค่าเหล่านี้ด้วยIP / netmask / gatewayของเซิร์ฟเวอร์ที่เหมาะสม
บันทึกและออกจากนั้นรีบูต
วิธีที่ 2: ป้องกันการเขียนชื่อเซิร์ฟเวอร์ของคุณ
/etc/resolv.conf
เปลี่ยนเซิร์ฟเวอร์ของคุณโดยการแก้ไข เมื่อคุณทำการแก้ไขของคุณเขียนป้องกันไฟล์นั้น
chattr +i /etc/resolv.conf
การเขียน+i
ตัวเลือก (คุณลักษณะ) ปกป้อง/etc/resolv.conf
ไฟล์บน Linux เพื่อให้ไม่มีใครสามารถแก้ไขได้ - แม้แต่ผู้ใช้รูท
หากคุณต้องการลบคุณลักษณะป้องกันการเขียนให้ใช้คำสั่งต่อไปนี้
chattr -i /etc/resolv.conf
วิธีที่ 3: ใช้ hooks DHCP
นี่เป็นวิธีที่ฉันแนะนำให้ใช้มากที่สุด
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
แก้ไข
vim /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
ทำการแก้ไขต่อไปนี้:
#!/bin/sh
make_resolv_conf(){
:
}
บันทึกและออก.
อัปเดตการอนุญาตในnodnsupdate
ไฟล์
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
รีบูตเซิร์ฟเวอร์ของคุณ ตอนนี้คุณสามารถอัปเดตเนมเซิร์ฟเวอร์ได้โดยแก้ไข/etc/resolv.conf
โดยไม่ต้องกังวลเกี่ยวกับการย้อนกลับ