Como conectar diretamente duas máquinas através de ethernet sem IPs estáticos?

2

Pergunta: Como posso configurar duas máquinas para que, quando conectá-las diretamente a um cabo ethernet, uma delas possa se conectar à outra? Estou procurando uma solução que não envolva a configuração de endereços IP estáticos.

Motivação: Eu tenho um Raspberry Pi que está fazendo medições com sensores conectados a ele em um local sem acesso à Internet ethernet. Eu gostaria de poder conectar um laptop no Pi e transferir os dados dele sem ter que desligar o Pi. Eu gostaria de evitar o IP estático, para que eu não precise alterar a configuração do laptop toda vez que ele precisar se conectar ao Pi. Além disso, quero ocasionalmente trazer o Pi de volta a uma conexão ethernet com fio, conectá-lo e executar atualizações de software nele sem ter que alterar a configuração no Pi.

O que tentei: segui os passos listados no Wiki do Arch e esta postagem do blog para configurar o Avahi para usar o .local TLD. Atualmente, o laptop está usando o Arch Linux e o Pi está usando o Ubuntu Mate. Eu tenho avahi-daemon em execução nos dois sistemas com a biblioteca nss-mdns instalada. No laptop, editei a linha hosts em /etc/nsswitch.conf para ler

hosts: files mdns_minimal [NOTFOUND=return] dns myhostname

O que eu vejo: Quando o cabo ethernet é conectado pela primeira vez, avahi-browse -alr mostra

+ enp1s0 IPv6 rpi2b0 [b8:27:eb:65:2e:43]                    Workstation          local
= enp1s0 IPv6 rpi2b0 [b8:27:eb:65:2e:43]                    Workstation          local
   hostname = [rpi2b0.local]
   address = [fe80::ba27:ebff:fe65:2e43]
   port = [9]
   txt = []

Após alguns minutos, avahi-browse -alr não encontra o Pi quando é reexecutado. Enquanto o Pi é encontrado por avahi-browse , ele também pode ser encontrado por avahi-resolve , mas uma vez que não é encontrado por avahi-browse ele não é mais encontrado por avahi-resolve . A execução de ping rpi2b0.local mostra que ping resolve rpi2b0.local para o endereço IPv6 listado por avahi-browse , mas resulta em Address unreachable . ssh informa o erro: debug1: connect to address fe80::ba27:ebff:fe65:2e43 port 22: Invalid argument .

    
por ws_e_c421 09.03.2016 / 20:29

1 resposta

2

Você pode conectar seu PC e RPi através de um cabo Ethernet, que irá criar uma rede privada entre os dois.

Wiki página nessa rede:

In IPv4, link-local addresses are codified in RFC 6890 and RFC 3927. Their utility is in self-autoconfiguration by network devices when Dynamic Host Configuration Protocol (DHCP) services are not available and manual configuration by a network administrator is not desirable.

The block 169.254.0.0/16 is reserved for this purpose, with the exception of the first and the last /24 subnets in the range. If a host on an IEEE 802 (ethernet) network cannot obtain a network address via DHCP, an address from 169.254.1.0 to 169.254.254.255 may be assigned pseudorandomly. The standard prescribes that address collisions must be handled gracefully.

Isso significa que ambas as máquinas devem estar no espaço de endereço 169.254.0.0.

Depois, encontrei algumas postagens no blog que levam você à abordagem de comunicar essas duas coisas:

link

link

No seu PC, selecione na placa Ethernet, DHCP, você deve ser atribuído um endereço IP privado, como abaixo:

EmquebasicamentevocêprecisaeditarnoRPioarquivo/boot/cmdline.txteadicionarnofinaldalinhadeconfiguraçãooIPquevocêgostariadeusarparaoRPi.

Em seguida, reinicie o RPi e você poderá se conectar a ele via ssh , se você tiver a configuração, é claro.

    
por 09.03.2016 / 21:09