Bảo vệ độ phân giải từ DHCP trên FreeBSD 10

Nếu bạn đang chạy trình phân giải của riêng mình hoặc muốn sử dụng một từ nhà cung cấp bên thứ 3, bạn có thể thấy rằng /etc/resolv.conftệp của mình đang bị ghi đè bởi DHCP. Có một số cách để giải quyết vấn đề này. Vì bạn có thể sẽ muốn khởi động lại để đảm bảo rằng các thay đổi của bạn được thực hiện và vì bạn sẽ bắt đầu cài đặt mạng ngay từ đầu, tôi khuyên bạn nên thực hiện việc này trên một ví dụ thử nghiệm và / hoặc ngoài đỉnh giờ

Bây giờ sau đó, đây là ba phương pháp, từ tồi tệ nhất đến tốt nhất. Lưu ý rằng tất cả các phương thức trong hướng dẫn này được viết cho FreeBSD 10. Người dùng Linux có thể tham khảo hướng dẫn này .

Phương pháp 1: Sử dụng cài đặt giao diện tĩnh

Trong thử nghiệm giới hạn của tôi, điều này dẫn đến thời gian khởi động nhanh hơn một chút vì bạn không phải đợi DHCP chỉ định cài đặt mạng của mình. Tuy nhiên, tôi đã thấy đề cập đến trong một số tài liệu của Vultr rằng sử dụng cài đặt giao diện tĩnh sẽ không được chấp nhận và bạn nên sử dụng DHCP. Tôi cho rằng họ có lý do chính đáng cho việc này và do đó tôi đã tiếp tục sử dụng DHCP. Tuy nhiên, nếu bạn quyết định đi theo con đường này, hãy làm theo các bước dưới đây.

  • Xác định IP của máy chủ, mặt nạ mạng và IP cổng.
  • Sửa đổi /etc/rc.confđể sử dụng các giá trị này thay vì DHCP.
  • Khởi động lại để kiểm tra cài đặt.

Xác định IP / netmask / gateway

Giả sử giao diện của bạn là vtnet0, hãy thực hiện như sau:

ifconfig vtnet0 | grep inet

Điều này sẽ giúp bạn có địa chỉ IP và netmask cho máy chủ của bạn:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD thích sử dụng hex cho netmask. Ở trên chuyển đổi thành 255.255.255.0nếu bạn tò mò. Bạn có thể tìm thấy một bảng tiện dụng ở đây , nhưng đừng sợ: bạn chỉ có thể sao chép địa chỉ hex vào các tệp cấu hình của mình (hoặc chuyển đổi nó thành số thập phân nếu bạn thích).

Bạn có thể tìm thấy cổng một số cách. Đây là một:

route get default | grep gateway sẽ trả lại một cái gì đó dọc theo dòng:

gateway: 10.10.10.1

Sửa đổi /etc/rc.confvới các giá trị mới

Được trang bị IP, netmask và gateway, giờ là lúc để thêm chúng vào cấu hình hệ thống. Tôi thực sự khuyên bạn nên sao lưu tệp này trước khi thực hiện bất kỳ thay đổi nào, vì nó sẽ giúp bạn hoàn tác dễ dàng hơn nếu bạn làm hỏng. Bây giờ, hãy mở ra /etc/rc.conftrong trình soạn thảo lựa chọn của bạn và thực hiện các thay đổi sau:

# Comment out this line:
# ifconfig_vtnet0="dhcp"

# Add these lines:
defaultrouter="10.10.10.1"
ifconfig_vtnet0="inet 10.10.10.10 netmask 0xffffff00"

Rõ ràng, bạn nên chắc chắn thay thế IP thực tế, netmask và cổng cho các giả mạo rõ ràng của tôi.

Khởi động lại và kiểm tra

Khởi động lại máy chủ của bạn bằng cách sử dụng shutdown -r nowvà đảm bảo rằng nó hoạt động trở lại đúng cách. Thực hiện bất kỳ thử nghiệm nào bạn thấy cần thiết để đảm bảo mọi thứ đều hoạt động tốt. Nếu mạng không thể truy cập, đăng nhập qua bảng điều khiển và hoàn nguyên các thay đổi của bạn. Nếu mọi thứ đều ổn, tại thời điểm này, bạn có thể đặt bất cứ thứ gì bạn muốn vào resolv.confmà không sợ nó bị xóa sạch.

Nếu vì bất kỳ lý do gì bạn không thể khởi động lại, điều này sẽ hoạt động, nhưng tôi thực sự thực hiện khởi động lại đúng cách nếu tôi là bạn:

service netif restart && service routing restart

Cách 2: Làm cho resolv.confbất biến

Đây là một chút hack, nhưng nó dễ dàng là giải pháp nhanh nhất. Tôi không khuyến nghị điều đó bởi vì tôi không thể đảm bảo điều này sẽ không gây ra một số điều kỳ lạ trong tương lai khi bạn nâng cấp lên bản phát hành mới của hệ điều hành và có khả năng dhclient sẽ phàn nàn rất nhiều. Điều đó nói rằng, đơn giản chflags schg /etc/resolv.conflà tất cả những gì cần thiết. Các tập tin bây giờ hoàn toàn được bảo vệ chống ghi, thậm chí từ root. Bạn có thể xác minh như vậy:

vultr [~]# chflags schg /etc/resolv.conf
vultr [~]# ls -ol /etc/resolv.conf
-rw-r--r--  1 root  wheel  schg 50 Nov 29 06:28 /etc/resolv.conf
vultr [~]# echo "so very untouchable" >> /etc/resolv.conf
/etc/resolv.conf: Operation not permitted.

Hoàn tác với: chflags noschg /etc/resolv.conf

Phương pháp 3: Lịch sự nói với FreeBSD để lại các thiết lập của bạn

Đây là cách sạch nhất, đúng đắn nhất để thực hiện điều này. Có hai cách bạn có thể thực hiện:

Cấu hình dhclient

Hãy lấy ví dụ từ trên xuống và nói rằng tất cả những gì bạn muốn làm là đặt máy chủ tên tùy chỉnh của bạn vào resolv.confvà không muốn mất nó mỗi khi DHCP làm việc đó. Trong trường hợp của tôi, tôi muốn sử dụng trình phân giải bộ đệm mà tôi đã cài đặt nghe trên localhost, vì vậy tôi chỉnh sửa /etc/dhclient.conf(có thể sẽ bị bỏ trống ngoài các nhận xét) và thêm vào như sau:

interface "vtnet0" {
    supersede domain-name-servers 127.0.0.1;
}

Điều này sẽ cho phép dhclient thực hiện mọi thứ khác mà bạn cần, nhưng khi máy chủ DHCP gửi cho nó một danh sách các máy chủ tên sẽ sử dụng, bạn sẽ thay thế (như thay thế hoàn toàn) những cái mà nó cung cấp. Nếu bạn muốn bổ sung (thay vì thay thế) những thứ được cung cấp, bạn có thể "nối thêm" hoặc "trả trước" thay vì "thay thế", nếu phù hợp.

Ngẫu nhiên, nếu bạn yêu cầu nhiều hơn một máy chủ tùy chỉnh, hãy chỉ định chúng như thế này:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

Sau khi thực hiện các thay đổi của bạn, hãy khởi động lại dhclientđể chúng có hiệu lực ngay lập tức:

service dhclient restart vtnet0

Kiểm tra của bạn /etc/resolv.confvà bạn sẽ thấy nó bây giờ có (các) máy chủ tên tùy chỉnh của bạn trong đó.

Theo văn bản này, máy chủ tên là thứ duy nhất máy chủ DHCP của Vultr đã đặt vào tôi resolv.confvà là thứ duy nhất tôi quan tâm để tùy chỉnh. Tuy nhiên, nếu bạn cần ghi đè bất kỳ cài đặt nào khác, hãy tham khảo hướng dẫn tuyệt vời để có danh sách toàn diện:

man 5 dhclient.conf

Có những ví dụ tuyệt vời ở phía dưới sẽ cho bạn ý tưởng về những gì bạn có thể làm. Ngoài đỉnh đầu của tôi, tôi có thể tưởng tượng bạn có thể muốn thêm một cái gì đó như supersede domain-name "example.com";nếu bạn thường có một dòng như thế trong của bạn resolv.conf. Một lần nữa, tham khảo các tài liệu.

Cấu hình resolvconf

Đây là giải pháp đơn giản nhất nếu bạn chỉ muốn resolv.confbị bỏ lại một mình. Theo hướng dẫn:

resolvconf manages resolv.conf(5) files from multiple sources, such as DHCP and VPN clients

Cấu hình của nó nằm trong /etc/resolvconf.conf, có khả năng không tồn tại trên hệ thống của bạn, vì vậy hãy thoải mái tạo nó. Để làm cho resolv.confbất biến của bạn , thêm điều này:

# prevent all updates to resolv.conf:
resolv_conf="/dev/null"

Nếu bạn sử dụng unboundlàm trình giải quyết bộ đệm ẩn cục bộ, đó là dòng mà nó thêm vào (cùng với một vài cho chính nó). Điều đó về cơ bản là đánh lừa resolvconfsuy nghĩ của bạn /etc/resolv.confnằm ở /dev/null. Một cái gì đó hơi ít có nghĩa, nhưng hiệu quả tương đương, sẽ là:

# disable resolvconf from running any subscribers:
resolvconf="NO"

Nếu bạn muốn làm một cái gì đó tinh vi hơn là tắt nó đi, các trang dành cho resolvconfresolvconf.confcó nhiều thông tin.



Leave a Comment

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

AI trong lĩnh vực chăm sóc sức khỏe đã có những bước tiến nhảy vọt so với những thập kỷ trước. Vì vậy, tương lai của AI trong Chăm sóc sức khỏe vẫn đang phát triển từng ngày.