แท็ก VLAN ไม่แสดงในการดักจับแพ็กเก็ต (Linux) ผ่าน tcpdump


15

ฉันกำลังเพิ่มแท็ก VLAN ลงใน eth0:

#ip link add link eth0 name eth0.20 type vlan id 20

ผลลัพธ์นี้ใน:

#ip link
2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
 link/ether 9c:c7:a6:95:65:1c brd ff:ff:ff:ff:ff:ff
....
12: eth0.20@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
 link/ether 9c:c7:a6:95:65:1c brd ff:ff:ff:ff:ff:ff

#ip -d link show eth0.20
70: eth0.20@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 9c:c7:a6:95:65:1c brd ff:ff:ff:ff:ff:ff
    vlan id 20 <REORDER_HDR>

#cat /proc/net/vlan/config
VLAN Dev name    | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.234       | 234  | eth0
eth0.20        | 20  | eth0

ตอนนี้ฉันเริ่ม dhclient:

#dhclient -d -v -1 eth0.20

สิ่งที่ฉันเห็นใน tcpdump เป็นกรอบการค้นพบ DHCP ที่ไม่ติดแท็ก:

#tcpdump -i eth0 -XX
0x0000:  ffff ffff ffff 9cc7 a695 651c 0800 4500 
                                       ^^^^

ทำไมไม่ติดแท็ก

ดูเหมือนว่าจะใช้โมดูล 802.1q:

#lsmod | grep 8021q
8021q                  28324  0
garp                   14311  1 8021q

(ระบบปฏิบัติการ: SLES11SP2 เคอร์เนล 3.0.13-0.27- ค่าเริ่มต้น)

BTW การรับส่งข้อมูลอื่นไม่ได้ติดแท็กด้วย (อย่างน้อย tcpdump ไม่แสดง) ...


อัปเดต 16 ตุลาคม

 # tcpdump -Uw - | tcpdump -i eth0 -en -r - &
[1] 7310
 # tcpdump: WARNING: eth0: no IPv4 address assigned
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes

 # dhclient -d -v -1 eth0.20
Internet Systems Consortium DHCP Client 4.2.3-P2
Copyright 2004-2012 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0.20/9c:c7:a6:95:65:1c
Sending on   LPF/eth0.20/9c:c7:a6:95:65:1c
Sending on   Socket/fallback
DHCPDISCOVER on eth0.20 to 255.255.255.255 port 67 interval 3
reading from file -, link-type EN10MB (Ethernet)
18:49:14.437882 9c:c7:a6:95:65:1c > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 347: 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 9c:c7:a6:95:65:1c, length 305
                                                                       ^^^^^^

ดังนั้นยังไม่มีแท็กที่แสดงที่นี่

แต่แท้จริงแล้วตัวส่งสัญญาณสำหรับ eth0.20 ใน / proc / net / dev จะเพิ่มขึ้นเมื่อใช้ dhclient ...


คุณสามารถเรียกใช้ "ip -d link show eth0.20" ได้หรือไม่?
Danila Ladner

แน่นอนว่าฉันได้เพิ่มข้อมูลลงในคำถาม
Marki

คุณแน่ใจหรือไม่ว่าทราฟฟิกปรากฏขึ้นบนเส้นลวดโดยไม่มีแท็ก VLAN ด้วย? มันก็อาจจะมีบางมุมแหลม libpcap กับวิธีการเชื่อมต่อ VLAN ip linkจะดำเนินการสำหรับ
the-wabbit

โอเคสิ่งที่ "cat / proc / net / vlan / config" พูดว่า?
Danila Ladner

ฉันได้ขยายคำถามด้วยการส่งออกการกำหนดค่า ฉันจะพยายามจับภาพนอกระบบปฏิบัติการและอัปเดตคุณอยู่เสมอ
Marki

คำตอบ:


16

คุณไม่เห็นแท็ก VLAN จากtcpdump -i eth0เอาต์พุตบนสถาปัตยกรรม i686 / x86_64 เนื่องจากการเร่งความเร็ว VLAN เลเยอร์ VLAN จะถูกกรองโดยเคอร์เนลดังนั้นมันจึงดูไม่ถูกแท็ก โปรดอ้างอิงBug 498981 - tcpdump ไม่สามารถจัดการกับแท็ก 802.1q vlan

ตามกรณีของคุณคุณจะได้รับแท็ก VLAN ผ่านทาง:

tcpdump -i eth0 -Uw - | tcpdump -en -r - vlan 20

คุณควรเห็นผลลัพธ์ต่อไปนี้:

<timestamp> <mac-addr-of-eth0> > Broadcast, ethertype 802.1Q (0x8100), length 346: vlan 20, p 0, ethertype IPv4, 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP

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

1
@ Marki ขอโทษฉันไม่ได้รับคะแนนของคุณอย่างชัดเจน นี่คือรุ่นที่อัปเดตหลังจากการศึกษา 20 นาทีผ่านทาง Google ความคิดเห็นนี้เป็นกุญแจสำคัญในคำถามของคุณ
Shawmzhu

ใช่คุณดูเหมือนจะถูกต้อง หนึ่งควรจะระมัดระวังด้วยชั้นทุกอย่าง 2. หนึ่งควรนอกจากนี้ต้องระมัดระวังกับไคลเอ็นต์ DHCP ในขณะที่มันดูเหมือนว่าจะใช้ซ็อกเก็ตดิบในบางกรณี (เพื่อให้คุณไม่สามารถแม้แต่จะจับแพ็กเก็ตโดยใช้ iptables) และยิ่งกว่านั้นเมื่อคุณใช้ VMware คุณไม่ควรติดแท็กแพ็กเก็ตใน VM ไม่ว่าในกรณีใด ๆ เนื่องจาก vSwitch จะปฏิเสธพวกเขาคุณต้องกำหนดค่าอินเทอร์เฟซเฉพาะสำหรับ VM นั้นใน VLAN นั้นบน vSwitch การได้ทั้งหมดนี้มาด้วยกันไม่ใช่เรื่องง่าย ... ;-)
Marki

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