ฉันมีเราเตอร์ในบ้านขนาดเล็กที่ใช้ OpenWrt (ชนิดของ Linux ที่ฝังตัวสำหรับเราเตอร์) มันมีห้าพอร์ตอีเธอร์เน็ตหนึ่งที่มีข้อความว่า WAN และ LAN labeld สี่ถึง 1 ถึง 4 มันมีการเชื่อมต่อเครือข่ายดังต่อไปนี้ที่กำหนดไว้ตามifconfig
:
root@TIBERIUS: ~ > ifconfig | grep Link
br-lan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
eth0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan1 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan2 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan3 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan4 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lo Link encap:Local Loopback
pppoe-wan Link encap:Point-to-Point Protocol
wan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
wlan0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
อย่างที่คุณเห็นมีอุปกรณ์จำนวนมาก แต่มีเพียงที่อยู่ MAC เดียวเท่านั้น
ฉันเข้าใจว่าอุปกรณ์เหล่านั้นบางอย่างเป็นเสมือนจริง ลองแยกกันlo
และpppoe-wan
นั่นคืออุปกรณ์ลูปแบ็คและการเชื่อมต่อ PPPoE ของฉัน แต่สำหรับคนที่เหลือฉันควรจะบอกได้อย่างไรว่าพวกมันมีอยู่จริงหรือเสมือน? ฉันเข้าใจว่ามีหลักการตั้งชื่อสำหรับการติดฉลากอินเทอร์เฟซเสมือนเช่นeth0.1
นั้น แต่นั่นไม่ได้ติดอยู่ที่นี่ มาดูผลลัพธ์ของifconfig
สองอินเทอร์เฟซเหล่านี้:
root@TIBERIUS: ~ > ifconfig wan
wan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15007 errors:0 dropped:0 overruns:0 frame:0
TX packets:12055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:13341276 (12.7 MiB) TX bytes:1831757 (1.7 MiB)
root@TIBERIUS: ~ > ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25799 errors:0 dropped:0 overruns:23 frame:0
TX packets:25294 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15481996 (14.7 MiB) TX bytes:15160380 (14.4 MiB)
Interrupt:4
นอกเหนือจากรายละเอียดที่คลุมเครือของtxqueuelen
การมีที่ไม่เป็นศูนย์สำหรับeth0
ความแตกต่างที่โดดเด่นเพียงอย่างเดียวคือว่าeth0
มีInterrupt
รายการซึ่งเท่าที่ฉันรู้ว่าเป็นคุณสมบัติฮาร์ดแวร์ ดังนั้นวิธีที่คุณบอก Network Interface นั้นมีอยู่จริงหรือไม่โดยการค้นหาInterrupt
รายการifconfig
? หรือมีวิธีที่ดีกว่า วิธีที่ง่ายและตรงไปตรงมาเพื่อค้นหาว่าอุปกรณ์เครือข่ายมีอยู่จริงหรือเสมือน?
โปรดทราบว่ามีคำถามที่เกี่ยวข้องแต่แม้ว่าจะมีคำตอบที่ยอมรับได้ แต่ก็ไม่ได้ข้อสรุป
ปรับปรุง
ในการตอบกลับถึงคำตอบของ Derobert นี่คือข้อมูลที่มาจากls -l /sys/class/net
:
br-lan -> ../../devices/virtual/net/br-lan
eth0 -> ../../devices/platform/ag71xx.0/net/eth0
lan1 -> ../../devices/platform/dsa.0/net/lan1
lan2 -> ../../devices/platform/dsa.0/net/lan2
lan3 -> ../../devices/platform/dsa.0/net/lan3
lan4 -> ../../devices/platform/dsa.0/net/lan4
lo -> ../../devices/virtual/net/lo
pppoe-wan -> ../../devices/virtual/net/pppoe-wan
wan -> ../../devices/platform/dsa.0/net/wan
[ภาคผนวกของรายการนี้: wlan0
จะปรากฏขึ้นเช่นกันwlan0 -> ../../devices/platform/ath9k/net/wlan0
แต่เมื่อฉันคัดลอกรายการด้านบนฉันได้ปิดใช้งาน WLAN ซึ่งเป็นสาเหตุที่ไม่ปรากฏขึ้น]
ฉันจะบอกว่าeth0
เป็นอุปกรณ์เดียว ไม่ชัดเจนว่าdsa.0
เป็นอะไร
และในการตอบกลับถึงคำตอบของ Bryan Agee:
root@TIBERIUS: ~ > cat /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'eth'
option ifname 'eth0'
option proto 'none'
config interface 'lan'
option ifname 'lan1 lan2 lan3 lan4'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.33.1'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'wan'
option proto 'pppoe'
option username '…'
option password '…'
lshw -class network
lshw
ไม่ได้อยู่ในรายการแพ็คเกจ คนที่มีความรู้และมุ่งมั่นอาจประสบความสำเร็จในการติดตั้งเครื่องมือ dev ในtmpfs
แต่มันจะคุ้มค่าหรือไม่? ฉันจะทำความเข้าใจเพิ่มเติมเกี่ยวกับระบบเครือข่าย Linux ด้วยพีซีมาตรฐาน มันจะง่ายขึ้น แม้ว่าฉันจะไม่เข้าใจการกำหนดค่าเราเตอร์นี้อย่างถูกต้อง แต่ก็ใช้งานได้ดี ขอบคุณสำหรับความช่วยเหลือของคุณ.