Eu tenho o servidor Ubuntu 12.04 instalado, então não tenho GUI. Quando eu executo o comando ifconfig, não consigo encontrar meu endereço IP interno. Diz inet addr: 127.0.0.1.
Aqui está a saída de ifconfig -a
:
eth0 link encap:Ethernet HWaddr 00:06:4f:4a:66:f0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth1 link encap:Ethernet HWaddr 00:16:ec:05:c8:9c
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr 127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1800 errors:0 dropped:0 overruns:0 frame:0
Tx packets:1800 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:143896 (143.b KB) TX bytes:143896 (143.8 KB)
aqui está o conteúdo de etc / network / interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Se alguém puder editar isso para mim, o conteúdo de etc / network / interfaces deve estar em linhas separadas.
A saída do host askubuntu.com foi:
;; connection timed out; no servers could be reached.
Eu configurei o owncloud e o webmin há alguns meses e os usei por um mês sem problemas. Acho que a energia foi desligada um dia há 2 meses e nunca liguei o servidor até ontem. Não fiz nada que afetasse a configuração da Internet. Portanto, não sei por que não funciona mais. No que diz respeito à minha topologia de rede, tenho uma placa de rede pci-e para o PC. A linha Ethernet passa da placa de rede para um switch e depois para um modem / roteador a partir daí.
fonte
/etc/network/interfaces
tem nele?ls
listará os arquivos em um diretório.ls -l
dará uma lista detalhada. Para listar o conteúdo de um diretório específicols -l /etc/network
,. Para mudar para um diretório e listar o conteúdocd /etc/network ;ls -l
. Para ler o conteúdo deetc/network/interfaces
(este é um arquivo)sudo pico /etc/network/interfaces
. (pico
É um editor de texto leve - boa para leitura e edição básica, e menos intimidante do quevi
.)Respostas:
Esses comandos informarão todas as informações da rede
ou
Se, como você diz, fornece apenas 127.0.0.1, existem duas opções:
Sua placa de rede não está conectada ou não é reconhecida pelo sistema
O servidor DHCP da sua rede não está funcionando ou não está conectado
fonte
ip
opção primeiro , depois a ( obsoleta )ifconfig
depois.Isso fornecerá apenas o endereço IP sem nenhuma informação extra.
fonte
10.0.2.15 172.18.0.1 172.17.0.1 172.20.0.1 172.21.0.1 172.22.0.1 172.19.0.1
porque eu estou correndo alguns contentores Docker;)Isto é o que eu recomendo atualmente:
ip route get 8.8.8.8 | awk '{print $NF; exit}'
A vantagem desse comando é que você não precisa saber qual interface está usando (eth0? Eth1? Ou talvez wlan0?), Não precisa filtrar endereços de host local, endereços de Docker, túneis de VPN etc. e você sempre obterá o endereço IP atualmente usado para conexões com a Internet naquele momento (importante quando, por exemplo, você estiver conectado com Ethernet e Wi-Fi ou via VPN etc.).
Isso testará não apenas se você tem um IP correto configurado em alguma interface (como na análise da saída de
ifconfig
), mas também se a tabela de roteamento está configurada para usá-lo corretamente.Encontrei essa ideia nesta resposta de Collin Anderson .
Eu o uso no script internalip na minha coleção de scripts no GitHub , na qual você pode instalar:
e use como:
ou:
e você obterá o seu endereço IP que seria usado para conectar -se ao endereço IP do TARGET . O destino padrão
8.8.8.8
é o resolvedor de DNS público do Google e um bom padrão para a Internet.Mas se você executá-lo com um IP diferente:
Então você receberá:
porque esse é o seu endereço IP que seria usado para se conectar com 127.2.3.4 na interface de loopback. É útil quando o seu destino está em uma LAN, VPN ou outra rede especial; nesse caso, outro IP pode ser usado para conexões que não o padrão para acessar a Internet.
IP externo
Para verificar seu endereço IP externo (aquele que os servidores da Internet veem quando você se conecta a eles - que pode ser diferente do endereço IP interno descrito aqui), consulte esta resposta .
fonte
8.8.8.8
é apenas o padrão. Na minha resposta eu usei127.2.3.4
como exemplo. Você pode usar algum IP na sua intranet ou em uma VPN também. O ponto é que você normalmente não tem um endereço IP interno, mas poucos endereços diferentes são usados para destinos diferentes. Dessa forma, você pode encontrar o que é realmente usado para conexões com um determinado destino.Eu acho que vale a pena mencionar que a execução de ifconfig junto com a opção -a exibirá todas as interfaces com ou sem interface.
executando ifconfig sozinho, exibirá apenas interfaces com IPs atribuídos.
Aqui está um bom truque que você pode usar para exibir apenas IPs usando Perl.
Sua placa de rede é reconhecida pelo sistema, por isso está aparecendo eth0 e eth1
Aqui está uma maneira rápida de atribuir IP à sua interface, use IP / sub-rede válido de acordo.
então precisamos adicionar uma rota padrão
melhor,
fonte
Este comando mostrará todos os endereços IP de um único dispositivo:
Ele imprimirá uma ou duas linhas de saída. O primeiro é o endereço inet / IPv4 e o outro é inet6 / IPv6 se o seu sistema estiver configurado para suportar isso.
fonte
Caso o
ifconfig
comando não exiba o endereço IP, existe uma maneira muito simples e fácil de descobrir o endereço IP da máquina Ubuntu através da GUI. Siga os passos abaixo:Clique no ícone de rede na área de notificação e clique em Informações da conexão .
Isso abre uma janela com algumas informações, incluindo o endereço IP.
fonte
Já existem muitas boas respostas para você escolher, mas pensei em apontar aspectos que geralmente são, mas não necessariamente usados com o fantoche, para coletar vários fatos sobre o sistema. A principal vantagem do facter é que dá saída limpa agradável que poupa-lhe toda a manipulação com
grep
,sed
,awk
,cut
,perl
, etc. Ele não vai dizer-lhe que a relação que você está interessado, mas se você sabe disso, então o A seguir, é fornecido o IP sem outro problema para limpar:fonte
comando ip
Aqui está uma variação no
ip addr
caminho.ip
tem a-o
opção que permite colocar todas as informações em uma única linha - isso é útil para analisar com ferramentas comoawk
ouperl
. Em combinação com a-4
opção, veremos apenas endereços IPv4. Assim, a saída seria algo como isto (note - substitua wlan7 pela interface que você deseja verificar):Como você pode ver, o endereço IP é a quarta coluna / palavra na saída. O restante é um simples exercício de análise através da ferramenta de sua escolha. Aqui, estou usando python:
A mesma coisa, apenas com a
<<<
substituição de string e comando aqui$()
Pessoalmente, eu tenho isso salvo como uma boa função na minha
~/.bashrc
digitação para menos.A versão de Perl e Ruby é um pouco menor:
Wireshark
Se você está familiarizado com o uso de ferramentas de análise de rede, provavelmente sabe que para obter seu endereço IP, tudo o que você precisa fazer é limpar o cache do navegador, iniciar a captura do Wireshark na interface específica e procurar
GET
pacotes HTTP sendo transmitidos. A coluna de destino mostrará seu endereço IPfonte