Score:3

การตั้งค่า DHCP ที่ไม่ต้องการบนเซิร์ฟเวอร์

ธง us

ฉันกำลังกำหนดค่าเซิร์ฟเวอร์ Debian 11 ใหม่ที่ทำงานบนเครือข่ายส่วนตัว มีการกำหนดที่อยู่ DHCP เพิ่มเติมจาก IP แบบคงที่ที่ฉันกำลังกำหนดค่าด้วยตนเอง ฉันไม่เข้าใจว่าได้รับที่อยู่ DHCP ที่ไหนและฉันจะปิดได้อย่างไร

นอกกรอบจะคว้าที่อยู่ DHCP (ฉันเดาว่ามีการกำหนดค่าอัตโนมัติสำหรับเครือข่ายหรือไม่); เนื่องจากฉันต้องการให้มันทำงานบน IP แบบคงที่ที่กำหนดด้วยตนเอง ฉันแก้ไข /etc/network/interfaces เพื่อกำหนดค่า IP แบบคงที่ (นอกเหนือจากบรรทัด lo):

อัตโนมัติ enp0s25
อนุญาต hotplug enp0s25
iface enp0s25 inet คงที่
    ที่อยู่ 10.0.0.16/24
    เกตเวย์ 10.0.0.1
    DNS-เนมเซิร์ฟเวอร์ 10.0.0.1

และฉันได้รับรางวัลสำหรับความพยายามของฉันโดยการกำหนดค่า IP สองตัวสำหรับอุปกรณ์นี้

user@server:~$ ip ก
1: โล: ...
2: enp0s25: <BROADCAST,MULTICAST,DYNAMIC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP กลุ่มเริ่มต้น qlen 1000
    ลิงค์/อีเธอร์ d0:50:99:5a:08:98 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.16/24 brd 10.0.0.255 ขอบเขตทั่วโลก enp0s25
       valid_lft ตลอดไป reserved_lft ตลอดไป
    inet 10.0.0.190/24 brd 10.0.0.255 ขอบเขต global รอง enp0s25
       valid_lft ตลอดไป reserved_lft ตลอดไป
    ลิงค์ขอบเขต inet6 fe80::d250:99ff:fe5a:898/64 
       valid_lft ตลอดไป reserved_lft ตลอดไป

(โปรดทราบว่าการกำหนดค่านี้สามารถทำซ้ำได้อย่างเสถียรเมื่อรีบูต)

ตามที่ฉันเข้าใจควรมีสามวิธีในการกำหนดค่าเครือข่าย:

  • ระบบเครือข่าย - ฉันใช้มัน เพราะนั่นคือสิ่งที่ฉันคุ้นเคยที่สุด
  • NetworkManager - ยังไม่ได้ติดตั้งและบริการไม่ทำงาน
  • systemd - systemd-networkd อ้างว่าถูกปิดใช้งาน

ฉันไม่พบการกำหนดค่าอื่นใดอีก และฉันจะเข้าใจความยุ่งเหยิงนี้ได้อย่างไร

มีสิ่งอื่น ๆ ที่น่าขันเกี่ยวกับเครือข่าย (ifdown/ifup ทำงานไม่ถูกต้อง การรีสตาร์ทข้อผิดพลาดในการขว้างปาเครือข่าย) แต่ฉันคาดเดา / หวังว่ามันจะเกี่ยวข้องกับการควบคุมอินเทอร์เฟซที่ไม่ชัดเจน

แก้ไข: นี่คือเอาต์พุต syslog ที่เกี่ยวข้องกับ enp0s25:

16 ธันวาคม 19:37:57 angelo systemd[1]: เริ่ม ifup สำหรับ enp0s25
16 ธันวาคม 19:37:57 angelo kernel: [ 1.222564] e1000e 0000:00:19.0 enp0s25: เปลี่ยนชื่อจาก eth0
16 ธันวาคม 19:37:57 angelo kernel: [ 2.613911] e1000e 0000:00:19.0 enp0s25: NIC ลิงก์ไม่ทำงาน
16 ธันวาคม 19:37:57 น. angelo sh[413]: ifup: ไม่สามารถเรียก enp0s25 ได้
16 ธ.ค. 19:37:57 angelo systemd[1]: [email protected]: ออกจากกระบวนการหลักแล้ว, รหัส=ออกแล้ว, สถานะ=1/ล้มเหลว
16 ธันวาคม 19:37:57 angelo systemd[1]: [email protected]: ล้มเหลวด้วยผลลัพธ์ 'exit-code'
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {สร้าง} ดัชนี 2 ประเภท 1 <ETHER>
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {update} แฟล็ก 36866 <ลง>
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {newlink} ดัชนี 2 ที่อยู่ D0:50:99:5A:08:98 mtu 1500
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {newlink} ดัชนี 2 ดำเนินการ 2 <ลง>
16 ธันวาคม 19:37:57 angelo connmand[467]: การเพิ่มอินเทอร์เฟซ enp0s25 [ ethernet ]
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {update} แฟล็ก 36867 <UP>
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {newlink} ดัชนี 2 ที่อยู่ D0:50:99:5A:08:98 mtu 1500
16 ธันวาคม 19:37:57 angelo connmand[467]: enp0s25 {newlink} ดัชนี 2 ดำเนินการ 2 <ลง>
16 ธันวาคม 19:37:58 angelo avahi-daemon[464]: เข้าร่วมกลุ่มมัลติคาสต์ mDNS บนอินเทอร์เฟซ enp0s25.IPv4 พร้อมที่อยู่ 10.0.0.16
16 ธันวาคม 19:37:58 angelo connmand[467]: enp0s25 {เพิ่ม} ที่อยู่ 10.0.0.16/24 ป้ายกำกับ enp0s25 family 2
16 ธันวาคม 19:37:58 angelo avahi-daemon[464]: อินเทอร์เฟซใหม่ที่เกี่ยวข้อง enp0s25.IPv4 สำหรับ mDNS
16 ธันวาคม 19:37:58 angelo connmand[467]: enp0s25 {เพิ่ม} เส้นทาง 10.0.0.0 gw 0.0.0.0 ขอบเขต 253 <LINK>
16 ธันวาคม 19:37:58 angelo avahi-daemon[464]: ลงทะเบียนบันทึกที่อยู่ใหม่สำหรับ 10.0.0.16 บน enp0s25.IPv4
16 ธันวาคม 19:37:58 angelo connmand[467]: enp0s25 {เพิ่ม} เส้นทาง 0.0.0.0 gw 10.0.0.1 ขอบเขต 0 <UNIVERSE>
16 ธันวาคม 19:38:00 angelo connmand[467]: enp0s25 {เพิ่ม} เส้นทาง fe80:: gw :: ขอบเขต 0 <UNIVERSE>
16 ธันวาคม 19:38:00 angelo connmand[467]: enp0s25 {update} แฟล็ก 102467 <UP,RUNNING,LOWER_UP>
16 ธันวาคม 19:38:00 angelo connmand[467]: enp0s25 {newlink} ดัชนี 2 ที่อยู่ D0:50:99:5A:08:98 mtu 1500
16 ธันวาคม 19:38:00 angelo connmand[467]: enp0s25 {newlink} ดัชนี 2 ดำเนินการ 6 <UP>
16 ธ.ค. 19:38:00 angelo kernel: [ 5.902126] e1000e 0000:00:19.0 enp0s25: NIC Link ขึ้น 1000 Mbps Full Duplex, Flow Control: Rx/Tx
16 ธันวาคม 19:38:00 angelo kernel: [ 5.902187] IPv6: ADDRCONF(NETDEV_CHANGE): enp0s25: ลิงก์พร้อม
16 ธันวาคม 19:38:01 angelo avahi-daemon[464]: เข้าร่วมกลุ่มมัลติคาสต์ mDNS บนอินเทอร์เฟซ enp0s25.IPv6 พร้อมที่อยู่ fe80::d250:99ff:fe5a:898
16 ธันวาคม 19:38:01 angelo avahi-daemon[464]: อินเทอร์เฟซใหม่ที่เกี่ยวข้อง enp0s25.IPv6 สำหรับ mDNS
16 ธันวาคม 19:38:01 angelo avahi-daemon[464]: การลงทะเบียนบันทึกที่อยู่ใหม่สำหรับ fe80::d250:99ff:fe5a:898 บน enp0s25.*
16 ธันวาคม 19:38:05 angelo avahi-daemon[464]: การลงทะเบียนบันทึกที่อยู่ใหม่สำหรับ 10.0.0.190 บน enp0s25.IPv4
16 ธันวาคม 19:38:05 angelo connmand[467]: enp0s25 {เพิ่ม} ที่อยู่ 10.0.0.190/24 ป้ายกำกับ enp0s25 family 2
16 ธันวาคม 19:38:05 angelo connmand[467]: enp0s25 {เพิ่ม} เส้นทาง 10.0.0.1 gw 0.0.0.0 ขอบเขต 253 <LINK>
16 ธันวาคม 19:38:05 angelo connmand[467]: enp0s25 {เพิ่ม} เส้นทาง 82.165.8.211 gw 10.0.0.1 ขอบเขต 0 <UNIVERSE>
16 ธันวาคม 19:38:09 angelo connmand[467]: enp0s25 {del} เส้นทาง 82.165.8.211 gw 10.0.0.1 ขอบเขต 0 <UNIVERSE>
16 ธันวาคม 19:38:42 angelo connmand[467]: enp0s25 {del} เส้นทาง 0.0.0.0 gw 10.0.0.1 ขอบเขต 0 <UNIVERSE>
djdomi avatar
za flag
คุณรีบูตหลังจากนั้นหรือไม่
pettus avatar
us flag
ใช่ - วิธีนี้เชื่อถือได้ แก้ไขเพื่อสะท้อนรายละเอียดนี้
jp flag
`grep -ri dhcp /etc/network/`
pettus avatar
us flag
ไม่ส่งคืนอะไร @AlexD
jp flag
มีอะไรที่น่าสนใจใน âgrep -r enp0s25 /var/log/â?
pettus avatar
us flag
ไม่มีอะไรที่ฉันสามารถแยกวิเคราะห์ได้ - ฉันได้เพิ่มเอาต์พุต syslog ที่เกี่ยวข้องกับอุปกรณ์ที่ด้านล่างของโพสต์ด้านบน
Score:0
ธง us

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

บางลิงก์ที่ทำให้ฉันเชื่อว่านี่เป็นช็อตที่ดีที่สุด:

จะยังคงยินดีต้อนรับแนวทางแก้ปัญหาที่มีนิวเคลียร์น้อยกว่าและตรงประเด็นกว่า

Score:0
ธง in

ฉันถือว่าคุณตรวจสอบสิ่งอื่นอย่างถูกต้อง เช่น ตัวจัดการเครือข่ายไม่ทำงานตามที่คุณกล่าวถึง แต่ถึงอย่างนั้น หากคุณกำหนดค่า /etc/network/interfaces ไฟล์ที่ฉันแสดงด้านล่างระบบควรใช้สิ่งนั้นโดยอัตโนมัติแทนสิ่งต่าง ๆ เช่นตัวจัดการเครือข่าย

ฉันพบเสมอว่าสิ่งต่อไปนี้ให้ที่อยู่ IP แบบคงที่เสมอแม้ในเครือข่ายที่มีเซิร์ฟเวอร์ dhcp ทำงานอยู่ แน่นอนคุณต้องการให้แน่ใจว่าที่อยู่ IP อยู่นอกบล็อกที่เซิร์ฟเวอร์ dhcp มอบให้ มิฉะนั้นคุณจะได้รับข้อขัดแย้ง ฉันใช้ https://www.rfc-editor.org/rfc/rfc5737.html บล็อกเครือข่าย

อัตโนมัติ enp0s25
iface enp0s25 inet คงที่
        ที่อยู่ 192.0.2.10
        เน็ตมาสก์ 255.255.255.0
        ออกอากาศ 192.0.2.255
        เครือข่าย 192.0.2.0
        เกตเวย์ 192.0.2.1

ฉันไม่ต้องการใช้ อนุญาต hotplug เพราะ (อินเทอร์เฟซสำหรับมนุษย์):

บรรทัดที่ขึ้นต้นด้วย "allow-" ใช้เพื่อระบุอินเทอร์เฟซที่ควร 
ถูกนำขึ้นมาอัตโนมัติโดยระบบย่อยต่างๆ ซึ่งสามารถทำได้โดยใช้    
คำสั่งเช่น "ifup --allow=hotplug eth0 eth1" ซึ่งจะเท่านั้น 
นำ eth0 หรือ eth1 ขึ้นมาหากอยู่ในบรรทัด "allow-hotplug"

เป็นไปได้ว่าอินเทอร์เฟซมีที่อยู่ IP ที่กำหนดโดย dhcp แล้วก่อนที่คุณจะเปลี่ยนเป็นแบบคงที่ ในกรณีนั้นอาจมีที่อยู่ IP 2 อันจนกว่าคุณจะรีบูต

นอกเหนือจากนี้ อาจใช้ไม่ได้กับระบบเดเบียน แต่ในกรณีบนระบบ Ubuntu 20.04 ฉันพบสิ่งนี้เมื่อต้องการกำหนดค่าไฟล์อินเทอร์เฟซ:

# ifupdown ถูกแทนที่ด้วย netplan(5) ในระบบนี้ ดู
# /etc/netplan สำหรับการกำหนดค่าปัจจุบัน
# หากต้องการเปิดใช้งาน ifupdown บนระบบนี้อีกครั้ง คุณสามารถเรียกใช้:
# sudo apt ติดตั้ง ifupdown
pettus avatar
us flag
คุณลักษณะที่น่ารำคาญอย่างต่อเนื่องของปัญหานี้คือที่อยู่ IP 2 รายการยังคงอยู่แม้จะมีการรีบูตหลายครั้ง เห็นได้ชัดว่าฉันยังคงไม่สามารถแก้ไขปัญหาต้นตอได้*** การลบ allow-hotplug จะลบบรรทัด ifup ทั้งหมดออกจาก syslog เมื่อบูต - ไม่แน่ใจว่าเป็นสิ่งที่ดีหรือไม่เพราะมันไม่ได้บอกว่ากำลังพยายาม ifup อุปกรณ์ แต่ก็ไม่ล้มเหลว*** ไม่เห็นคำเตือนนั้นเมื่อแก้ไขไฟล์อินเตอร์เฟสโดยใช้ vi
Score:0
ธง cn

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

  1. พิมพ์ ifconfig และมองหาที่อยู่ IP ของเกตเวย์
  2. เข้าสู่ระบบเราเตอร์ของคุณในเบราว์เซอร์โดยใช้ที่อยู่เกตเวย์
  3. ในการตั้งค่า DHCP บนเราเตอร์ของคุณ คุณสามารถกำหนดการเชื่อมโยง IP แบบคงที่ที่นั่นได้ ไม่ควรให้ที่อยู่ IP เพิ่มเติมแก่คุณ
pettus avatar
us flag
สิ่งนี้ให้ความรู้สึกเหมือนเป็นวิธีแก้ปัญหาพื้นฐานที่น่าอึดอัดใจ (แม้ว่าฉันจะควบคุมเครือข่ายทั้งหมดอย่างแน่นอน) - มีบางอย่างแตกต่างเกี่ยวกับการกำหนดค่าเครือข่ายของเซิร์ฟเวอร์นี้ซึ่งอนุญาตให้ร้องขอที่อยู่ dhcp ซึ่งแตกต่างจากเซิร์ฟเวอร์อื่น ๆ ทุกเครื่องที่ฉันกำหนดค่าบนเครือข่ายนี้
nAZklX avatar
cn flag
ฉันมีปัญหาเดียวกันจนกระทั่งฉันกำหนดค่าด้วยตนเองในเราเตอร์ และมันก็สมเหตุสมผลกว่า (อย่างน้อยสำหรับฉัน) ที่จะมีการกำหนด IP แบบคงที่ทั้งหมดในที่เดียวใน DHCP มากกว่าการกำหนดค่าแยกกันในทุกอุปกรณ์ นี่คือวิธีแก้ปัญหาของฉัน คุณสามารถค้นหาวิธีอื่นได้

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา