Quero configurar uma câmera IP que está na porta ethernet do meu raspberry pi (eu me conecto a ela por wifi).
Conectei a câmera e é isso que vejo quando corroifconfig
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)
Isso significa que meu raspberry pi tem o endereço IP 169.254.248.2
. Tentei acessar 169.254.248.1
e digitalizar, nmap 169.254.0.0/16
mas o único host que vejo é o próprio raspberry pi.
Em seguida, executo o tcpdump no eth0:
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
O que parece que meu raspberry pi está tentando encontrar um IP para si mesmo. Não ouvi nada da câmera. Não devo receber suas mensagens de transmissão tentando obter um IP?
Ok, continuei e instalei https://help.ubuntu.com/community/isc-dhcp-server com o seguinte arquivo de configuração:
# 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;
}
Deve fazer o cliente dhcp da câmera solicitar um endereço e pegar 169.254.248.10
, certo?
Nada disso funcionou, então comecei a lembrar algumas coisas sobre esta câmera:
Eles vêm pré-configurados para funcionar em 192.168.1.xe com IP fixo (que não sei o que é).
Isso significa que a câmera nunca funcionará na minha porta ethernet, a menos que eu faça o endereço ethernet estar na faixa 192.168.1.x?
Não devo receber mensagens broadcast da câmera, mesmo que esteja em uma sub-rede diferente e mesmo que seu IP seja fixo? Acho que devo receber mensagens ARP brocadcast informando em qual IP está, algo assim, certo? No entanto, não ouço nada vindo da câmera quando o façotcpdump -i eth0
Se as respostas a essas duas últimas perguntas forem falsas, posso fazer minha porta ethernet funcionar no 192.168.1.x
intervalo, mesmo que minha interface wlan0 já esteja funcionando nela? (Quero dizer, eu poderia pelo menos fazer isso de forma virtual apenas para falar com a câmera? Como é Ethernet bruta, eu poderia fingir que o eth0 está ligado 192.168.1.x
apenas para enganar a câmera). Estou perguntando isso porque tudo o que estou fazendo é remoto, não posso mexer nas configurações de wlan e não posso colocá-lo em uma sub-rede diferente.
Sem hub ou switch, você precisa usar um cabo cruzado. Você pode fazer um cabo cruzado, fazer um cabo com um conector RJ45 fêmea cruzado, juntar 2 conectores RJ45 (um hub de 2 portas!), etc.
Feito isso, o endereçamento automático pode funcionar ou verifique o manual da câmera, pois pode ter um IP estático padrão definido.
Se você sabe que o IP está na sub-rede 192.168.1.x, defina seu Pi para algo nesse intervalo e, em seguida, faça uma varredura de porta ou ping na sub-rede.