|
在排除网络问题,设置新连接或配置防火墙时,了解设备的 IP 地址非常重要。" b( {/ r0 [) b4 K8 o0 M$ j2 K
IP 地址可以分为两类,公共和内部。公共 IP 是唯一的 IP 地址,可以从 Internet 访问。内部 IP 地址保留供您的专用网络内部使用,而不直接暴露给 Internet 。此外,有两种类型的 IP 地址, IP 版本 4(IPv4) 和 IP 版本 6(IPv6) 。+ T! z- S4 S, I [4 S: D
本文会介绍查看 Linux 系统的公共和内部 IP 地址的几种不同方法。5 o z- e8 x7 ]7 Y; e
查找您的内部 IP 地址内部 IP 地址不能通过 Internet 路由,并且只能在本地网络中工作。通常,路由器会将专用 IP 地址分配给本地网络中的每个设备。这为本地网络中的设备提供了唯一的 IP 地址,例如手机,笔记本电脑,智能电视,打印机,媒体中心等。本地网络上的设备通过 NAT(网络地址转换)连接到 Internet 。
4 i/ H3 n7 P: d+ f+ _以下 IPv4 地址范围是为专用网络保留的:' a7 V7 f1 f0 [* ~2 J# y9 S9 B
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/164 `* O6 V$ p5 J8 p
您可以通过使用命令查询网络堆栈确定系统的内部 IP 地址, 比如: ip, ifconfig 或 hostname 。2 p0 ~6 D2 h! [: X+ ^
在 Linux 中,用于显示和配置网络接口的标准命令是 ip 。; X8 C% `& W- P
要显示所有网络接口和相关 IP 地址的列表,请键入以下命令:
v$ k6 ]1 z. v' aip addr4 J1 l% E$ ]/ i7 O5 P" E/ e
输出结果如下所示。内部 IP 地址突出显示。7 s) ]% u# e3 B7 Q# O9 k# ~4 X
2 D) q; R7 ]% [- `4 S7 j8 O% I
您还可以使用以下命令显示内部 IP 地址:3 x: L- h1 q3 V7 ?' z; ~
hostname -I
7 z' {0 G. D" D0 Hifconfig( H9 |/ t; w+ E( a0 z. M C; S
4 k$ U! D; @# ]0 J8 [找到您的公共 IP 地址公共 IP 地址是分配给网络设备的全局可路由 IP 地址,它直接访问 Internet 。它们由 ISP 分配给设备,每个设备都有唯一的公共 IP 地址。公共 IP 地址由归属路由器, Web 服务器,邮件服务器等使用。 \# t L6 J6 s; v7 f, R& M0 j& t$ c2 F
确定公共 IP 地址涉及通过 HTTP/HTTPS 或 DNS 协议联系远程服务器,并从远程服务器响应中获取 IP 地址。+ z6 U9 A0 Y i& s$ m9 t
在桌面计算机上,查找公共 IP 地址的最简单方法是在浏览器中键入“我的 IP 是”。, R) X6 f* j3 x' Y | R2 s
如果你是一个无头的 Linux 服务器上,或者您想要确定 IP 地址,你可以使用命令行工具,如 shell 脚本变量 dig , curl 和 wget 。
3 E3 O' a* _3 j9 h& t! a大多数 DNS 提供商(如 OpenDNS 和 Google) 都允许您查询其服务器并获取您的公共 IP 地址。* I0 N' Q& l* b
您可以使用以下任何命令获取您的 IP :
- L1 v4 U' t% r) b- dig ANY +short @ resolver2.opendns.com myip.opendns.com
) F' i6 _4 N! q - dig ANY +short @ resolver2.opendns.com myip.opendns.com * e0 F% C, x8 ^- F) g6 k
- dig ANY +short @ ns1-1.akamaitech.net ANY whoami.akamai.net 2 u3 ^2 Z! ?& ?& y4 {
. `5 N2 c) T- K! G$ X/ w& v; s 有许多在线 HTTP/HTTPS 服务可以使用您的公共 IP 地址进行响应。这里是其中的一些:
& C9 i) g6 F* t7 k7 Z$ I如果上述任何命令不起作用,则可能是在线服务有问题。7 K2 E! ~3 P0 ?, A- W
你甚至可以在你 ~/.bashrc 或 ~/.zshrc 文件创建一个别名,以后您不必键入并记住一个很长的命令。例如,您可以添加以下别名:
7 A$ \0 a- E: j- p7 E( n1 ralias pubip='dig ANY +short @resolver2.opendns.com myip.opendns.com'
# D* @2 L8 ]+ f& O; Y现在,只要您需要查看您的公共 IP ,只需输入 pubip 您的终端即可。! i' c; G. Q+ `7 p
7 {! l9 C, N8 @" Y6 b
|
|