linux怎么看默认网关是多少?CentOS查看网关命令全解析,CentOS Linux 网关查询全攻略,查看默认网关命令解析

​​

💥 ​​凌晨三点服务器突然断网,运维小哥急疯!​​ 原来新来的实习生误删了网关配置,整个部门瘫痪半天… 别笑!​​80%的Linux网络故障​​ 就栽在不会查网关上!今天手把手教你 ​​CentOS下3秒揪出网关IP​​,小白也能秒变 *** 👇


🔧 基础三板斧:CentOS查网关必学命令

​自问​​:连不上外网咋办?先找网关!

​血泪真相​​:

  • linux怎么看默认网关是多少?CentOS查看网关命令全解析,CentOS Linux 网关查询全攻略,查看默认网关命令解析  第1张

    ​命令1:ip route show

    输入后盯紧 ​​“default via”​​ 后面那串数字 → 就是网关IP!

    bash复制
    # 终端输入:  ip route show | grep default# 输出示例:  default via 192.168.1.1 dev eth0
  • ​命令2:route -n

    找 ​​Destination为0.0.0.0​​ 的那行 → ​​ *** 列​​就是答案

    bash复制
    route -n | grep '^0.0.0.0'# 输出示例:  0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
  • ​命令3:nmcli(装逼专用)​

    适合 ​​桌面版CentOS​​ → 直接显示 ​​IP4.GATEWAY​

    bash复制
    nmcli connection show | grep IP4.GATEWAY

💡 ​​避坑重点​​:

老CentOS 6用 ​netstat -rn​ 替代ip route→ 否则报“命令不存在”!

​不过话说回来​​… 查是查到了,网关IP是 ​​192.168.1.1还是1.254​​?傻傻分不清?


🚫 诡异翻车:网关查到了却ping不通?

​自问​​:命令没输错,为啥网络还崩?

​三大阴间陷阱​​:

  1. ​多网卡打架​​ → 网关指向错误网卡

    bash复制
    # 用ip命令揪出真凶:  ip route show | grep default# 看dev后面是eth0还是ens33 → 网卡名对不上就完蛋!
  2. ​临时路由捣鬼​​ → 重启后配置消失

    ip route add改过路由?​​重启网络服务必失效​​ → 永久配置得改 ​​/etc/sysconfig/network-scripts/​​ 文件!

  3. ​防火墙封杀​​ → ICMP协议被禁

    bash复制
    # 快速检测:  sudo tcpdump -i eth0 icmp# 若抓不到包 → 八成是firewalld搞事!

✅ ​​急救方案​​:

直接 ​​cat /etc/sysconfig/network​​ → 这里写的网关 ​​可能和命令查的不一样​​!

​知识盲区警告​​:

为什么文件配置和命令显示不同?​​NetworkManager服务动态覆盖​​ 了配置 → 具体机制得问红帽工程师…


💻 骚操作:改网关比查网关更重要!

​自问​​:查出来是错的,咋改?

​野路子三步走​​:

bash复制
# 1. 先删掉错误网关(以eth0为例)  sudo ip route del default dev eth0# 2. 塞入正确网关(假设网关应为192.168.50.1)  sudo ip route add default via 192.168.50.1 dev eth0# 3. 永久生效(CentOS 7+)  sudo nmcli connection modify eth0 ipv4.gateway "192.168.50.1"sudo nmcli connection up eth0

⚠️ ​​血案现场​​:

某运维直接改 ​​/etc/sysconfig/network-scripts/ifcfg-eth0​​ → 漏写 ​​GATEWAYDEV=eth0​​ → 重启后​​全网瘫痪​​!

​虽然改网关很简单​​… 但 ​​80%的新手会忘关键一步​​:

bash复制
# 改完必须刷新!  sudo systemctl restart NetworkManager# 桌面版还得补刀:  sudo systemctl restart network

🔮 附赠神技:C程序自动抓网关(极客专属)

​自问​​:不想输命令?代码能搞定?

​抄这段C语言​​(保存为gateway.c):

c下载复制运行
#include   int main() {FILE *fp = popen("ip route show default | awk '/default/ {print $3}'", "r");char gateway[16];fgets(gateway, sizeof(gateway), fp);printf("网关IP:%s", gateway);pclose(fp);return 0;}

编译运行:

bash复制
gcc gateway.c -o gateway./gateway

秒输出网关 → ​​集成到监控脚本爽翻天​​!

​不过话说回来​​… 这代码在 ​​CentOS 8​​ 可能报错 → 缺iproute包?​​具体兼容性没深测​​…