如何使用Linux命令快速查找IP地址,轻松排查并解决网络连接问题?
- 内容介绍
- 文章标签
- 相关推荐
使用者痛点这方面。
- 网络连接失败,但不知道具体原因?
- 需要快速获取服务器IP地址却手忙脚乱?
- 被复杂的网络工具弄得眼花缭乱?
- 想排查防火墙问题但不知道如何下手?
一、基础命令:ifconfig与ip addr show
1. ifconfig命令
$ ifconfig
显示所有网络接口的详细信息,包括IP地址、子网掩码、广播地址等。适合需要全面信息的使用者。
2. ip addr show
$ ip a s
$ ip addr show eth0 # 查看特定网卡信息
$ ip a | grep inet # 仅显示IPv4/IPv6地址
为什么选择ip addr?
- 更现代化:大多数新版Linux发行版默认安装net-tools包,不再包含ifconfig命令。
- 更高效:输出格式更清晰,易于过滤和解析。
- 兼容性强:支持虚拟网卡和复杂的网络配置。不过,
$ curl ifconfig.me
场景3: 检查防火墙是否影响连接
bash
$ systemctl status firewalld.service # 检查防火墙状态
$ sudo systemctl stop firewalld # 暂时关闭防火墙测试连接
场景4: 排查子网冲突
bash
$ arp -a # 查看ARP缓存表
$ netstat -r # 检查路由表是否有冲突项
脚本示例: 一键检测完整的网络状态 bash
echo "=== 基本信息 ===" hostnamectl
echo "=== IP配置 ===" ip a
echo "=== 路由表 ===" ip route
echo "=== DNS设置 ===" cat /etc/resolv.conf
echo "=== 防火墙状态 ===" systemctl status firewalld.service || echo "Firewalld未安装"
echo "=== 公共IP检测 ===" curl -s ifconfig.me || echo "无法获取公共IP"
执行方法:
bash
chmod +x network_check.sh && ./network_check.sh> network_status.log # 输出到日志文件便于分析。
四、常见问题方法
-
A:
- sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL
- which ifconfig && which route && which arp
-
ip cmdlet!
它更靠谱,dt Q: 主机无法上外网但局域网正常?
dd A:
- nslookup google.com
- ip route | grep default
使用者痛点这方面。
- 网络连接失败,但不知道具体原因?
- 需要快速获取服务器IP地址却手忙脚乱?
- 被复杂的网络工具弄得眼花缭乱?
- 想排查防火墙问题但不知道如何下手?
一、基础命令:ifconfig与ip addr show
1. ifconfig命令
$ ifconfig
显示所有网络接口的详细信息,包括IP地址、子网掩码、广播地址等。适合需要全面信息的使用者。
2. ip addr show
$ ip a s
$ ip addr show eth0 # 查看特定网卡信息
$ ip a | grep inet # 仅显示IPv4/IPv6地址
为什么选择ip addr?
- 更现代化:大多数新版Linux发行版默认安装net-tools包,不再包含ifconfig命令。
- 更高效:输出格式更清晰,易于过滤和解析。
- 兼容性强:支持虚拟网卡和复杂的网络配置。不过,
$ curl ifconfig.me
场景3: 检查防火墙是否影响连接
bash
$ systemctl status firewalld.service # 检查防火墙状态
$ sudo systemctl stop firewalld # 暂时关闭防火墙测试连接
场景4: 排查子网冲突
bash
$ arp -a # 查看ARP缓存表
$ netstat -r # 检查路由表是否有冲突项
脚本示例: 一键检测完整的网络状态 bash
echo "=== 基本信息 ===" hostnamectl
echo "=== IP配置 ===" ip a
echo "=== 路由表 ===" ip route
echo "=== DNS设置 ===" cat /etc/resolv.conf
echo "=== 防火墙状态 ===" systemctl status firewalld.service || echo "Firewalld未安装"
echo "=== 公共IP检测 ===" curl -s ifconfig.me || echo "无法获取公共IP"
执行方法:
bash
chmod +x network_check.sh && ./network_check.sh> network_status.log # 输出到日志文件便于分析。
四、常见问题方法
-
A:
- sudo apt install net-tools # Debian/Ubuntu sudo yum install net-tools # CentOS/RHEL
- which ifconfig && which route && which arp
-
ip cmdlet!
它更靠谱,dt Q: 主机无法上外网但局域网正常?
dd A:
- nslookup google.com
- ip route | grep default

