当前位置: 首页 > article >正文

03-Linux网络故障排查:从DNS配置到防火墙设置的全面指南

1. 当Linux告诉你Name or service not known时第一次在Linux终端看到Name or service not known这个错误提示时我正急着要下载一个重要的软件包。那种感觉就像你明明知道朋友家的地址导航却死活找不到路。这个看似简单的网络问题背后可能藏着DNS配置、防火墙设置、网络服务状态等多重原因。最常见的情况是你的Linux系统无法将域名比如www.baidu.com解析成IP地址。这就好比你知道朋友叫张三但通讯录里却没有他的电话号码。在技术层面这意味着DNS解析失败了。我遇到过好几次这种情况有时候是因为虚拟机网络服务没启动有时候是DNS配置写错了还有时候是防火墙在作怪。要快速判断问题出在哪里我通常会先执行几个简单的测试命令。首先ping 8.8.8.8这是Google的公共DNS服务器IP如果能通说明网络连接本身是好的问题很可能出在DNS解析上。如果连IP都ping不通那就要检查网络连接和防火墙设置了。2. 检查你的网络基础配置2.1 确认网络接口状态在开始修改任何配置之前我们需要先确认当前的网络状态。执行这个命令ip addr这个命令会列出你所有的网络接口。找找看哪个接口有分配IP地址通常是以eth或ens开头的名字比如ens33。如果看到类似inet 192.168.1.100/24这样的信息说明这个接口已经获得了IP地址。有一次我帮同事排查问题发现他的网卡根本没启动。这种情况需要先激活网卡sudo ifconfig ens33 up如果连IP地址都没有可能需要检查DHCP服务是否正常工作或者考虑手动配置静态IP。2.2 测试基本网络连接在确定网卡状态正常后我会用这些命令做进一步测试# 测试本地网络 ping 127.0.0.1 # 测试网关连通性先用ip route命令查看网关地址 ping 192.168.1.1 # 测试外部IP连通性 ping 8.8.8.8这个步骤就像医生检查病人的生命体征一样基础但重要。如果连127.0.0.1都ping不通那可能是网络协议栈出了问题如果能ping通网关但ping不通外网可能是网关配置或防火墙的问题。3. 解决DNS解析问题3.1 检查并配置DNS服务器当你能ping通IP但无法解析域名时问题肯定出在DNS配置上。Linux系统主要使用两个文件来配置DNS/etc/resolv.conf- 定义DNS服务器地址/etc/sysconfig/network-scripts/ifcfg-ens33- 网卡配置文件名字中的ens33要换成你的实际网卡名我建议先修改网卡配置文件因为某些Linux发行版会在每次重启时覆盖resolv.conf的内容。用你熟悉的编辑器打开网卡配置文件sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33在文件末尾添加或修改这些行DNS18.8.8.8 DNS28.8.4.4保存后再编辑/etc/resolv.confsudo vi /etc/resolv.conf确保内容类似这样nameserver 8.8.8.8 nameserver 8.8.4.43.2 测试DNS解析功能配置完成后不要急着重启网络服务先用这些命令测试一下nslookup www.baidu.com dig www.baidu.com这两个命令都能测试DNS解析是否正常工作。如果看到返回了IP地址说明解析成功了。如果还是不行可能需要检查网络管理器是否覆盖了你的设置或者尝试更换其他DNS服务器比如国内的114.114.114.114。4. 防火墙和SELinux的干扰4.1 临时关闭防火墙测试有时候DNS配置完全正确但就是解析不了域名这很可能是防火墙在捣乱。我遇到过好几次这种情况特别是在CentOS/RHEL系统上。可以先用这些命令临时关闭防火墙测试# 对于firewalld sudo systemctl stop firewalld # 对于iptables sudo systemctl stop iptables如果关闭防火墙后问题解决了说明需要调整防火墙规则而不是完全禁用它。对于DNS查询通常需要放行UDP 53端口sudo firewall-cmd --add-port53/udp --permanent sudo firewall-cmd --reload4.2 处理SELinux的影响SELinux是另一个可能导致网络连接问题的隐藏角色。虽然不推荐完全禁用SELinux它会降低系统安全性但可以暂时设置为宽容模式来测试sudo setenforce 0如果这样能解决问题说明需要调整SELinux策略而不是禁用它。可以使用audit2allow工具来生成新的策略模块。5. 网络服务管理5.1 重启网络服务在修改完所有配置后记得重启网络服务使更改生效。不同版本的CentOS命令有所不同# CentOS 6及以下 sudo service network restart # CentOS 7及以上 sudo systemctl restart NetworkManager有时候简单的服务重启就能解决问题。我有次花了两个小时排查最后发现只是需要重启网络服务而已。5.2 检查网络管理器状态如果你的系统使用NetworkManager管理网络可以用这些命令检查其状态sudo systemctl status NetworkManager nmcli connection show nmcli device statusNetworkManager有时会覆盖手动配置的网络设置特别是在图形界面环境下。如果遇到配置被重置的情况可能需要修改NetworkManager的配置文件或在图形界面中设置。6. 高级排查技巧6.1 使用tcpdump抓包分析当常规方法都失效时我通常会祭出抓包工具tcpdump。这个命令可以捕获DNS查询数据包sudo tcpdump -i ens33 port 53 -vv执行这个命令后在另一个终端尝试ping某个域名。如果能看到DNS查询请求发出但没有收到回复或者请求根本没发出就能更准确地定位问题所在。6.2 检查路由表有时候问题不在DNS而在路由。使用这个命令查看路由表ip route show确保默认路由default via ...指向正确的网关地址。如果路由表有问题可以手动添加路由sudo ip route add default via 192.168.1.1 dev ens337. 虚拟机环境特殊注意事项在VMware或VirtualBox等虚拟机环境中网络问题更加常见。除了检查Linux系统内部的配置还需要注意确保虚拟机网络适配器设置正确NAT或桥接模式主机上的虚拟网络服务是否运行特别是VMware NAT Service虚拟机网络连接是否被主机防火墙阻止我遇到过最棘手的一个案例是主机上的杀毒软件静默阻止了所有虚拟机的网络连接。这种情况只能通过逐一排查主机软件来解决。8. 持久化你的解决方案解决了问题后别忘了确保这些设置在重启后依然有效。特别是防火墙规则要用--permanent参数保存网络接口配置要设置ONBOOTyes重要的路由可以添加到/etc/rc.local中对于生产环境我建议编写自动化脚本来检查和修复常见网络配置问题。这样可以大大减少故障排查时间。

相关文章:

03-Linux网络故障排查:从DNS配置到防火墙设置的全面指南

1. 当Linux告诉你"Name or service not known"时 第一次在Linux终端看到"Name or service not known"这个错误提示时,我正急着要下载一个重要的软件包。那种感觉就像你明明知道朋友家的地址,导航却死活找不到路。这个看似简单的网络…...

Python MCP服务器开发面试必考题全解析:从协议设计到并发压测,97%候选人栽在这3个盲区

第一章:Python MCP服务器开发面试全景概览Python MCP(Model-Controller-Protocol)服务器并非标准框架术语,而是近年来在微服务与协议网关场景中逐渐形成的工程实践模式——强调以协议适配为核心、模型驱动行为、控制器协调生命周期…...

基于深度学习的轴承故障诊断:CNN-LSTM架构演进与核心代码逻辑拆解

基于深度学习的轴承故障诊断:CNN-LSTM架构演进与核心代码逻辑拆解前言 在设备健康管理(PHM)的实战中,面对凯斯西储大学(CWRU)轴承数据集,直接将几十万个采样点的振动信号塞给模型是行不通的。即…...

【稀缺首发】PyTorch 3.0静态图分布式训练性能基线报告(A100×8实测:静态图提速2.7×,通信开销下降63%)

第一章:PyTorch 3.0静态图分布式训练配置概览PyTorch 3.0 引入了原生静态图(Static Graph)支持,通过 torch.compile() 默认后端 inductor 与分布式运行时深度协同,显著提升多卡训练的启动速度与稳定吞吐。静态图模式下…...

CSMS详细学习,CIA网络安全接口协议和CSMS的关系

CSMS详细学习,CIA网络安全接口协议和CSMS的关系 一、CSMS的定义与核心目标 CSMS(Cybersecurity Management System) 是由 UN R155法规 强制要求建立的一套组织级网络安全管理体系。其本质是通过制度化的流程、策略和资源分配,确保…...

ai赋能开发:让快马平台智能生成带数据分析的dht11温湿度监测应用

最近在做一个智能家居相关的项目,需要用到DHT11温湿度传感器。本来以为就是简单读取数据显示一下,但突然想到能不能加点智能分析功能,让数据更有价值。正好发现了InsCode(快马)平台,它的AI辅助开发功能帮我省去了大量编码时间&…...

MySQL数据库(基础语法篇

MySQL数据库(基础语法篇 这份文档详细梳理了MySQL数据库的核心语法体系,涵盖了从基础的数据定义、操纵、查询,到进阶的多表连接、视图、存储过程以及最佳实践。 一、MySQL优势 MySQL作为世界上最流行的开源数据库之一,具有诸多显著特点与优势…...

新手福音:在wsl2中用快马生成你的第一个python命令行工具

最近在学WSL2开发环境搭建,发现对新手最头疼的不是写代码,而是配环境、记命令这些前期准备。好在发现了InsCode(快马)平台,用它生成的Python命令行工具项目特别适合练手,连我这种Linux小白都能半小时跑通全流程。记录下这个超适合…...

Agent可观测性工程:监控、追踪与告警的最佳实践

Agent可观测性工程:监控、追踪与告警的最佳实践 一、 引言 (Introduction) (一)钩子 (The Hook) 你是否有过这种令人抓狂的经历?凌晨三点,手机突然弹出刺耳的告警提示音,内容是“你的金融风控Agent集群延迟飙升至27秒,核心交易拒单率突破5‰阈值!”。你从床上弹起来,…...

Maxwell永磁体磁场仿真:从表面强度到空间分布的全流程解析

1. 永磁体磁场仿真入门指南 第一次接触永磁体磁场仿真时,我也被各种专业术语搞得晕头转向。后来在实际项目中才发现,掌握这项技能对电机设计、传感器开发等工作至关重要。Maxwell作为电磁场仿真领域的标杆软件,能帮助我们直观地看到肉眼看不见…...

HFSS 2023 R1实战:手把手教你从ADS优化到Wilkinson功分器建模(附完整模型文件)

HFSS 2023 R1实战:从ADS优化到Wilkinson功分器三维建模全流程解析 在射频工程领域,将电路仿真结果准确转化为三维电磁场模型是一个关键但常被忽视的环节。许多工程师在ADS中完成了理想的参数优化后,却对如何在HFSS中实现同等性能感到困惑。本…...

QT: 二维码生成与自定义渲染实战

1. 二维码基础与QT开发环境搭建 二维码本质上是用黑白矩形图案表示二进制数据的图形化编码方案。相比传统条形码,它的核心优势在于二维方向上的数据存储能力,以及强大的容错机制。我在实际项目中发现,即使用户拍摄的二维码有部分污损或遮挡&a…...

17步拆解!一张图看懂AIAgent全流程,轻松掌握大模型应用开发核心!

本文通过一张图详细拆解了AIAgent从用户提问到结果返回的17步全流程,深入探讨了提示词、Agent、大模型、MCP和工具等关键要素在智能体架构中的作用。文章揭示了它们如何共同构建从自然语言意图到智能决策、工具执行再到结果反馈的完整闭环,为开发者提供了…...

4道高频面试题,吃透时间复杂度(递归_堆_贪心_快排)

4道高频面试题,吃透时间复杂度(递归/堆/贪心/快排) 前言:时间复杂度是算法面试的“必考题”,也是区分初级与中级开发者的核心考点。很多开发者能写出正确的算法代码,却无法清晰、严谨地分析其时间复杂度&am…...

音频算法可视化实战:用Android自定义View绘制专业级EQ/DRC曲线图

音频算法可视化实战:用Android自定义View绘制专业级EQ/DRC曲线图 在音频处理领域,EQ(均衡器)和DRC(动态范围控制)是两大核心算法。对于已经掌握这些算法原理的开发者来说,如何将它们直观地呈现给…...

从MATLAB R2022b升级到R2024a,我的Python脚本为啥跑不起来了?

从MATLAB R2022b升级到R2024a:Python混合编程兼容性危机与系统化解决方案 上周三凌晨两点,当我在服务器上完成MATLAB R2024a的升级部署后,原本稳定运行的数据分析流水线突然崩溃——那些精心编写的Python-MATLAB混合脚本像多米诺骨牌一样接连…...

Coze开发自能体的费用

Coze(扣子)的计费体系在 2026 年进行了全面升级,目前主要分为 国内版 (coze.cn) 和 国际版 (coze.com) 两套独立的定价逻辑。以下是具体的费用构成:1. 国内版 (coze.cn) 计费模式国内版目前采用的是订阅制 资源包的模式&#xff…...

DFS连通域统计:岛屿数量问题及其变形

0.前言 本文我们来学习一下算法题中颇为著名的岛屿数量问题,我将会从问题本身入手,详细分析解题思路,给出完整代码并进行解析,最后简单了解一下几个岛屿问题的变种题目。 1. 问题描述 题目给出一个只含有 0 和 1 矩阵,…...

Coze 智能体开发标准流程

在 Coze(扣子)平台上开发 AI 智能体(Agent)的流程可以概括为 “创建 - 编排 - 调试 - 发布” 四个核心阶段。无论你是使用国内版 (coze.cn) 还是国际版 (coze.com),其逻辑架构基本一致。1. 创建智能体 (Create)这是项目…...

微服务下的跨域问题

在单体架构时代,跨域问题还不算突出;但进入微服务、前后端分离、多端统一时代,跨域几乎是每个项目必踩的坑。尤其在微服务架构下,网关、认证、分布式部署、多域名并存,让跨域变得更复杂、更隐蔽。本文从浏览器同源策略…...

别再只会写 cron:Crontab MCP Tool 实战与 DMXAPI

如果让我给“适合和大模型结合、但又最容易被低估的基础设施”排个名,Crontab MCP Tool 一定在前列。很多人第一次听到这个名字,会本能地把它理解成“给 cron 包一层壳”,甚至觉得不过是把旧时代的定时任务概念搬到 MCP 生态里重新命名。但我…...

【区间概率预测】PSO-LightGBM-ABKDE多变量时序预测 基于粒子群算法优化轻量级梯度提升机结合自适应带宽核函数密度估计的多变量时序预测

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。👇 关注我领取海量matlab电子书和数学建模资料🍊个人信条:格物致知,完整Matl…...

基于LabVIEW的纯软件信号发生器功能介绍

基于labview的信号发生器 功能介绍:纯软件方面的信号发生器,没有引入NI外部模块,生成的信号只在示波器中显示。 包括高斯白噪声、正弦波、方波、锯齿波、三角波、均匀白噪声、自定义公式,通过枚举按钮选择生成信号类型&#xff0c…...

WindowsCleaner系统优化实战指南:从C盘告急到性能重生

WindowsCleaner系统优化实战指南:从C盘告急到性能重生 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 适用人群自测 请根据你的电脑使用情况选择符合…...

Aitoon arnold渲染器 卡通材质

Edge边,silhouette剪影只有两个跟普通材质不同,其他都跟普通材质一样Stylized highlight风格化高光;specular高光;rim lighting轮廓光transmission透射sheen光泽emission自发光【实例 卡通材质渲染边】打开edge requires contour …...

告别量子调试:手把手教你正确使用QtConcurrent::run和QThreadPool执行类方法

告别量子调试:手把手教你正确使用QtConcurrent::run和QThreadPool执行类方法 在Qt多线程开发中,最令人头疼的莫过于那些"薛定谔式"的Bug——它们在某些环境下稳定运行,换个场景就神秘崩溃。特别是当我们需要将传统单线程业务类改造…...

从Revit/BIM到Cesium:CesiumLab 4.0.7插件全流程打通,属性信息一个不丢

从Revit到Cesium的无损数据迁移:CesiumLab 4.0.7全流程深度解析 1. BIM与三维GIS融合的技术演进 在建筑信息模型(BIM)与地理信息系统(GIS)的交叉领域,数据互操作性一直是行业痛点。传统工作流中&#xff0c…...

效率神器:用快马AI将antigravity彩蛋变为你的趣味开发效率工具

今天想和大家分享一个提升开发效率的小技巧——把Python里经典的antigravity彩蛋变成日常开发的趣味工具。这个想法源于我发现很多开发者(包括我自己)在紧张的工作中容易陷入枯燥的重复劳动,而一些小小的趣味互动其实能有效缓解疲劳&#xff…...

3分钟搞定!B站视频下载神器让你轻松保存大会员4K高清视频 [特殊字符]

3分钟搞定!B站视频下载神器让你轻松保存大会员4K高清视频 🚀 【免费下载链接】bilibili-downloader B站视频下载,支持下载大会员清晰度4K,持续更新中 项目地址: https://gitcode.com/gh_mirrors/bil/bilibili-downloader 还…...

手把手教你用Python实现TOTP动态验证码生成器(附完整代码)

用Python构建TOTP动态验证码生成器的实战指南 1. 为什么需要TOTP动态验证码? 在数字身份安全领域,传统的用户名密码组合已经无法满足现代安全需求。根据Verizon《2023年数据泄露调查报告》,超过80%的黑客攻击利用了弱密码或被盗凭证。这就是为…...