nhận ip trên wlan0 nhưng bộ định tuyến cho thấy nó kết nối qua eth0


1

Tôi đang cố gắng kết nối Raspberry Pi (Model B, Revision 2.0) với bộ định tuyến của mình bằng khóa USB. sử dụng raspi-config, nó dường như hoạt động ở phía pi, ifconfig mang lại:

    eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.100.102.188  netmask 255.255.255.0  broadcast 10.100.102.255
            inet6 fe80::c33b:ae6:8b40:dc28  prefixlen 64  scopeid 0x20<link>
            ether b8:27:eb:c2:e8:a4  txqueuelen 1000  (Ethernet)
            RX packets 158  bytes 19362 (18.9 KiB)
            RX errors 0  dropped 1  overruns 0  frame 0
            TX packets 133  bytes 20949 (20.4 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.100.102.221  netmask 255.255.255.0  broadcast 10.100.102.255
            inet6 fe80::a0e7:13f2:ba6e:cf2b  prefixlen 64  scopeid 0x20<link>
            ether 00:36:76:55:54:a2  txqueuelen 1000  (Ethernet)
            RX packets 214  bytes 39050 (38.1 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 45  bytes 5948 (5.8 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

nhưng nhìn vào bộ định tuyến của tôi, dường như cả hai địa chỉ IP đều liên quan đến cổng ethernet:

    Hostname IP address                       MAC address        Type             Port
    pi-1     10.100.102.221 10.100.102.188    b8:27:eb:c2:e8:a4  Ethernet         3
    pi-1                                      00:36:76:55:54:a2  Wireless-2.4GHz 

Điều này thực sự kỳ lạ vì cả hai giao diện đều ở trạng thái "xanh", nhưng IP wifi được gán cho ethernet bằng cách nào đó.

nếu tôi ngắt kết nối cáp LAN, cả hai địa chỉ đều biến mất và pi không thể truy cập được.

** Tôi đã kiểm tra USB trên một Pi (Pi 2) khác và nó hoạt động tốt

cập nhật 1

đó là rasibian

uname -a 
Linux pi-1 4.14.34+ #1110 Mon Apr 16 14:51:42 BST 2018 armv6l GNU/Linux

cat / etc / network / interface (chưa thay đổi điều đó)

    # interfaces(5) file used by ifup(8) and ifdown(8)

    # Please note that this file is written to be used with dhcpcd
    # For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'

    # Include files from /etc/network/interfaces.d:
    source-directory /etc/network/interfaces.d

lsb_release

    No LSB modules are available.
    Distributor ID: Raspbian
    Description:    Raspbian GNU/Linux 9.4 (stretch)
    Release:        9.4
    Codename:       stretch

cập nhật 2

Điều này thậm chí còn xa lạ hơn, nhìn kỹ hơn vào các thiết bị được kết nối với bộ định tuyến của tôi, tôi thấy pi đang lấy IP trên wifi, sau đó cùng một địa chỉ IP chuyển sang ethernet - gây nhầm lẫn

Câu trả lời:


0

Tôi không thể trả lời chắc chắn nếu không điều tra thực tế, nhưng đây là phỏng đoán của tôi:

  1. Khi bộ định tuyến hoặc một số máy chủ khác trên mạng LAN cố gắng truy cập 10.100.102.221nó sẽ gửi một truy vấn ARP cho địa chỉ đó, yêu cầu dịch sang địa chỉ MAC. (Bản thân truy vấn được phát, vì dĩ nhiên địa chỉ MAC chưa được biết đến . )

  2. Ethernet và Wi-Fi của bộ định tuyến của bạn được kết nối thành một mạng con duy nhất và một miền quảng bá. Vì vậy, cùng một truy vấn quảng bá đến Raspberry trên tất cả các giao diện thuộc mạng (cả eth0 và wlan0).

  3. Trên Linux (và nhiều hệ điều hành khác), địa chỉ IPv4 được cho là thuộc về máy chủ chứ không phải giao diện, vì vậy Raspberry đáp ứng tất cả các truy vấn nhận được - ngay cả khi đó không phải là giao diện chứa địa chỉ.

  4. Bộ định tuyến nhận được cả hai phản hồi ARP: một qua Ethernet, yêu cầu 10.100.102.221 is at b8:27:eb:c2:e8:a4và một qua Wi-Fi, yêu cầu 10.100.102.221 is at 00:36:76:55:54:a2. Vì Ethernet thường có độ trễ thấp hơn Wi-Fi, phản hồi đầu tiên đến nhanh hơn và đó là những gì bộ định tuyến lưu trữ trong bộ đệm ARP của nó.

  5. Bảng của bộ định tuyến dường như được xây dựng dựa trên nội dung của bộ đệm ARP và bộ đệm máy chủ cầu nối, và vì trả lời ARP cho cả hai địa chỉ IP đến nhanh hơn qua Ethernet, chúng được hiển thị dưới cổng Ethernet.

Trên Linux, hành vi ở điểm # 3 có thể được thay đổi thông qua sysctl:

sysctl net.ipv4.conf.all.arp_ignore=1
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.