ทำไม dhclient ยังคงทำงานอยู่เมื่อฉันเลือก IP แบบคงที่


15

ฉันแก้ไข dhcp เป็น static ใน / etc / network / interfaces (เหมือนด้านล่าง)

# The primary network interface
auto eth0
iface eth0 inet static
netmask 255.255.0.0
address 10.10.130.128
gateway 10.10.1.1

จากนั้นรีสตาร์ทอินเตอร์เฟส

$ sudo ifdown eth0; sudo ifup eth0
...
$ ifconfig
eth0      Link encap:Ethernet 
          inet addr:10.10.130.128  Bcast:10.10.255.255  Mask:255.255.0.0

ดังนั้นที่อยู่ใหม่จึงเริ่มทำงาน

แต่ DHCP ยังอยู่ที่นั่นไหม

$ ps aux | grep dhc
root    ... dhclient3 -e IF_METRIC=100 -pf /var/run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases -1 eth0

เป็นเรื่องปกติหรือไม่ ถ้าไม่ทำอย่างไรให้รีสตาร์ทอินเตอร์เฟสใน IP แบบคงที่ขณะที่หยุด DHCP ในเวลาเดียวกัน

ขอบคุณมาก.


คำตอบ:


22
  1. ก่อนอื่นคุณต้องปิดอินเทอร์เฟซ (ในโหมด dhcp) sudo ifdown eth0
  2. จากนั้นแก้ไขการกำหนดค่า nano /etc/network/interfaces

    # The primary network interface
    auto eth0
    iface eth0 inet static
    netmask 255.255.0.0
    address 10.10.130.128
    gateway 10.10.1.1
    
  3. นำอินเทอร์เฟซสำรอง sudo ifup eth0

มิฉะนั้นdhclientจะไม่ปิดอย่างถูกต้อง


1
ขออภัย แต่บางคนสามารถอธิบายอย่างชัดเจนว่าสิ่งนี้แตกต่างจากสิ่งที่ทำใน OP ที่นี่ได้อย่างไร ฉันอ่านสามครั้งแล้วและฉันไม่สามารถบอกความแตกต่างได้
fostandy

มันเกี่ยวกับการปรับเปลี่ยน ('สัมผัส') ไฟล์เพื่อให้วันที่เปลี่ยนไป? ฉันควรจะแก้ไขเฉพาะไฟล์หลังจากที่ฉันได้นำอินเทอร์เฟซลงมาหรือไม่ ถ้าเป็นเช่นนั้นฉันจะ 'ยกเลิก' ข้อเท็จจริงที่ฉันเคยแก้ไขมาก่อนได้อย่างไร
fostandy


1
@Bruno - ขอบคุณสำหรับการชี้แจง คุณจะทำอย่างไรหากคุณแก้ไข/etc/network/interfacesไฟล์โดยไม่ยกเลิก มีวิธีบังคับให้รีเซ็ตเป็นค่าเริ่มต้นและเริ่มอีกครั้งหรือไม่
fostandy

7
ฉันงุนงงว่าทำไมมันควรสร้างความแตกต่าง แต่แล้วเพื่อนที่ชาญฉลาดของฉันก็อธิบายได้อย่างดี ปัญหาคือหากไฟล์ถูกแก้ไขและifdownถูกเรียกใช้แล้วตัวจัดการเครือข่ายไม่ทราบว่าจำเป็นต้องหยุดdhclientเนื่องจากทุกอย่างที่เห็นในinterfacesไฟล์นั้นเป็นรายการคงที่ หลังจากนั้นอินเตอร์เฟสหยุดทำงานการifupอ่านและใช้การตั้งค่าแบบคงที่อย่างถูกต้อง แต่ก็ไม่ทราบว่าdhclientเริ่มต้นแล้ว
paracycle

2

ฉันมีปัญหาเดียวกัน (Ubuntu 16.04) อย่างไรก็ตามนี่เป็นอินสแตนซ์ของคลาวด์และฉันไม่สามารถหักล้างอินเทอร์เฟซที่ง่ายดาย

คำตอบสั้น ๆ : ฉันลบไฟล์/etc/network/interfaces.d/50-cloud-init.cfgifup ที่ถูกเรียกโดยไฟล์เฉพาะนั้น

คำตอบยาว: ฉันกำหนดค่าอินเทอร์เฟซโดยใช้/etc/network/interfacesด้วยที่อยู่ IP แบบคงที่ แต่ฉันยังพบใน daemon.log ที่ dhclient ยังคงร้องขอ IP จาก DHCP และ dhclient เริ่มจาก systemd โดยเฉพาะ systemd เรียกว่า networking.service unit ซึ่งเรียกว่า ifup ซึ่งอ่านทั้งไฟล์อินเตอร์เฟสและไฟล์ 50-cloud-init.cfg ส่งผลให้เกิดความขัดแย้งบางอย่าง แต่ยังคงเป็นเครือข่ายการทำงาน


ฉันมีปัญหาเดียวกันที่แน่นอนและเรียนรู้วิธีที่ยากว่าไฟล์ในภายหลัง (เช่น 99-eth0.cfg) นั้นไม่ได้แทนที่ข้อความก่อนหน้านี้! ดังนั้นขอขอบคุณที่คุณป้อนข้อมูล)
Daywalker

1

ฉันพบสำหรับฉันนี่เป็นเพราะ NetworkManager ของ gnome ยังคงทำงานและคิดว่ามันเป็นค่าใช้จ่ายของอุปกรณ์ ในปัญหาหลังเหตุการณ์นี้ควรชัดเจนเมื่อpsNetworkManager แสดงให้เห็นว่า dhclient ถูกเปิดตัว

เมื่อฉันรีสตาร์ทระบบอุปกรณ์ของฉันไปที่ "ไม่มีการจัดการ" ใน NetworkManager และมันก็หยุดพยายามกำหนดค่า บางทีฉันอาจจะประสบความสำเร็จในสิ่งเดียวกันโดยการหยุด / รีสตาร์ท NetworkManager ฉันไม่แน่ใจ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.