在Linux系统中查看服务器地址是系统管理和网络配置中的常见操作,服务器地址通常包括IP地址、MAC地址、主机名、域名等信息,这些信息可能用于网络连接、故障排查或安全审计,本文将详细介绍多种查看服务器地址的方法,涵盖命令行工具、配置文件及网络诊断命令,并针对不同场景提供实用技巧。
查看本地IP地址
IP地址是服务器在网络中的唯一标识,查看本地IP地址是最基础的操作,Linux系统提供了多种命令来获取IP信息,其中最常用的是ip和ifconfig命令。
-
使用
ip命令
ip命令是Linux系统中强大的网络工具,替代了传统的ifconfig,查看所有网络接口的IP地址,可以使用以下命令:ip addr show
该命令会显示网络接口的详细信息,包括接口名称(如
eth0、lo)、IP地址(inet)、子网掩码(inet6用于IPv6)等。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 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::21a:2bff:fe3c:4d5e/64 scope link valid_lft forever preferred_lft forever其中
inet后面的168.1.100就是IPv4地址,若只想查看特定接口(如eth0)的IP,可使用:ip addr show eth0
-
使用
ifconfig命令
ifconfig是传统工具,在某些系统中仍可用(需安装net-tools包),执行:ifconfig
输出结果与
ip类似,但格式略有不同。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 6789 bytes 987654 (964.5 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看MAC地址
MAC地址是网卡的物理地址,用于局域网内设备识别,结合上述命令,可通过以下方式查看:
- 使用
ip命令:ip addr show | grep link/ether
输出中的
ether字段即为MAC地址,如00:1a:2b:3c:4d:5e。 - 使用
ifconfig命令:ifconfig eth0 | grep ether
查看主机名与域名
主机名是服务器在本地网络中的名称,域名则是与公网关联的地址。
-
查看主机名
使用hostname命令:hostname
若需完整域名(FQDN),可加上
-f参数:hostname -f
-
查看域名解析配置
域名解析通过/etc/hosts和/etc/resolv.conf文件配置,查看/etc/hosts:cat /etc/hosts
该文件包含本地IP与主机名的映射关系,查看
/etc/resolv.conf:cat /etc/resolv.conf
其中
nameserver字段指定了DNS服务器地址,如8.8.8(Google DNS)。
查看公网IP地址
若服务器需要访问互联网,需确认其公网IP,可通过以下方式获取:
-
使用
curl或wget访问外部服务
访问ipinfo.io:curl ipinfo.io/ip
或使用
ifconfig.me:curl ifconfig.me
-
使用
dig或nslookup查询域名对应的IP
查询www.baidu.com的IP:dig www.baidu.com +short
或使用
nslookup:nslookup www.baidu.com
查看网络连接状态
了解服务器的网络连接状态有助于排查问题,使用netstat或ss命令:
-
查看监听端口
netstat -tuln
或使用
ss(推荐,性能更优):ss -tuln
输出中
Local Address列显示监听的IP和端口,如0.0.0:22表示监听所有接口的SSH服务。 -
查看网络连接详情
netstat -an
或
ss -tan,可查看所有TCP连接的状态(如ESTABLISHED、TIME_WAIT)。
查看路由信息
路由表决定了数据包的转发路径,使用ip route或route命令:
ip route show
输出示例:
default via 192.168.1.1 dev eth0
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
其中default via指定了默认网关(如168.1.1)。
常用命令对比表
| 功能 | 推荐命令 | 备选命令 | 说明 |
|---|---|---|---|
| 查看IP地址 | ip addr show |
ifconfig |
显示所有接口的IP信息 |
| 查看MAC地址 | ip addr show |
ifconfig |
通过ether字段获取 |
| 查看主机名 | hostname -f |
hostname |
-f显示完整域名 |
| 查看公网IP | curl ipinfo.io |
wget |
需要网络连接 |
| 查看监听端口 | ss -tuln |
netstat -tuln |
显示TCP/UDP监听端口 |
| 查看路由表 | ip route show |
route -n |
显示默认网关和路由规则 |
相关问答FAQs
Q1: 如何区分服务器的内网IP和外网IP?
A1: 内网IP(如168.x.x、x.x.x)是局域网内部使用的地址,可通过ip addr show查看;外网IP是公网IP,需通过curl ipinfo.io/ip等命令获取,若服务器配置了NAT(网络地址转换),内网IP会被路由器转换为外网IP对外通信。
Q2: 为什么ifconfig命令在某些系统中无法使用?
A2: ifconfig属于net-tools工具包,在新版Linux发行版(如Ubuntu 18.04+、CentOS 7+)中默认被ip命令替代,若需使用ifconfig,可通过sudo apt install net-tools(Ubuntu/Debian)或sudo yum install net-tools(CentOS/RHEL)安装。
