Linux如何查看服务器IP地址?

在Linux系统中,查询服务器地址是日常运维和网络管理中的常见需求,服务器地址可能包含本地IP地址IPv4/IPv6)、公网IP地址、MAC地址、主机名、域名解析信息等,掌握多种查询方法可以帮助运维人员快速定位问题、配置服务或排查网络故障,以下从不同维度详细介绍Linux系统中查询服务器地址的常用命令及具体操作。

linux如何查服务器地址

查询本地IP地址(IPv4/IPv6)

本地IP地址是服务器在局域网或内网中的标识,分为IPv4和IPv6两种类型,可通过以下命令查询:

使用ip addr命令(推荐)

ip addriproute2工具包中的命令,功能强大且现代Linux系统默认安装,可查看所有网络接口的IP地址、子网掩码、MAC地址等信息。

ip addr show

执行后输出类似以下内容(以eth0接口为例):

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::21a:2bff:fe3c:4d5e/64 scope link
       valid_lft forever preferred_lft forever
  • IPv4地址inet字段后168.1.100/24,其中168.1.100是IP地址,/24表示子网掩码(255.255.255.0)。
  • IPv6地址inet6字段后的地址,如fe80::21a:2bff:fe3c:4d5e/64
    若需查看特定接口(如eth0),可加接口名:ip addr show eth0

使用ifconfig命令(需安装net-tools)

ifconfig是传统网络配置工具,部分系统(如CentOS 7之前)默认安装,新版本可能需手动安装(yum install net-toolsapt install net-tools)。

ifconfig

输出示例:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::21a:2bff:fe3c:4d5e  prefixlen 64  scopeid 0x20<link>
        ether 00:1a:2b:3c:4d:5e  txqueuelen 1000  (Ethernet)
        RX packets 12345  bytes 1234567 (1.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 23456  bytes 2345678 (2.2 MiB)
        TX errors 0  dropped 0  overruns 0  carrier 0  collisions 0
  • inet后为IPv4地址,netmask为子网掩码,ether为MAC地址。

使用hostname -I命令(仅IPv4)

该命令可快速显示所有接口的IPv4地址,空格分隔:

hostname -I

输出示例:168.1.100 10.0.0.1(多网卡服务器会显示多个IP)。

查询公网IP地址

公网IP是服务器在互联网中的唯一标识,需通过访问外部服务或第三方接口查询,常用方法如下:

使用curl调用第三方接口

curl是常用的网络工具,可通过访问第三方API获取公网IP:

linux如何查服务器地址

curl ifconfig.me  # 或 curl ipinfo.io/ip

输出示例:45.67.89(直接显示公网IPv4地址)。
若需查询IPv6公网地址,可使用:

curl ipv6.icanhazip.com

使用wget查询

curl类似,wget也可通过第三方接口获取公网IP:

wget -qO- ifconfig.me

查询MAC地址

MAC地址是网卡的物理地址,由48位十六进制数组成,可通过以下命令查询:

使用ip addr命令

ip addr show的输出中,link/ether字段后的值即为MAC地址(如前文示例中的00:1a:2b:3c:4d:5e)。

使用ip link命令

ip link show

输出示例:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
  • link/ether后为MAC地址。

查询主机名与域名解析信息

主机名是服务器在局域网中的名称,域名解析则是将域名映射到IP地址的过程,查询方法如下:

查询主机名

hostname  # 显示短主机名
hostname -f  # 显示完整域名(FQDN,如server.example.com)
hostname -A  # 显示所有主机名别名

主机名配置文件位于/etc/hostname,可通过cat /etc/hostname查看。

域名解析查询

(1)使用nslookup命令

nslookup可查询域名对应的IP或IP对应的域名(反向解析),需安装bind-utils(CentOS/RHEL)或dnsutils(Ubuntu/Debian)。

  • 查询域名IP:
    nslookup example.com

    输出示例:

    linux如何查服务器地址

    Name:    example.com
    Address: 93.184.216.34
    Name:    example.com
    Address: 2606:2800:220:1:248:1893:25c8:1946
  • 反向查询IP对应的域名:
    nslookup 93.184.216.34

(2)使用dig命令(更详细)

dig提供更详细的DNS解析信息,包括权威服务器、TTL值等:

dig example.com

输出示例(部分):

; <<>> DiG 9.11.3-1ubuntu1.17-Ubuntu <<>> example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;example.com.                    IN      A
;; ANSWER SECTION:
example.com.             604800  IN      A       93.184.216.34

查询网络接口与路由信息

查看网络接口状态

ip link show  # 显示所有接口状态(UP/DOWN)

输出示例:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 00:1a:2b:3c:4d:5e brd ff:ff:ff:ff:ff:ff
  • state UP表示接口已启用,DOWN表示禁用。

查看路由表(默认网关等)

ip route show

输出示例:

default via 192.168.1.1 dev eth0 proto dhcp src 192.168.1.100 metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 metric 100
  • default via 192.168.1.1 dev eth0表示默认网关为168.1.1,通过eth0接口访问。

Linux服务器地址查询命令速查表

命令 功能描述 常用选项/示例
ip addr show 查看所有接口IP及MAC地址 ip addr show eth0(指定接口)
ifconfig 查看网络接口信息(需安装net-tools) ifconfig eth0
hostname -I 快速显示所有IPv4地址
curl ifconfig.me 获取公网IPv4地址 curl ipv6.icanhazip.com(IPv6)
ip link show 查看网络接口状态及MAC地址
nslookup example.com 查询域名对应的IP或反向解析 nslookup 93.184.216.34(反向查询)
dig example.com 详细DNS解析信息 dig +short example.com(仅返回IP)
ip route show 查看路由表(默认网关等)

相关问答FAQs

Q1: 如何区分本机的公网IP和私网IP?
A: 私网IP是局域网内部使用的地址,无法直接访问互联网,范围包括:

  • 0.0.0/8(10.0.0.0-10.255.255.255)
  • 16.0.0/12(172.16.0.0-172.31.255.255)
  • 168.0.0/16(192.168.0.0-192.168.255.255)
    公网IP是互联网服务提供商(ISP)分配的,可直接访问互联网,可通过curl ifconfig.me等第三方接口查询,登录路由器管理界面(通常为192.168.1.1或192.168.0.1)也可查看WAN口公网IP。

Q2: 为什么使用nslookup查询域名时返回多个IP地址?
A: DNS负载均衡(Load Balancing)是常见原因,为了提高服务可用性和性能,同一个域名可能对应多个服务器IP地址,DNS服务器会根据轮询(Round Robin)、地理位置或负载情况返回不同的IP给客户端,访问大型网站时,不同地区用户可能解析到不同的CDN节点IP,从而实现就近访问,故障转移(Failover)场景下,主服务器IP和备用服务器IP也可能同时绑定同一域名。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/37667.html

(0)
酷番叔酷番叔
上一篇 2025年10月7日 13:24
下一篇 2025年10月7日 13:43

相关推荐

  • linux下如何用python文件

    Linux下,使用Python文件可通过终端运行,如python3 script.py(script.

    2025年8月15日
    8600
  • linux命令如何下载数据库

    Linux中,可使用包管理工具如apt-get install(Debian系)

    2025年8月9日
    8200
  • kali linux如何更新源?操作步骤与命令详解

    Kali Linux作为一款专为渗透测试和安全审计设计的Linux发行版,保持软件源(Repository)的更新至关重要,更新源能够确保系统获取最新的安全补丁、软件包升级、新功能支持以及性能优化,避免因版本过旧导致的安全风险或工具兼容性问题,本文将详细介绍Kali Linux更新源的完整流程,包括准备工作、源……

    2025年9月23日
    7100
  • linux如何查询进程时间

    Linux中,可使用ps -eo pid,etime,comm命令查询进程时间,

    2025年8月10日
    8100
  • Linux目录权限如何保障系统安全?

    权限基础概念Linux目录权限分为三类:读(r):允许查看目录内容(如ls命令)写(w):允许创建/删除目录内文件执行(x):允许进入目录(如cd命令)权限分配对象:所有者(owner):目录创建者所属组(group):共享权限的用户组其他用户(others):系统所有其他用户修改权限的核心命令:chmod方法……

    2025年7月10日
    10200

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信