我如何找到我的内部 IP 地址?

我如何找到我的内部 IP 地址?

我安装了 Ubuntu 服务器 12.04,因此没有 GUI。当我执行 ifconfig 命令时,我找不到我的内部 IP 地址。它显示:inet addr: 127.0.0.1

以下是输出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)

以下是内容/etc/network/interfaces

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

如果有人可以为我编辑这个,那么 etc/network/interfaces 的内容应该放在单独的行上。

主机 askubuntu.com 的输出为:

;; connection timed out; no servers could be reached.

几个月前我设置了 owncloud 和 webmin,并且使用了一个月,没有出现任何问题。我记得两个月前有一天断电了,直到昨天我才重新打开服务器。我没有做任何会影响互联网设置的事情,所以我不确定为什么它不再工作了。就我的网络拓扑而言,我的 PC 有一张 pci-e 网卡。以太网线从网卡连接到交换机,然后从那里连接到调制解调器/路由器。

答案1

hostname -I

这将只为您提供 IP 地址,没有任何额外信息。

答案2

这些命令将告诉您所有网络信息

ip address

或者

ifconfig -a

如果正如您所说它只给您 127.0.0.1 那么有两个选择:

  1. 您的网卡未连接或未被系统识别

  2. 您的网络 DHCP 服务器未运行或未连接

答案3

这是我目前的建议:

ip route get 8.8.8.8 | awk '{print $NF; exit}'

该命令的优点在于你不必知道你正在使用哪个接口(eth0?eth1?或者可能是 wlan0?),你不必过滤掉本地主机地址、Docker 地址或 VPN 隧道等,并且你始终可以获得当前用于 Internet 连接的 IP 地址就在那一刻(例如当您同时连接以太网和 wifi 或通过 VPN 等时很重要)。

这不仅会测试您是否在某些接口上配置了正确的 IP(例如解析的输出ifconfig),而且还会测试您是否已配置路由表以正确使用它。

我发现这个想法这个答案 经过科林·安德森

我在internalip脚本我在 GitHub 上的脚本集合,您可以使用以下方式安装:

wget https://rawgit.com/rsp/scripts/master/internalip
chmod a+x internalip

并用作:

internalip

或者:

internalip TARGET

你将获得用于连接的 IP 地址使用目标 IP 地址。默认目标8.8.8.8Google 的公共 DNS 解析器并且是互联网的一个良好默认设置。

但如果你用不同的 IP 运行它:

internalip 127.2.3.4

然后你会得到:

127.0.0.1

因为这是你的 IP 地址,将用于连接使用 127.2.3.4在环回接口上。当您的目标位于 LAN、VPN 或其他特殊网络上时,此功能很有用,在这种情况下,可以使用其他 IP 进行连接,而不是使用默认 IP 来访问互联网。

外部 IP

检查您的外部的IP 地址(当您连接到互联网上的服务器时,服务器看到的地址 - 可能与此处描述的内部 IP 地址不同)请参阅这个答案

答案4

此命令将显示单个设备的所有 IP 地址:

dev=eth0
ip addr show $dev | awk '/inet/ {print $2}' | cut -d/ -f1

它将打印一行或两行输出。第一行是 inet/IPv4 地址,另一行是 inet6/IPv6(如果您的系统配置支持此功能)。

相关内容