Como conectar dois computadores Ubuntu em rede usando ethernet (sem roteador)?

65

Como posso conectar dois computadores Ubuntu em rede, para que eles possam "se ver" em um endereço IP?

8128
fonte
6
Quais são os seus requisitos? Você usa um roteador?
Nixnotwin 23/01
11
o que você quer exatamente, ser mais claro, por favor edite sua pergunta :)
Aziz joh
11
Você tem um cabo cruzado? en.wikipedia.org/wiki/Ethernet_crossover_cable
Brandon Bertelsen

Respostas:

49

Se você estiver usando dois computadores sem roteador para conectá-los. Para conectar fisicamente os computadores, você precisará de um switch, um hub ou um cabo cruzado (*). Em seguida, você precisa atribuir manualmente o endereço IP no mesmo intervalo.

No Ubuntu, isso é simples. clique com o botão direito do mouse no miniaplicativo gerenciador de rede em Você precisa fazer isso nos dois computadores

  1. editar conexões
    • guia com fio
      • Adicionar, acrescentar
  2. coloque o endereço mac da interface que você estará configurando. O comando ifconfig pode mostrar qual é o endereço mac:

    $ ifconfig  
    eth0      Link encap:Ethernet  HWaddr 00:30:1b:b9:53:94 
    

    2.1 Na versão mais recente do Linux, os nomes das placas de rede foram alterados. wlp2s0, enp1s0. Procure algo com nomes semelhantes a enethernet / wlwireless.

    $ ip a l
    2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 98:e7:f4:5d:59:90 brd ff:ff:ff:ff:ff:ff
    3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 84:ef:18:7b:cd:39 brd ff:ff:ff:ff:ff:ff
    

HWaddr 00:30:1b:b9:53:94= endereço link/ether 84:ef:18:7b:cd:39mac = endereço mac

  1. Em seguida, clique na guia configurações do ipv4. defina o método como manual.
  2. clique em adicionar para adicionar o endereço IP nos computadores A e B.

exemplo para o computador A

address  | netmask       | gateway   
10.0.0.1 | 255.255.255.0 |  

exemplo para o computador B

address  | netmask       | gateway   
10.0.0.2 | 255.255.255.0 | 

veja se você pode executar ping um ao outro
no computador A.

$ ping 10.0.0.2  
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=128 time=0.457 ms

do computador B.

$ ping 10.0.0.1  
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=128 time=0.457 ms

significa que tudo está funcionando.

(*) A maioria dos computadores modernos pode usar um cabo normal em vez de um crossover. Alguns computadores antigos exigirão um cabo cruzado

nelaaro
fonte
Achei isso mais confiável do que o método de linha de comando
8128
11
Você precisa absolutamente de um cabo cruzado?
precisa saber é o seguinte
6
Acho que a maioria das placas de rede modernas é inteligente o suficiente para detectar se um cabo cruzado está sendo usado ou não. en.wikipedia.org/wiki/Medium_dependent_interface
Seanny123
2
A resposta usando o método "compartilhado" no NetworkManager em askubuntu.com/a/3117/6130 é muito mais simples, não requer configuração em um dos computadores e permite que um dos computadores compartilhe uma conexão com a Internet. É o mesmo que o que Robert Ancell está dizendo em sua resposta aqui.
Nlmmcb
2
Importa de qual computador eu faço isso? Posso configurar tudo isso através de um computador ou tenho que fazer esse processo duas vezes em cada máquina?
Matt Corby
29

exemplo de linha de comando, porque é tão rápido e simples.

Na versão mais recente do Linux, os nomes das placas de rede foram alterados. wlp2s0, enp1s0. Procure algo com nomes semelhantes a enethernet / wlwireless.

$ ip a l
2: enp1s0: 
3: wlp2s0: 

Você precisaria atualizar o comando abaixo para usar diferentes dev enp1s0etc.

No computador A

sudo ip ad add 10.0.0.10/24 dev eth0

No computador B

sudo ip ad add 10.0.0.20/24 dev eth0

Para testar de A a B

ping 10.0.0.20

Para testar de B a A

ping 10.0.0.10

Desde que um cabo esteja conectando os dois computadores e a interface de rede em ambos esteja ativada e chamada eth0, isso deve funcionar. O restante deste post é para ajudar a solucionar problemas, se houver problemas.

10.0.0.xx é o endereço IP dos computadores. / 24 informa aos computadores que os últimos 8 bits do endereço IP de 32 bits podem mudar. É semelhante a dizer máscara de rede 255.255.255.0. Isso define as rotas que o computador / rede tem à sua disposição.

você deve ver algo semelhante a isso usando

rota ip
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.20

Se você não vê algo parecido acima na tabela de rotas, mas vê algo assim quando usa o anúncio IP. Você precisa adicionar o endereço novamente usando a sintaxe de sub-rede / 24.


escopo global eth0 do anúncio ip inet 172.16.1.40/32

Observe o / 32 que efetivamente está dizendo que é o único computador que existe na rede de um computador. Qual é o seu eu. Máscara de rede 255.255.255.255. Portanto, não há rotas e a rede não funciona.

Para descobrir quais interfaces de rede você possui e quais estão funcionando

# ip ad
1: lo: mtu 16436 qdisc noqueue 
    link / loopback 00: 00: 00: 00: 00: 00 brd 00: 00: 00: 00: 00: 00
    host do escopo inet 127.0.0.1/8 lo
    host do escopo inet6 :: 1/128 
       valid_lft forever preferência_lft forever
2: eth0: mtu 1500 qdisc pfifo_fast qlen 1000
    link / éter 46: fd: 51: f9: f5: 2e brd ff: ff: ff: ff: ff: ff
    escopo global eth0 inet 172.16.0.186/24 brd 172.16.0.255
    inet 172.16.1.10/24 scope global eth0
    inet 172.16.1.40/32 escopo eth0 global
    inet6 fe80 :: 44fd: 51ff: fef9: f52e / 64 link do escopo 
       valid_lft forever preferência_lft forever
3: eth1: mtu 1500 qdisc noop qlen 1000
    link / éter 72: 3f: 92: eb: a4: cc brd ff: ff: ff: ff: ff: ff

Se você precisar excluir um endereço IP porque cometeu um erro

anúncio ip 10.0.0.40/32 dev eth0 anúncio ip 10.0.0.40/24 dev eth0

Isso removerá as rotas e o endereço IP.

nelaaro
fonte
Isso funcionou inicialmente, mas parecia ser menos confiável que o método gráfico.
8128
3
Esta configuração não persiste. Ele será perdido após uma reinicialização. É um método simples e rápido de configurar uma conexão de rede em funcionamento entre dois computadores.
Nelaaro 17/10
Não funcionou no Ubuntu 14.04 entre um ThinkPad T430 e T400 com um cabo de 26awg.
Ciro Santilli escreveu
Funciona muito bem ao conectar um computador Ubuntu 17.04 (A) a uma segunda caixa Linux (B) que não possui teclado ou tela. Antes de desconectar o B da rede, faça ssh nele e execute "sudo ip ad add 10.0.0.20/24 dev eth0", como mostrado acima. Então você pode ir em frente e usar o cabo de conexão para conectar B ao A. Além disso, na versão mais recente do Ubuntu, use "ip ad" como mostrado acima para obter o nome da interface (já que nem sempre é eth0).
PJ Singh
28

Escolha um dos computadores para ser o servidor. Se um computador tiver uma conexão com a Internet, use-o como servidor.

No servidor, clique no indicador de rede e escolha Edit Connections. Selecione a conexão Ethernet e clique no Editbotão Vá para a IPv4guia e mude Methodde Automatic (DHCP)para Shared to other computers.

Conecte os dois computadores juntos usando um cabo Ethernet. O segundo computador receberá um endereço IP do servidor e terá acesso à Internet.

Se você possui hardware antigo, pode ser necessário garantir que o cabo Ethernet seja um cabo cruzado. O hardware moderno faz o cruzamento automaticamente.

Testado no Ubuntu 14.04 LTS.

Robert Ancell
fonte
11
Isso também funciona no Linux Mint 18, apenas para você saber.
Skylar Ittner
5

Abaixo está uma reprise da resposta delaar, atualizada para o Ubuntu 14.04.

Requisitos de hardware

Para conectar dois computadores sem um roteador, você precisará de um dos seguintes:

  • Um cabo Ethernet padrão, que deve funcionar com o hardware mais moderno, ou
  • Um cabo cruzado Ethernet , em vez de uma NIC moderna, ou
  • Um hub Ethernet simples (e dois cabos Ethernet).

No Ubuntu 14.04 LTS

Você precisará atribuir manualmente o endereço IP no mesmo intervalo. As etapas a seguir assumem que você está usando a interface padrão do Unity. Repita essas etapas para cada computador.

  1. Clique no indicador Rede no painel Unidade (canto superior direito).
  2. No menu suspenso, selecione Editar conexões ...
  3. Na caixa de diálogo Conexões de rede , clique no botão Adicionar .
  4. Quando solicitado a escolher um tipo de conexão, escolha Ethernet e clique no Criar ... botão.
  5. Nomeie sua conexão como "Direto para [outro nome de host]" para diferenciar de uma conexão Ethernet típica.
  6. No menu suspenso Endereço MAC do dispositivo , selecione o que corresponde à interface que você planeja usar.
  7. Alterne para a guia Configurações IPv4 .
  8. Mude o método para manual .
  9. clique no botão Adicionar para adicionar um endereço IP.
    • Exemplos de configurações para o computador nº 1:
      • Endereço: 10.0.0.1
      • Máscara de rede: 255.255.255.0
      • Porta de entrada:
    • Exemplos de configurações para o computador nº 2:
      • Endereço: 10.0.0.2
      • Máscara de rede: 255.255.255.0
      • Porta de entrada:

Depois de configurado, e os computadores estiverem conectados, tente executar ping um no outro.

user@computer1:~$ ping 10.0.0.2

A saída deve ser algo como isto:

PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=128 time=0.457 ms
aaaantoína
fonte
Você não precisa atribuir endereços IP manualmente, como mostrado na minha resposta.
Robert Ancell
2

Sua pergunta não é muito breve, suponho que você queira apenas 2 computadores Ubuntu em rede.

Conectar 2 computadores Ubuntu é fácil, basta obter um cabo de rede ( cabo cruzado Cat 5e) e conectar os dois computadores usando esse cabo, e o Ubuntu deve conseguir obter uma conexão " Auto Eth " (IP automático). Isso deve ser bastante para obter 2 computadores ubuntu na rede.

Mais tarde, se você quiser ver o IP automático atribuído ao computador, execute o comando ifconfigou clique com o botão direito do mouse no ' NetworkManager applet ' e clique nas informações de conexão

insira a descrição da imagem aqui

Gaurav Butola
fonte
2
Eu tentei isso, mas a conexão fica louca ao tentar se conectar e falhar o tempo todo. Qual poderia ser o problema? Eu configurei o método IPv4 para "Compartilhado com outros computadores"
Severo Raz
0

Pelo menos no 16.04, você pode fazer isso facilmente, acessando as configurações de rede:

  1. Edite a conexão com fio
  2. Vá para a guia IPv4
  3. Selecione Link-Local Only

Faça isso nos dois computadores e pronto.

Manuel Garcia
fonte