Configurar o compartilhamento de conexão com um endereço IP específico

11

Editar - uma versão mais concisa da pergunta:

Ao usar o compartilhamento de conexão, desejo que o gerente de rede use a sub-rede 192.168.254 em vez da sub-rede 10.42.0. Isso é possível?

Antecedentes :

Preciso compartilhar minha conexão de internet sem fio (em um laptop Ubuntu) com um RasPi conectado ao laptop por Ethernet.

Tudo funciona bem configurando eth0 como "Compartilhado com outros computadores" (documentado em muitos lugares, por exemplo aqui ).

Usando esta configuração, meu endereço IP quando conectado ao RasPi é 10.42.0.1. O RasPi pega outro endereço nessa sub-rede. Tudo funciona muito bem!

Por causa de como o RasPi está configurado (para funcionar com vários outros sistemas), eu quero eth0usar 192.168.254.1. Se eu configurar o eth0 para usar manualmente 192.168.254.1: Configuração manual eth0

o RasPi se conecta ao meu laptop e eu consigo ssh. No entanto, embora eu ainda veja uma wlan0configuração válida durante a execução ifconfig, não consigo acessar a Internet (presumivelmente meu laptop está tentando usar em eth0vez de wlan0).

Estou procurando uma maneira de:

a) Ainda use wlan0para acessar a internet quando eth0 estiver configurado manualmente

b) Force eth0a usar um endereço IP específico quando configurado com "Compartilhado com outros computadores"

Estou tentando configurar instruções simples para outros usuários, por isso, se possível, gostaria de evitar iptables-typeconfigurações manuais .

Jake
fonte
É meio difícil de fazer. Não posso colocar um guia aqui agora, mas vou editá-lo mais tarde. Tente aqui: howtoforge.com/linux-basics-set-a-static-ip-on-ubuntu
TheWanderer

Respostas:

15

Nas versões anteriores à 1.4.2, 10.42.0.x é codificado no NetworkManager . Esqueça a solução baseada em GUI ou aguarde até que a solicitação de bug / recurso seja corrigida. Ou conserte você mesmo para todos nós. Ou pelo menos vote o bug na barra de ativação para obter uma resolução mais rápida.

Faça upgrade para o Ubuntu 17.04, com versão 1.4.4, ou use o seguinte comando de Thomas Haller para definir o IP e a classe do host.

nmcli connection modify $CONNECTION_ID +ipv4.addresses 192.168.5.1/24

onde $CONNECTION_IDse encontrado via nmcli connection show. Depois, verifique com nmcli connection show $CONNECTION_ID.

Adam Ryczkowski
fonte
1
aparentemente, o bug foi corrigido em 14 de setembro de 2016! Agora é possível configurá-lo por meio da GUI, mas levará tempo para que isso chegue às versões, é claro.
hoijui
Isso foi corrigido no gerenciador de rede 1.4.2. O Ubuntu 17.04 possui 1.4.4. Eu pedi à Canonical para suportar isso para 16.04 LTS. bugs.launchpad.net/ubuntu/+source/network-manager/+bug/1098362/…
Lucas
E como fazemos isso nas versões mais recentes?
leo
0

Sua configuração tem um problema fundamental. Seu gateway está definido para o mesmo endereço IP do seu endereço IP local.

Um gráfico: Raspi: conecte-se ao 10.0.0.5 Raspi: não está na minha sub-rede, envie para o gateway Raspi recebe solicitação novamente e responde com a mesma mensagem.

Sua pergunta é um pouco confusa, mas parece que seu laptop deve ter um IP como 192.168.254.2

Você também precisará configurar a Conversão de endereços de rede no laptop.

Eu acho que seria melhor se você fizesse a ponte entre as duas interfaces, para que o raspi use efetivamente o wifi do seu laptop para se comunicar. No seu laptop, faça:

sudo -i

Isso faz você torcer.

apt-get update
apt-get install bridge-utils
brctl addbr br0
brctl addif br0 wlan0
brctl addif br0 eth0
ifconfig br0 10.42.0.1
ifconfig br0 netmask 255.0.0.0
ifconfig br0 up

Ctrl-D para sair da raiz

No raspi (conectado ao eth0):

sudo ifconfig eth0 10.42.0.2
sudo ifconfig eth0 netmask 255.0.0.0
sudo ifconfig eth0 up
echo 'nameserver 8.8.8.8'>/etc/resolv.conf
ping 10.42.0.1
ping 8.8.8.8
ping fb.com

Os três comandos finais mostrarão que tipo de acesso à rede você possui:

  • Se apenas o primeiro passa: rede local
  • Se o segundo for aprovado: acesso à Internet
  • Se tudo for aprovado: acesso à Internet com DNS
Wilhelm Erasmus
fonte
Não sei o que você quer dizer sobre meu gateway / endereço. Quando estou compartilhando minha conexão, meu laptop não é o gateway para o RasPi? Na configuração manual que mostrei no OP, o RasPi pega 192.168.254.100 - não tenho problemas em não conseguir me comunicar devido a diferentes sub-redes.
quer
A melhor maneira de fraseado a questão poderia ser: ao compartilhar minha conexão, eu quero gerente de rede para usar a 192.168.254 de sub-rede em vez do 10.42.0 sub-rede
jake
@jake seu laptop é realmente a porta de entrada. Desculpe, eu entendi um pouco a pergunta, agora vejo o problema. Você pode fazer um route -ncomo root ( sudo su) e depois fazer route del default gw 192.168.254.1 dev eth0ou, para ser mais exato, você usaria a informação a partir route -nde preencher o comando del, por isso éroute del default gw <gateway> dev <Iface>
Wilhelm Erasmus