ปกป้อง resolv.conf จาก DHCP บน FreeBSD 10

หากคุณใช้โปรแกรมแก้ไขของคุณเองหรือต้องการใช้งานจากผู้ให้บริการบุคคลที่สามคุณอาจพบว่า/etc/resolv.confDHCP ถูกเขียนทับไฟล์ของคุณ มีหลายวิธีในการแก้ไขปัญหานี้ เนื่องจากคุณอาจต้องการที่จะรีบูตเพื่อให้แน่ใจว่าการเปลี่ยนแปลงของคุณจะเริ่มต้นและเนื่องจากคุณกำลังจะเริ่มต้นด้วยการตั้งค่าเครือข่ายในตอนแรกฉันขอแนะนำให้ทำเช่นนี้ในตัวอย่างทดสอบและ / หรือนอกขอบเขต ชั่วโมง

ตอนนี้ต่อไปนี้เป็นสามวิธีจากที่แย่ที่สุดไปหาดีที่สุด โปรดทราบว่าวิธีการทั้งหมดในคู่มือนี้เขียนขึ้นสำหรับ FreeBSD 10 ผู้ใช้ Linux สามารถอ้างอิงคู่มือนี้ได้

วิธีที่ 1: ใช้การตั้งค่าอินเทอร์เฟซแบบคงที่

ในการทดสอบที่ จำกัด ของฉันผลลัพธ์นี้ทำให้เวลาบูตเร็วขึ้นเล็กน้อยเนื่องจากคุณไม่ต้องรอ DHCP เพื่อกำหนดการตั้งค่าเครือข่ายของคุณ อย่างไรก็ตามฉันได้เห็นการกล่าวถึงในเอกสาร Vultr หลายตัวที่ใช้การตั้งค่าส่วนต่อประสานแบบคงที่และเมื่อคุณควรติดกับ DHCP ฉันคิดว่าพวกเขามีเหตุผลที่ดีสำหรับสิ่งนี้และทำให้ฉันยังคงใช้ DHCP ต่อไป อย่างไรก็ตามหากคุณตัดสินใจที่จะไปเส้นทางนี้ให้ทำตามขั้นตอนด้านล่าง

  • กำหนด IP, เน็ตเวิร์กมาสก์และ IP เกตเวย์ของเซิร์ฟเวอร์ของคุณ
  • แก้ไข/etc/rc.confเพื่อใช้ค่าเหล่านี้แทน DHCP
  • รีบูตเครื่องเพื่อทดสอบการตั้งค่า

กำหนด IP / netmask / เกตเวย์

สมมติว่าอินเตอร์เฟสของคุณคือ vtnet0 ให้ทำดังต่อไปนี้:

ifconfig vtnet0 | grep inet

สิ่งนี้จะทำให้คุณได้รับที่อยู่ IP และ netmask สำหรับเซิร์ฟเวอร์ของคุณ:

inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

FreeBSD ชอบใช้ hex สำหรับ netmask การแปลงข้างต้นเป็น255.255.255.0หากคุณสงสัย คุณสามารถหาตารางที่มีประโยชน์ได้ที่นี่แต่อย่ากลัว: คุณสามารถคัดลอกที่อยู่ฐานสิบหกไปยังไฟล์ปรับแต่งของคุณ (หรือแปลงเป็นทศนิยมหากคุณต้องการ)

คุณสามารถค้นหาเกตเวย์ได้หลายวิธี นี่คือหนึ่ง:

route get default | grep gateway จะส่งคืนบางสิ่งตามบรรทัด:

gateway: 10.10.10.1

แก้ไข/etc/rc.confด้วยค่าใหม่

อาวุธที่มี IP, netmask และเกตเวย์ตอนนี้ถึงเวลาที่จะเพิ่มลงในการกำหนดค่าระบบ ฉันขอแนะนำให้สำรองไฟล์นี้ก่อนทำการเปลี่ยนแปลงใด ๆ เนื่องจากจะทำให้การเลิกทำได้ง่ายขึ้นถ้าคุณทำเลอะ จากนั้นเปิดตัว/etc/rc.confแก้ไขที่คุณเลือกและทำการเปลี่ยนแปลงต่อไปนี้:

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

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

เห็นได้ชัดว่าคุณควรเปลี่ยน IP, netmask และเกตเวย์จริง ๆสำหรับการปลอมของฉันอย่างชัดเจน

รีบูตและทดสอบ

รีบูตเซิร์ฟเวอร์ของคุณโดยใช้shutdown -r nowและตรวจสอบให้แน่ใจว่ามันกลับมาอย่างถูกต้อง ทำการทดสอบอะไรก็ตามที่คุณเห็นว่าจำเป็นเพื่อให้แน่ใจว่าทุกอย่างทำงานได้อย่างถูกต้อง หากไม่สามารถเข้าถึงเครือข่ายได้ให้ลงชื่อเข้าใช้ผ่านคอนโซลและยกเลิกการเปลี่ยนแปลงของคุณ ถ้าทุกอย่างเรียบร้อยดี ณ จุดนี้คุณสามารถใส่อะไรก็ได้ที่คุณต้องการresolv.confโดยไม่ต้องกลัวว่ามันจะหายไป

ถ้าด้วยเหตุผลใดก็ตามที่คุณไม่สามารถรีบูทได้ควรทำงานได้ แต่ฉันจะทำการรีบูตที่เหมาะสมถ้าฉันเป็นคุณ:

service netif restart && service routing restart

วิธีที่ 2: ทำให้resolv.confไม่เปลี่ยนรูป

นี่เป็นบิตของการแฮ็ก แต่มันเป็นทางออกที่รวดเร็วที่สุด ฉันไม่แนะนำเพราะฉันไม่สามารถรับประกันได้ว่าสิ่งนี้จะไม่ทำให้เกิดความแปลกประหลาดในอนาคตเมื่อคุณอัปเกรดเป็นรุ่นใหม่ของระบบปฏิบัติการและ dhclient น่าจะบ่นเป็นกลุ่ม ที่กล่าวว่าเรียบง่ายchflags schg /etc/resolv.confเป็นสิ่งที่จำเป็น ตอนนี้ไฟล์ได้รับการป้องกันการเขียนอย่างสมบูรณ์แม้จากรูท คุณสามารถตรวจสอบเช่น:

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.

เลิกทำด้วย: chflags noschg /etc/resolv.conf

วิธีที่ 3: บอก FreeBSD อย่างสุภาพเพื่อออกจากการตั้งค่าของคุณ

นี่คือวิธีที่สะอาดและเหมาะสมที่สุดในการทำสิ่งนี้ให้สำเร็จ มีสองวิธีที่คุณสามารถทำได้:

กำหนดค่า dhclient

ลองยกตัวอย่างจากด้านบนและบอกว่าสิ่งที่คุณต้องทำคือใส่เนมเซิร์ฟเวอร์ที่กำหนดเองของคุณresolv.confและไม่ต้องการเสียทุกครั้งที่ DHCP ทำสิ่งนั้น ในกรณีของฉันฉันต้องการใช้ตัวแก้ไขแคชที่ติดตั้งที่ฟังบน localhost ดังนั้นฉันจึงแก้ไข/etc/dhclient.conf(ซึ่งอาจจะว่างเปล่าจากความคิดเห็น) และเพิ่มรายการต่อไปนี้:

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

สิ่งนี้จะช่วยให้ dhclient ทำทุกอย่างที่คุณต้องการ แต่เมื่อเซิร์ฟเวอร์ DHCP ส่งรายชื่อเซิร์ฟเวอร์ที่จะใช้มันคุณจะเข้ามาแทนที่ (เหมือนเข้าแทนที่) อย่างสมบูรณ์ หากคุณต้องการเสริม (แทนที่จะแทนที่) สิ่งที่เสนอคุณสามารถ "ผนวก" หรือ "เพิ่ม" แทน "แทนที่" ตามความเหมาะสม

ในกรณีที่คุณต้องการเซิร์ฟเวอร์ที่กำหนดเองมากกว่าหนึ่งตัวให้ระบุดังนี้:

supersede domain-name-servers 127.0.0.1, 127.0.0.2;

หลังจากทำการเปลี่ยนแปลงให้รีสตาร์ทdhclientเพื่อให้การเปลี่ยนแปลงมีผลทันที:

service dhclient restart vtnet0

ตรวจสอบของคุณ/etc/resolv.confและคุณควรพบว่าตอนนี้มีเนมเซิร์ฟเวอร์ที่คุณกำหนดเองอยู่

จากการเขียนนี้เนมเซิร์ฟเวอร์เป็นสิ่งเดียวที่เซิร์ฟเวอร์ DHCP ของ Vultr ได้ใส่เข้าไปในตัวฉันresolv.confและสิ่งเดียวที่ฉันใส่ใจในการปรับแต่ง อย่างไรก็ตามหากคุณต้องการแทนที่การตั้งค่าอื่น ๆ ให้ศึกษาคู่มือที่ยอดเยี่ยมสำหรับรายการที่ครอบคลุม:

man 5 dhclient.conf

มีตัวอย่างที่ดีที่ด้านล่างที่ควรให้คุณมีความคิดในสิ่งที่คุณสามารถทำได้ ปิดด้านบนของหัวของฉันฉันสามารถจินตนาการที่คุณอาจต้องการที่จะเพิ่มบางอย่างเช่นถ้าปกติคุณจะมีสายเช่นนั้นในของคุณsupersede domain-name "example.com"; resolv.confโปรดอ่านเอกสารอีกครั้ง

กำหนดค่า resolvconf

นี่เป็นทางออกที่ง่ายที่สุดถ้าคุณแค่อยากresolv.confอยู่คนเดียว ตามคู่มือ:

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

การกำหนดค่าของมันอยู่ใน/etc/resolvconf.confซึ่งอาจไม่มีอยู่ในระบบของคุณดังนั้นอย่าลังเลที่จะสร้างมันขึ้นมา เพื่อทำให้resolv.confไม่เปลี่ยนรูปของคุณเพิ่ม:

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

หากคุณใช้unboundเป็นตัวแก้ไขแคชในท้องถิ่นของคุณนั่นคือบรรทัดที่เพิ่มเข้ามา (พร้อมด้วยตัวของมันเอง) ที่พื้นหลอกresolvconfเข้าไปในความคิดของคุณตั้งอยู่ที่/etc/resolv.conf /dev/nullสิ่งที่มีความหมายน้อยกว่าเล็กน้อย แต่มีประสิทธิภาพเท่ากันคือ:

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

หากคุณต้องการทำสิ่งที่ซับซ้อนกว่าเพียงแค่ปิดมันหน้าคนสำหรับresolvconfและresolvconf.confมีข้อมูลมากมาย

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true