Dhclient - คำสั่ง Linux / Unix

ไคลเอนต์ Protocol การกำหนดค่าโฮสต์แบบไดนามิก

สรุป

dhclient [ -p พอร์ต ] [ -d ] [ -q ] [ -1 ] [ -r ] [ -lf สัญญาเช่าแฟ้ม ] [ -pf ไฟล์ pid ] [ -cf config-file ] [ -sf สคริปต์ไฟล์ ] [ -s server ] [ -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 แบบ จำกัด สำหรับวัตถุประสงค์ในการแก้จุดบกพร่องอาจเป็นประโยชน์ที่เซิร์ฟเวอร์จะส่งข้อความเหล่านี้ไปยังที่อยู่อื่น ๆ ซึ่งสามารถระบุได้ด้วยธง -s ตามด้วยที่อยู่ 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 และกำหนดค่า เมื่อต้องการระบุชื่อและ / หรือตำแหน่งที่ตั้งอื่นสำหรับไฟล์เหล่านี้ให้ใช้ อาร์กิวเมนต์ -cf, -lf, -f และ -sf ตามลำดับตามด้วยชื่อของไฟล์ ซึ่งอาจเป็นประโยชน์อย่างยิ่งหากเช่น / var / lib / dhcp หรือ / var / run ยังไม่ได้รับการติดตั้งเมื่อไคลเอ็นต์ 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

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