Đối với người dùng DHCP, có thể đôi khi bạn cần chỉnh sửa /etc/resolv.conf
để sử dụng các máy chủ tên khác. Sau đó, sau một khoảng thời gian (hoặc sau khi khởi động lại hệ thống), bạn phát hiện ra rằng những thay đổi của mình /etc/resolv.conf
đã được hoàn nguyên.
Hướng dẫn này cho thấy ba phương pháp để ngăn DHCP thay đổi /etc/resolv.conf
trên Debian hoặc Ubuntu.
Phương pháp 1: Thay đổi cài đặt giao diện thành tĩnh
- Trên vps đám mây, tôi không đề xuất sử dụng phương pháp này.
- Nếu bạn sử dụng phương pháp này, bạn có thể thấy rằng quá trình khởi động lại (cho đến khi bạn có thể đăng nhập qua ssh) mất nhiều thời gian hơn.
Đầu tiên, chúng ta cần lấy IP / netmask / gateway của máy chủ. Chạy lệnh sau.
ifconfig | grep "inet addr" | head -n 1 | awk '{print $2, $4}'
Điều này cung cấp IP máy chủ và netmask. Nhìn vào đầu ra ví dụ ...
addr:1.2.3.4 Mask:255.255.254.0
... Địa chỉ IP của máy chủ là 1.2.3.4 và mặt nạ là 255.255.254.0 .
Để lấy địa chỉ cổng, hãy chạy lệnh sau.
netstat -rn | grep '^0.0.0.0' | awk '{print $2}'
Trong ví dụ này, tôi sẽ sử dụng địa chỉ cổng 1.2.3.1 .
Bây giờ chúng ta có IP / netmask / gateway , chỉnh sửa /etc/network/interfaces
.
vim /etc/network/interfaces
Thực hiện các chỉnh sửa sau:
# 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
Hãy nhớ rằng, bạn phải thay thế các giá trị này bằng IP / netmask / gateway thích hợp của máy chủ.
Lưu và thoát, sau đó khởi động lại.
Cách 2: Viết bảo vệ máy chủ tên của bạn
Thay đổi máy chủ tên của bạn bằng cách chỉnh sửa /etc/resolv.conf
. Một khi bạn đã thực hiện các chỉnh sửa của mình, hãy viết bảo vệ tệp đó.
chattr +i /etc/resolv.conf
Các +i
tùy chọn (thuộc tính) ghi bảo vệ /etc/resolv.conf
tập tin trên Linux để không ai có thể sửa đổi nó - thậm chí không phải là người dùng root.
Nếu bạn cần loại bỏ thuộc tính write write, hãy sử dụng lệnh sau.
chattr -i /etc/resolv.conf
Phương pháp 3: Sử dụng móc DHCP
Đây là phương pháp mà tôi khuyên bạn nên sử dụng nhiều nhất.
Chỉnh sửa /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
.
vim /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Thực hiện các chỉnh sửa sau:
#!/bin/sh
make_resolv_conf(){
:
}
Lưu và thoát.
Cập nhật các quyền trên nodnsupdate
tập tin.
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Khởi động lại máy chủ của bạn. Bây giờ bạn có thể cập nhật máy chủ tên bằng cách chỉnh sửa /etc/resolv.conf
mà không phải lo lắng về việc khôi phục.