Tengo instalado el servidor Ubuntu 12.04, así que no tengo GUI. Cuando hago el comando ifconfig, no puedo encontrar mi dirección IP interna. Dice inet addr: 127.0.0.1.
Aquí está la salida 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)
Aquí están los contenidos de etc / network / interfaces:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
Si alguien pudiera editar esto por mí, el contenido de etc / network / interfaces debería estar en líneas separadas.
La salida del host askubuntu.com fue:
;; connection timed out; no servers could be reached.
Configuré owncloud y webmin hace unos meses y los estuve usando durante un mes sin problemas. Creo que la luz se cortó un día hace 2 meses y nunca volví a encender el servidor hasta ayer. No he hecho nada que hubiera afectado la configuración de Internet. Así que no estoy seguro de por qué ya no funciona. En lo que respecta a mi topología de red, tengo una tarjeta de red pci-e para la PC. La línea de ethernet va de la tarjeta de red a un conmutador y luego a un módem / enrutador desde allí.
fuente
/etc/network/interfaces
?ls
enumerará los archivos en un directorio.ls -l
le dará una lista detallada. Para mostrar el contenido de un directorio en particular,ls -l /etc/network
. Para cambiar a un directorio y enumerar contenidoscd /etc/network ;ls -l
. Para leer el contenido deetc/network/interfaces
(este es un archivo)sudo pico /etc/network/interfaces
. (pico
es un editor de texto ligero, bueno para lectura y edición básica, y menos intimidante quevi
.)Respuestas:
Estos comandos te dirán toda la información de la red
o
Si, como usted dice, solo le da 127.0.0.1, entonces hay dos opciones:
Su tarjeta de red no está conectada o no es reconocida por el sistema
Su servidor DHCP de red no está funcionando o no está conectado
fuente
ip
opción primero , luego la (en desuso )ifconfig
después.Esto le dará una dirección IP sin ninguna información adicional.
fuente
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 estoy ejecutando algunos contenedores Docker;)Esto es lo que actualmente recomiendo:
ip route get 8.8.8.8 | awk '{print $NF; exit}'
La ventaja de ese comando es que no tiene que saber qué interfaz está utilizando (eth0? Eth1? O quizás wlan0?), No tiene que filtrar las direcciones de host local, o las direcciones de Docker, o los túneles VPN, etc. y siempre obtendrá la dirección IP que se usa actualmente para las conexiones a Internet en ese mismo momento (importante cuando, por ejemplo, está conectado con Ethernet y wifi o mediante VPN, etc.).
Esto probará no solo que tiene una IP correcta configurada en alguna interfaz (como al analizar la salida de
ifconfig
) sino también que tiene la tabla de enrutamiento configurada para usarla correctamente.Encontré esa idea en esta respuesta de Collin Anderson .
Lo uso en el script internalip en mi colección de scripts en GitHub , que puedes instalar con:
y usar como:
o:
y obtendrá su dirección IP que se usaría para conectarse con la dirección IP OBJETIVO . El objetivo predeterminado es
8.8.8.8
cuál es el solucionador de DNS público de Google y un buen valor predeterminado para Internet.Pero si lo ejecutas con una IP diferente:
Entonces obtendrás:
porque esa es su dirección IP que se usaría para conectarse con 127.2.3.4 en la interfaz de bucle invertido. Es útil cuando su objetivo está en una LAN, VPN u otra red especial, en cuyo caso se podría usar otra IP para las conexiones que la IP predeterminada para llegar a Internet.
IP externa
Para verificar su dirección IP externa (la que ven los servidores en Internet cuando se conecta a ellos, que puede ser diferente a la dirección IP interna que se describe aquí) vea esta respuesta .
fuente
8.8.8.8
es solo el predeterminado. En mi respuesta lo usé127.2.3.4
como ejemplo. También puede usar alguna IP en su intranet o en una VPN. El punto es que generalmente no tiene una dirección IP interna, pero se usan pocas direcciones diferentes para diferentes objetivos. De esta manera, puede encontrar el que realmente se utiliza para las conexiones a un objetivo determinado.Creo que vale la pena mencionar que ejecutar ifconfig junto con la opción -a mostrará todas las interfaces, ya sea que la interfaz tenga o no una IP.
ejecutando ifconfig solo, mostrará solo las interfaces con IP asignadas.
Aquí hay un buen truco que podría usar para mostrar solo las IP que usan Perl.
Su tarjeta de red es reconocida por el sistema, por eso está mostrando eth0 y eth1
Aquí hay una forma rápida de asignar IP a su interfaz, use IP / subred válida en consecuencia.
entonces necesitamos agregar una ruta predeterminada
Mejor,
fuente
Este comando mostrará todas las direcciones IP para un solo dispositivo:
Imprimirá una o dos líneas de salida. La primera es la dirección inet / IPv4 y la otra es inet6 / IPv6 si su sistema está configurado para admitir esto.
fuente
En caso de que el
ifconfig
comando no muestre la dirección IP, hay una manera muy simple y fácil de encontrar la dirección IP de la máquina Ubuntu a través de la GUI. Siga los pasos a continuación:Haga clic en el icono de red en el área de notificación y haga clic en Información de conexión .
Esto abre una ventana que tiene cierta información, incluida la dirección IP.
fuente
Ya hay muchas buenas respuestas para elegir, pero pensé en señalar un factor que generalmente se usa, pero no necesariamente, con títeres para recopilar varios datos sobre el sistema. La principal ventaja de facter es que da buena salida limpia, lo cual le ahorra toda la manipulación con
grep
,sed
,awk
,cut
,perl
, etc no va a decirle cuál es la interfaz que le interesa, pero si se sabe que, a continuación, el lo siguiente le da la IP sin otro tipo de limpieza para limpiar:fuente
comando ip
Aquí hay una variación en el
ip addr
camino.ip
tiene una-o
opción que permite poner toda la información en una sola línea; esto es útil para analizar con herramientas comoawk
operl
. En combinación con la-4
opción, solo veremos las direcciones IPv4. Por lo tanto, la salida sería algo como esto (nota: reemplace wlan7 con la interfaz que desea verificar):Como puede ver, la dirección IP es la cuarta columna / palabra en la salida. El resto, es un simple ejercicio de análisis a través de la herramienta que elija. Aquí estoy usando python:
Lo mismo, solo que aquí la cadena
<<<
y la sustitución de comandos$()
Personalmente, tengo esto guardado como una buena función en mi
~/.bashrc
forma de escribir menos.La versión de Perl y Ruby es un poco más corta:
Wireshark
Si está familiarizado con el uso de herramientas de análisis de red, probablemente sepa que para obtener su dirección IP, todo lo que necesita hacer es borrar la memoria caché del navegador, iniciar la captura de Wireshark en la interfaz específica y buscar los
GET
paquetes http que se transmiten. La columna de destino mostrará su dirección IPfuente