Skip to main content

Dhclient - คำสั่ง Linux / Unix

คำสั่ง Ubuntu (มิถุนายน 2025)

คำสั่ง Ubuntu (มิถุนายน 2025)
Anonim

สรุป

dhclient -p ท่าเรือ -d -q -1 -r -LF เช่าไฟล์ -pf pid ไฟล์ -cf การตั้งค่าไฟล์ -sf สคริปต์ไฟล์ -s เซิร์ฟเวอร์ -G relay -n -nw -w if0 … IFN

รายละเอียด

ไคลเอ็นต์ DHCP ของซอฟต์แวร์อินเทอร์เน็ตขององค์กร dhclient ให้วิธีการกำหนดค่าอินเทอร์เฟซเครือข่ายอย่างน้อยหนึ่งรายการโดยใช้ Dynamic Host Configuration Protocol โปรโตคอล BOOTP หรือถ้าโปรโตคอลเหล่านี้ล้มเหลวโดยการกำหนดที่อยู่แบบสแตติก

การดำเนินงาน

โปรโตคอล DHCP ช่วยให้โฮสต์สามารถติดต่อเซิร์ฟเวอร์กลางซึ่งจะเก็บรายการที่อยู่ IP ซึ่งอาจกำหนดให้กับเครือข่ายย่อยอย่างน้อยหนึ่งเครือข่าย ไคลเอ็นต์ DHCP อาจขอที่อยู่จากพูลนี้จากนั้นใช้บนเครือข่ายชั่วคราวสำหรับการสื่อสาร โปรโตคอล DHCP ยังมีกลไกที่ทำให้ไคลเอ็นต์สามารถเรียนรู้รายละเอียดที่สำคัญเกี่ยวกับเครือข่ายที่มีการแนบอยู่เช่นตำแหน่งของเราเตอร์ดีฟอลต์ตำแหน่งของเซิร์ฟเวอร์ชื่อเป็นต้น

เมื่อเริ่มต้น dhclient จะอ่าน dhclient.conf สำหรับคำแนะนำในการกำหนดค่า จากนั้นจะได้รับรายการของอินเทอร์เฟซเครือข่ายทั้งหมดที่มีการกำหนดค่าในระบบปัจจุบัน สำหรับแต่ละอินเทอร์เฟซจะพยายามกำหนดค่าอินเทอร์เฟซโดยใช้โปรโตคอล DHCP

dhclient จะเก็บลิสต์ของสัญญาเช่าที่ได้รับไว้ในไฟล์ dhclient.leases (5) เพื่อให้สามารถติดตามการเช่าซื้อในระบบรีบูตระบบและรีสตาร์ทเซิร์ฟเวอร์ได้ เมื่อเริ่มต้นหลังจากอ่านไฟล์ dhclient.conf แล้ว dhclient จะอ่านไฟล์ dhclient.leases เพื่อรีเฟรชหน่วยความจำเกี่ยวกับสัญญาเช่าที่ได้รับมอบหมาย

เมื่อมีการซื้อสัญญาเช่าใหม่จะถูกผนวกเข้าท้ายไฟล์ dhclient.leases เพื่อป้องกันไม่ให้ไฟล์กลายเป็นขนาดใหญ่โดยพลการ dhclient เป็นครั้งคราวสร้างไฟล์ dhclient.leases ใหม่จากฐานข้อมูลการเช่าใช้งานภายใน ไฟล์ dhclient.leases เวอร์ชันเก่าจะยังคงอยู่ภายใต้ชื่อ dhclient.leases ~ จนกว่า dhclient ครั้งต่อไปเขียนใหม่ฐานข้อมูล

สัญญาเช่าเก่าจะถูกเก็บไว้ในกรณีที่เซิร์ฟเวอร์ DHCP ไม่พร้อมใช้งานเมื่อ dhclient ถูกเรียกใช้งานครั้งแรก (โดยทั่วไปในระหว่างกระบวนการบูตระบบเริ่มต้น) ในกรณีนี้สัญญาเช่าเก่าจากไฟล์ dhclient.leases ที่ยังไม่หมดอายุจะได้รับการทดสอบและหากพวกเขาได้รับการพิจารณาว่ามีผลใช้ได้จะใช้จนกว่าจะหมดอายุหรือเซิร์ฟเวอร์ DHCP จะพร้อมใช้งาน

โฮสต์แบบเคลื่อนที่ซึ่งบางครั้งอาจจำเป็นต้องเข้าถึงเครือข่ายที่ไม่มีเซิร์ฟเวอร์ DHCP อยู่อาจถูกโหลดไว้ล่วงหน้าพร้อมกับสัญญาเช่าสำหรับที่อยู่ถาวรในเครือข่ายนั้น เมื่อความพยายามทั้งหมดในการติดต่อกับเซิร์ฟเวอร์ DHCP ล้มเหลว dhclient จะพยายามตรวจสอบความถูกต้องของสัญญาเช่าแบบคงที่และถ้าประสบความสำเร็จจะใช้สัญญาเช่านั้นจนกว่าจะเริ่มต้นใหม่

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

บรรทัดคำสั่ง

ชื่อของอินเทอร์เฟซเครือข่ายที่ dhclient ควรพยายามกำหนดค่าอาจถูกระบุในบรรทัดคำสั่ง หากไม่มีชื่ออินเตอร์เฟสใดระบุไว้ในบรรทัดคำสั่ง dhclient จะระบุส่วนติดต่อเครือข่ายทั้งหมดโดยปกติแล้วจะกำจัดอินเทอร์เฟซที่ไม่ได้ออกอากาศหากเป็นไปได้และพยายามกำหนดค่าแต่ละอินเทอร์เฟซ

นอกจากนี้ยังสามารถระบุอินเทอร์เฟซด้วยชื่อในdhclient.conf (5) ไฟล์. ถ้าอินเทอร์เฟซถูกระบุในลักษณะนี้ไคลเอนต์จะกำหนดค่าอินเทอร์เฟซที่ระบุไว้ในแฟ้มการกำหนดค่าหรือในบรรทัดคำสั่งเท่านั้นและจะไม่สนใจอินเทอร์เฟซอื่นทั้งหมด

ถ้าไคลเอ็นต์ DHCP ควรฟังและส่งต่อไปยังพอร์ตอื่นนอกเหนือจากมาตรฐาน (พอร์ต 68),-pธงอาจใช้ ควรตามด้วยหมายเลขพอร์ต udp ที่ dhclient ควรใช้ นี่เป็นประโยชน์สำหรับการดีบักวัตถุประสงค์ ถ้ามีการระบุพอร์ตที่แตกต่างกันสำหรับไคลเอ็นต์เพื่อรับฟังและส่งต่อไคลเอ็นต์จะใช้พอร์ตปลายทางที่ต่างกันหนึ่งพอร์ตที่ใหญ่กว่าพอร์ตปลายทางที่ระบุ

ไคลเอ็นต์ DHCP จะส่งข้อความโปรโตคอลใด ๆ ที่จะส่งมาก่อนที่จะได้รับที่อยู่ IP เป็น 255.255.255.255 ที่อยู่ IP broadcast แบบ จำกัด สำหรับวัตถุประสงค์ในการแก้จุดบกพร่องอาจเป็นประโยชน์ที่เซิร์ฟเวอร์จะส่งข้อความเหล่านี้ไปยังที่อยู่อื่น ๆ ซึ่งสามารถระบุได้ด้วย-sflag ตามด้วยที่อยู่ IP หรือชื่อโดเมนของปลายทาง

สำหรับวัตถุประสงค์ในการทดสอบฟิลด์ giaddr ของแพ็คเก็ตทั้งหมดที่ลูกค้าส่งสามารถตั้งค่าได้โดยใช้-G flag ตามด้วยที่อยู่ IP ที่จะส่ง นี่เป็นประโยชน์สำหรับการทดสอบเท่านั้นและไม่ควรคาดหวังว่าจะทำงานได้อย่างสม่ำเสมอหรือเป็นประโยชน์

ไคลเอ็นต์ DHCP จะทำงานในเบื้องหน้าจนกว่าจะมีการกำหนดค่าอินเทอร์เฟซและจากนั้นจะกลับไปใช้งานในเบื้องหลัง เมื่อต้องการเรียกใช้ dhclient เพื่อให้ทำงานเป็นกระบวนการเบื้องหน้าเสมอ-d ธงควรระบุ ซึ่งจะเป็นประโยชน์เมื่อใช้งานเครื่องลูกข่ายภายใต้ดีบักเกอร์หรือเมื่อทำงานออกจาก inittab ในระบบ V ระบบ

ไคลเอ็นต์พิมพ์ข้อความเริ่มต้นระบบและแสดงลำดับของโปรโตคอลไปยังตัวแสดงข้อผิดพลาดมาตรฐานจนกว่าจะได้รับที่อยู่แล้วบันทึกเฉพาะข้อความที่ใช้syslog (3)สิ่งอำนวยความสะดวก-q ธงช่วยป้องกันข้อความอื่น ๆ นอกเหนือจากข้อผิดพลาดจากการพิมพ์ไปยังตัวแสดงข้อผิดพลาดมาตรฐาน

ไคลเอ็นต์ปกติไม่ได้ปล่อยสัญญาเช่าปัจจุบันตามที่โปรโตคอล DHCP ไม่จำเป็นต้องใช้ผู้ให้บริการอินเทอร์เน็ตผ่านสายบางรายต้องการให้ลูกค้าแจ้งเซิร์ฟเวอร์หากต้องการปล่อยที่อยู่ IP ที่กำหนด-r ธงออกอย่างชัดเจนสัญญาเช่าปัจจุบันและเมื่อเช่าได้รับการปล่อยตัวลูกค้าออก

-1 ธงทำให้ dhclient พยายามลองครั้งหนึ่งเพื่อขอรับสัญญาเช่า ถ้าไม่สำเร็จ dhclient จะออกจากรหัสทางออกที่สอง

ไคลเอ็นต์ DHCP ปกติจะได้รับข้อมูลการกำหนดค่าจาก/etc/dhclient.conf, ฐานข้อมูลการเช่าจาก/var/lib/dhcp/dhclient.leases, เก็บรหัสกระบวนการในไฟล์ที่เรียกว่า/var/run/dhclient.pid, และกำหนดค่าอินเตอร์เฟสเครือข่ายโดยใช้/ sbin / สคริปต์ dhclient หากต้องการระบุชื่อและ / หรือตำแหน่งอื่นสำหรับไฟล์เหล่านี้ให้ใช้-cf, -LF, -pf และ-sf ธงตามด้วยชื่อของไฟล์ ซึ่งอาจเป็นประโยชน์อย่างยิ่งหากตัวอย่างเช่น/ var / lib / DHCP หรือ/ var / วิ่ง ยังไม่ได้รับการติดตั้งเมื่อไคลเอ็นต์ DHCP เริ่มทำงาน

ไคลเอ็นต์ DHCP ปกติออกถ้าไม่สามารถระบุอินเทอร์เฟซเครือข่ายเพื่อกำหนดค่าได้ ในคอมพิวเตอร์แล็ปท็อปและคอมพิวเตอร์เครื่องอื่น ๆ ที่มี I / O แบบ hot-swappable อาจเป็นไปได้ว่าอาจมีการเพิ่มอินเตอร์เฟซการออกอากาศหลังจากการเริ่มต้นระบบ-w ธงสามารถใช้เพื่อทำให้ไคลเอนต์ไม่ให้ออกจากเมื่อไม่พบอินเทอร์เฟซดังกล่าวomshell (8) จากนั้นจะสามารถใช้เพื่อแจ้งให้ไคลเอ็นต์เมื่อมีการเพิ่มหรือลบส่วนติดต่อเครือข่ายเพื่อให้ไคลเอ็นต์สามารถกำหนดค่าที่อยู่ IP บนอินเทอร์เฟซดังกล่าวได้

ไม่สามารถกำหนดค่าไคลเอ็นต์ DHCP เพื่อกำหนดค่าอินเทอร์เฟซใด ๆ โดยใช้-n ธง. นี้มีแนวโน้มที่จะเป็นประโยชน์ร่วมกับ-w ธง.

ลูกค้ายังสามารถรับคำแนะนำให้เป็นเดมอนได้ทันทีแทนที่จะรอจนกว่าจะได้รับที่อยู่ IP นี้สามารถทำได้โดยการจัดหา-nw ธง.

การกำหนดค่า

ไวยากรณ์ของไฟล์ dhclient.conf (8) จะกล่าวถึงแยกกัน

OMAPI

ไคลเอ็นต์ DHCP มีความสามารถในการควบคุมเครื่องขณะทำงานโดยไม่ต้องหยุดทำงาน ความสามารถนี้มีให้โดยใช้ OMAPI ซึ่งเป็น API สำหรับจัดการวัตถุระยะไกล ลูกค้า OMAPI เชื่อมต่อกับไคลเอ็นต์โดยใช้ TCP / IP ตรวจสอบสิทธิ์และสามารถตรวจสอบสถานะปัจจุบันของไคลเอ็นต์และทำการเปลี่ยนแปลงได้

แทนที่จะใช้โปรโตคอล OMAPI พื้นฐานโดยตรงโปรแกรมผู้ใช้ควรใช้ dhcpctl API หรือ OMAPI เอง Dhcpctl เป็นกระดาษห่อที่ช่วยจัดการงานทำความสะอาดบ้านที่ OMAPI ไม่ทำโดยอัตโนมัติ Dhcpctl และ OMAPI มีการบันทึกไว้ในdhcpctl (3) และomapi (3). สิ่งที่คุณต้องการทำกับลูกค้าส่วนใหญ่สามารถทำได้โดยตรงโดยใช้omshell (1) แทนที่จะต้องเขียนโปรแกรมพิเศษ

วัตถุควบคุม

ออบเจ็กต์ควบคุมช่วยให้คุณสามารถปิดเครื่องไคลเอ็นต์ได้โดยปล่อยสัญญาเช่าทั้งหมดที่ถือครองไว้และลบระเบียน DNS ใด ๆ ที่อาจเพิ่มขึ้น นอกจากนี้ยังช่วยให้คุณสามารถหยุดการทำงานของไคลเอ็นต์ได้ชั่วคราว - unconfigures อินเทอร์เฟซใด ๆ ที่ไคลเอ็นต์กำลังใช้อยู่ จากนั้นคุณสามารถเริ่มต้นใหม่ได้ซึ่งทำให้เกิดการกำหนดค่าส่วนติดต่อเหล่านั้นใหม่ ปกติคุณจะหยุดลูกค้าชั่วคราวก่อนที่จะเข้าสู่โหมดไฮเบอร์เนตหรือนอนบนคอมพิวเตอร์แล็ปท็อป จากนั้นคุณจะกลับมาทำงานอีกครั้งหลังจากที่ไฟกลับมา ซึ่งทำให้สามารถปิดการ์ดพีซีได้ในขณะที่คอมพิวเตอร์กำลังไฮเบอร์เนตหรือนอนหลับอยู่และจากนั้นจึง reinitialized ไปยังสถานะก่อนหน้านี้เมื่อคอมพิวเตอร์ออกจากโหมดไฮเบอร์เนตหรือนอนหลับ

วัตถุควบคุมมีแอตทริบิวต์หนึ่งแอตทริบิวต์สถานะ เมื่อต้องการปิดเครื่องไคลเอ็นต์ให้ตั้งค่าแอตทริบิวต์สถานะเป็น 2 โดยอัตโนมัติจะทำ DHCPRELEASE หากต้องการหยุดชั่วคราวให้ตั้งค่าแอตทริบิวต์สถานะเป็น 3 หากต้องการดำเนินการต่อให้ตั้งค่าแอตทริบิวต์สถานะเป็น 4

สำคัญ: ใช้ ชาย คำสั่ง ( % ชาย ) เพื่อดูว่ามีการใช้คำสั่งใดในคอมพิวเตอร์เครื่องใดเครื่องหนึ่งของคุณ