如何通過乙太網直接與 IP 攝影機通信(無交換機、集線器、路由器……)。相機和乙太網埠中的不同子網
我想配置一個位於我的樹莓派乙太網埠中的 IP 攝影機(我通過 wifi 連接到它)。
我連接了相機,這是我跑步時看到的
ifconfig
eth0 Link encap:Ethernet HWaddr b8:27:eb:a2:10:08 inet addr:169.254.248.2 Bcast:169.254.255.255 Mask:255.255.0.0 inet6 addr: fe80::ce99:232c:964e:7070/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:5600 errors:0 dropped:0 overruns:0 frame:0 TX packets:27715 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3219770 (3.0 MiB) TX bytes:10481558 (9.9 MiB)
所以這意味著我的樹莓派有 IP 地址
169.254.248.2
。我嘗試訪問169.254.248.1
和掃描,nmap 169.254.0.0/16
但我看到的唯一主機是樹莓派本身。然後我在 eth0 上執行 tcpdump:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 03:13:53.963493 IP (tos 0x0, ttl 64, id 13074, offset 0, flags [none], proto UDP (17), length 368) 0.0.0.0.bootpc > 255.255.255.255.bootps: BOOTP/DHCP, Request from b8:27:eb:a2:10:08 (oui Unknown), length 340, xid 0x252200b7, secs 65535, Flags [none] Client-Ethernet-Address b8:27:eb:a2:10:08 (oui Unknown) Vendor-rfc1048 Extensions Magic Cookie 0x63825363 DHCP-Message Option 53, length 1: Discover Client-ID Option 61, length 7: ether b8:27:eb:a2:10:08 SLP-NA Option 80, length 0"" NOAUTO Option 116, length 1: Y MSZ Option 57, length 2: 1500 Vendor-Class Option 60, length 44: "dhcpcd-6.7.1:Linux-4.9.48-v7+:armv7l:BCM2835" Hostname Option 12, length 11: "raspberrypi" T145 Option 145, length 1: 1 Parameter-Request Option 55, length 14: Subnet-Mask, Classless-Static-Route, Static-Route, Default-Gateway Domain-Name-Server, Hostname, Domain-Name, BR NTP, Lease-Time, Server-ID, RN RB, Option 119
看起來我的樹莓派正試圖為自己找到一個 IP。我沒有從相機中聽到任何聲音。我不應該嘗試獲取 IP 的廣播消息嗎?
好的,所以我繼續並使用以下配置文件安裝了https://help.ubuntu.com/community/isc-dhcp-server :
# Sample /etc/dhcpd.conf # (add your comments here) default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 169.254.248.255; option routers 169.254.248.254; option domain-name "mydomain.example"; subnet 169.254.248.0 netmask 255.255.255.0 { range 169.254.248.10 169.254.248.100; }
它應該讓攝影機的 dhcp 客戶端請求一個地址並獲取
169.254.248.10
,對嗎?這些都不起作用,所以我開始記住關於這台相機的一些事情:
它們預先配置為在 192.168.1.x 上工作,並使用固定 IP(我不知道它是什麼)。
這是否意味著相機永遠不會在我的乙太網埠上工作,除非我將乙太網地址設置在 192.168.1.x 範圍內?
我不應該從攝影機接收廣播消息,即使我在不同的子網中並且即使它的 IP 是固定的?我想我應該收到 ARP 廣播消息,通知它在哪個 IP 中,類似的,對吧?然而,當我這樣做時,我沒有聽到任何來自相機的聲音
tcpdump -i eth0
192.168.1.x
如果最後兩個問題的答案是錯誤的,那麼即使我的 wlan0 介面已經在該範圍內工作,我是否可以讓我的乙太網埠在該範圍內工作?(我的意思是,我至少可以以虛擬方式與相機交談嗎?因為它是原始乙太網,我可以假裝 eth0192.168.1.x
只是為了欺騙相機)。我問這個是因為我所做的一切都是遠端的,我不能弄亂 wlan 配置,也不能把它放到不同的子網中。
沒有集線器或交換機,您需要使用交叉電纜。您可以製作交叉的電纜,製作帶有交叉的母 RJ45 連接器的電纜,將 2 個 RJ45 連接器放在一起(一個 2 埠集線器!),等等。
完成後,自動定址可能會起作用,或者查看相機的手冊,它可能具有預設的靜態 IP 集。
如果您知道 IP 在 192.168.1.x 子網中,請將您的 Pi 設置為該範圍內的某個值,然後埠掃描或 ping 掃描子網。
ifconfig eth0 192.168.1.131 netmask 255.255.255.0