在Linux系统中,查看网络设置是日常运维和故障排查的基础操作,无论是确认IP地址、检查路由表,还是验证DNS配置,掌握多种查看方法都能高效解决问题,以下从命令行工具、配置文件、图形界面等多个维度,详细介绍Linux网络设置的查看方式。

使用命令行工具查看网络信息
命令行是Linux管理中最常用的方式,通过丰富的命令可以全面获取网络配置细节。
查看网络接口与IP地址
ip命令(现代Linux发行版推荐,功能全面):
-
ip addr show:显示所有网络接口的IP地址、MAC地址、状态等信息。
示例输出:1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 00:1c:23:45:67:89 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::21c:23ff:fe45:6789/64 scope link valid_lft forever preferred_lft forever关键字段:
UP(接口启用)、inet(IPv4地址)、/24(子网掩码)、brd(广播地址)、link/ether(MAC地址)。 -
ip link show:仅显示网络接口的物理状态(如启用/禁用、MAC地址)。 -
ip -s link show eth0:查看eth0接口的详细统计信息(如接收/发送字节数、错误包数)。
ifconfig命令(传统工具,逐渐被ip取代,部分系统仍保留):

ifconfig:显示所有接口信息;ifconfig eth0:查看指定接口。
查看路由表与网关
路由表决定了数据包的转发路径,网关是跨网段通信的出口。
-
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第一行:默认路由(目标为
0.0.0/0),通过网关168.1.1(via)从eth0接口发出。
第二行:直连路由,目标网段168.1.0/24直接通过eth0可达。 -
ip route get 8.8.8.8:查询访问特定IP(如Google DNS)所使用的路由路径。
查看DNS配置
DNS用于域名解析,配置通常存储在/etc/resolv.conf,但部分系统(如使用systemd-resolved)会通过服务管理。
cat /etc/resolv.conf:直接查看DNS服务器地址。
示例:nameserver 8.8.8.8(Google DNS)、nameserver 114.114.114.114(国内公共DNS)。resolvectl status(使用systemd-resolved的系统):显示更详细的DNS解析信息,包括当前使用的DNS服务器、域名搜索列表等。
查看网络连接与端口监听
-
ss命令(推荐,替代netstat,性能更优):ss -tuln:查看所有监听(l)的TCP(t)和UDP(u)端口,不显示域名解析(n)。
示例:LISTEN 0 128 *:22 *:*(SSH服务监听所有接口的22端口)。ss -tanp | grep :80:查看所有TCP(t)连接中监听80端口的进程ID(p)。
-
netstat -tuln:传统命令,效果与ss -tuln一致,但ss已逐渐成为主流。
查看网络配置文件
Linux网络配置通常存储在文本文件中,通过查看文件可了解静态设置(如固定IP、网关),不同发行版的配置文件位置略有差异:
| 发行版系列 | 主要配置文件位置 | 说明 |
|---|---|---|
| Debian/Ubuntu | /etc/network/interfaces |
传统配置文件,通过iface段定义接口配置(静态IP/DHCP)。 |
| RHEL/CentOS 7+ | /etc/sysconfig/network-scripts/ifcfg-eth0 |
网络接口配置文件,如BOOTPROTO=dhcp(DHCP)或static(静态IP)。 |
| Ubuntu 18.04+ | /etc/netplan/*.yaml |
使用YAML格式,通过netplan apply生效,支持DHCP和静态IP配置。 |
| 通用(NetworkManager) | /etc/NetworkManager/system-connections/ |
NetworkManager管理的连接配置文件,存储每个连接的详细参数(如IP、DNS)。 |
示例:查看Ubuntu的netplan配置
文件/etc/netplan/01-netcfg.yaml内容:
network:
version: 2
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
说明:静态IP168.1.100,子网掩码/24,网关168.1.1,DNS为Google和国内公共DNS。
图形界面查看网络设置
对于桌面版Linux,可通过图形界面直观查看网络信息:
- GNOME(Ubuntu等):进入“设置”>“网络”,点击已连接的网卡(如“有线”),查看IP地址、DNS、网关等。
- KDE(openSUSE等):打开“系统设置”>“网络连接”,选择对应连接,点击“编辑”查看详细信息。
- 通用工具:如
nmtui(NetworkMenu Text User Interface),通过终端运行交互式菜单查看/修改网络配置。
常用网络查看命令总结
| 命令 | 作用 | 示例 |
|---|---|---|
ip addr show |
查看所有接口IP与MAC地址 | ip addr show eth0 |
ip link show |
查看接口物理状态 | ip link show |
ip route show |
查看路由表 | ip route show |
cat /etc/resolv.conf |
查看DNS服务器 | cat /etc/resolv.conf |
ss -tuln |
查看监听端口 | ss -tuln |
netstat -tuln |
传统方式查看监听端口 | netstat -tuln |
hostname -I |
查看所有IP地址(简洁) | hostname -I |
相关问答FAQs
Q1:如何永久修改Linux的IP地址?
A:修改方式取决于发行版和网络管理工具:
- 静态IP(Ubuntu netplan):编辑
/etc/netplan/01-netcfg.yaml,设置dhcp4: no并配置addresses、gateway4、nameservers,运行sudo netplan apply生效。 - 静态IP(RHEL/CentOS):编辑
/etc/sysconfig/network-scripts/ifcfg-eth0,添加/修改BOOTPROTO=static、IPADDR=192.168.1.100、NETMASK=255.255.255.0、GATEWAY=192.168.1.1,重启网络服务sudo systemctl restart network。 - DHCP:将配置文件中的
BOOTPROTO设为dhcp或dhcp4: true,重启网络服务即可自动获取IP。
Q2:Linux网络不通时如何排查?
A:按以下步骤逐步排查:
- 检查接口状态:运行
ip link show,确认目标接口(如eth0)状态为UP(若为DOWN,用sudo ip link set eth0 up启用)。 - 检查IP配置:运行
ip addr show eth0,确认IP地址、子网掩码是否正确(静态IP需核对配置文件,DHCP需检查是否获取到IP)。 - 检查网关:运行
ip route show,确认默认路由中的网关IP可达(ping 网关IP,如ping 192.168.1.1)。 - 检查DNS:运行
ping 8.8.8.8测试外网连通性,若通但域名无法解析(如ping www.baidu.com失败),检查/etc/resolv.conf中的DNS服务器是否正确,或尝试临时修改为nameserver 8.8.8.8。 - 检查防火墙:运行
sudo systemctl stop firewalld(临时关闭)或sudo iptables -F(清空规则),若网络恢复,说明是防火墙规则拦截,需调整策略。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/22260.html