ใช้ ip addr แทน ifconfig รายงาน“ คำตอบ RTNETLINK: ไฟล์มีอยู่” บนเดเบียน


53

ฉันมีระบบ Debian ทำงานเป็นเราเตอร์ไร้สายด้วยและeth0 wlan0ตอนนี้ฉันเพิ่มเครือข่ายเพิ่มเติมด้วยตนเองeth1ด้วยifconfig:

alix: ~ # ifconfig eth1 192.168.0.2 netmask 255.255.255.0
alix: ~ # netstat -rn
ตารางการกำหนดเส้นทาง IP เคอร์เนล
เกตเวย์ปลายทาง Genmask ตั้งค่าสถานะหน้าต่าง MSS เพื่อ Iface
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.3.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
alix: ~ # ping 192.168.0.254
PING 192.168.0.254 (192.168.0.254) 56 (84) ไบต์ของข้อมูล
64 ไบต์จาก 192.168.0.254: icmp_req = 1 ttl = 64 เวลา = 0.537 ms
64 ไบต์จาก 192.168.0.254: icmp_req = 2 ttl = 64 เวลา = 0.199 ms
64 ไบต์จาก 192.168.0.254: icmp_req = 3 ttl = 64 เวลา = 0.188 ms
^ C
--- 192.168.0.254 สถิติ ping ---
3 แพ็คเก็ตที่ส่ง, 3 ที่ได้รับ, 0% แพ็กเก็ตที่สูญหาย, เวลา 2005ms
rtt min / avg / max / mdev = 0.188 / 0.308 / 0.537 / 0.161 ms

ทุกอย่างทำงานได้ดีอย่างที่คุณเห็น

ตอนนี้ฉันต้องการทำให้การกำหนดค่าเป็นแบบถาวร ดังนั้นฉันจึงเพิ่มหัวข้อต่อไปนี้ใน/etc/network/interfaces:

alix: ~ # sed -n '/ iface eth1 /, / ^ $ / p' / etc / network / interfaces
iface eth1 inet คงที่
  ที่อยู่ 192.168.0.2
  netmask 255.255.255.0

แต่เมื่อฉันพยายามเริ่มเครือข่ายฉันได้รับข้อผิดพลาดต่อไปนี้:

alix: ~ # ifconfig eth1 down
alix: ~ # ifup -v eth1
การกำหนดค่าส่วนต่อประสาน eth1 = eth1 (inet)
run-parts --verbose /etc/network/if-pre-up.d
run-parts: การรัน /etc/network/if-pre-up.d/hostapd
ip addr เพิ่ม 192.168.0.2/255.255.255.0 ออกอากาศ 192.168.0.255 dev ฉลาก eth1 eth1
คำตอบ RTNETLINK: มีไฟล์อยู่
ไม่สามารถนำ eth1 ขึ้นมาได้

เมื่อฉันรันipคำสั่งด้วยตนเองฉันได้รับข้อผิดพลาดเดียวกัน:

alix: ~ # ip addr เพิ่ม 192.168.0.2/255.255.255.0 ออกอากาศ 192.168.0.255 dev eth1 label eth1
คำตอบ RTNETLINK: มีไฟล์อยู่

เกิดอะไรขึ้นกับคำสั่ง? และฉันจะบอก Debian ให้ทำสิ่งที่ถูกต้องได้อย่างไร

คำตอบ:


83

ขออภัยที่ฉันได้รับมันเอง ฉันต้องล้างอุปกรณ์ก่อนนำขึ้นมา:

alix: ~ # ip addr flush dev eth1

การล้างข้อมูลการกำหนดค่าอินเตอร์เฟซที่ตั้งค่าด้วยตนเองเช่นนี้เป็นที่กล่าวถึงในคู่มือเซิร์ฟเวอร์อูบุนตู


ฉันยังคงได้รับข้อผิดพลาด (แตกต่างกันเล็กน้อย) RTNETLINK answers: No such process Failed to bring up eth1แต่ Eth1 ของฉันได้รับการกำหนดอย่างถูกต้องแล้วและขึ้น / ลง
harperville

ใช่ปัญหาเดียวกันที่นี่: RTNETLINK answers: No such process Failed to bring up eth1
ดึง

7
แม้ว่าคำตอบของคุณจะแก้ปัญหาได้ มันจะดีถ้าคุณสามารถบอกได้ว่ามันทำอะไรได้จริง ไฟล์ RTNETLINK นี้คืออะไรที่มีอยู่?
มนุษยชาติ

@ceving: ช่วยอธิบายหน่อยได้RTNETLINK answers fileมั้ย นอกจากนี้หลังจากล้างการ์ดเครือข่ายของฉันไม่ได้รับ IP ใหม่โดยอัตโนมัติวิธีการถาม DHCP IP ใหม่?
realtebo

@realtebo @humanityANDpeace ตรวจสอบคู่มือเคอร์เนลเกี่ยวกับnetlinkและrtnetlink แต่ฉันสงสัยว่าคุณอยากรู้จริงๆ นี่เป็นข้อความแสดงความผิดพลาดที่ipเครื่องมือได้รับจากเคอร์เนล และแทนที่จะแปลข้อความลงในสิ่งที่มีประโยชน์สำหรับผู้ใช้ipผ่านไปมันก็ผ่าน แต่ถ้าคุณต้องการที่จะรู้ว่าจริงๆ internals ใช้Ask QuestionแทนAdd Commentปุ่ม
ceving

-1

ฉันมีปัญหาคล้ายกันที่ตามเวลาที่ฉันเล่นฉาก 10,000 เงินเป็นสิ่งนี้และฉันได้พยายามที่จะเพิ่มสิ่งที่ขาดหายไปใน / e / n / id / etho

แต่จากการศึกษาหน้า man สำหรับอินเตอร์เฟซฉันสังเกตว่าชุดตัวอย่างทั้งหมดมีข้อมูลจริงเพียง 2 บรรทัด, ที่อยู่ ipv4 / 24 และบรรทัดเกตเวย์ที่ระบุที่อยู่ของเราเตอร์ของฉัน ดังนั้นฉันจึงถอดไฟล์ eth0 ของฉันลงไปและรีบูตและทำงานได้อย่างสมบูรณ์

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