linux下主机网络不通,如何进行排查?

2024-08-21 07:44

本文主要是介绍linux下主机网络不通,如何进行排查?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1. 描述

不管是虚拟机还是物理机也好,这个排查思路希望都能给大家在网络问题排查上提供帮助,这也只代表我个人的解决问题的思路,网络问题错综复杂,希望这个解决思路能让大家举一反三,解决工作上的一些问题。不足之处请大家指正。

1.1 步骤一:检查主机网络配置

  • 首先,我们需要检查虚拟机的网络配置是否正确。确保虚拟机的IP地址、子网掩码、网关等信息都设置正确。可以通过以下命令查看虚拟机的网络配置信息:
[root@node-1 ~]# ip add
1: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000link/ether 00:0c:29:74:a2:d2 brd ff:ff:ff:ff:ff:ffinet 192.168.31.250/24 brd 192.168.31.255 scope global noprefixroute dynamic ens33valid_lft 152435sec preferred_lft 152435secinet6 fe80::20c:29ff:fe74:a2d2/64 scope link valid_lft forever preferred_lft forever

1.2 步骤二:检查主机路由配置

  • 单网卡情况下,我们要检查一下网关正不正确
  • 多网卡情况下,我们要检查网关、默认路由或者静态路由的配置正不正确
[root@node-1 ~]# ip route
default via 192.168.31.1 dev ens33 proto dhcp metric 100 
192.168.31.0/24 dev ens33 proto kernel scope link src 192.168.31.250 metric 100

1.3 步骤三:检查主机防火墙及iptables规则

centos防火墙默认是开启的,我们可以对防火墙进行关闭systemctl stop firewalld;systemctl disabled firewalld

如果主机内的iptables配置限制规则,也需要做放通配置。如保存规则后进行清空,iptables-save > iptables-rule.txt;iptables -F

# 查看状态
$ systemctl status firewalld
# 查看规则定义
$ iptables -L -n -v

1.4 步骤四:检查云平台安全组规则

如果是openstack云主机,我们需要检查OpenStack的安全组规则是否有限制虚拟机与网关之间的通信,如icmp或者ssh及rdp是否被规则限制。

如果是open stack虚拟机要检查平台安全组的规则,可以通过以下命令查看安全组规则;也可以在云平台管理界面查看虚拟机所属安全组规则。

openstack security group rule list $security-group-id

1.5 步骤五:检查云平台服务

如果是openstack云主机,我们需要检查OpenStack的neutron-agent服务是否正常运行;检查openvswitch服务是否正常运行;如果虚拟机还用了浮动IP,还需要进一步排查虚拟机到网络节点的数据包路径,这里不再细说浮动IP场景。

  • 检查neutron-agent服务:该服务异常最好解决办法是到所在计算节点的neutron-agent 日志进行分析,这里就不在扩展了。
  • 检查openvswitch服务:要查看该服务是否正常运行,检查openvswitch相应的流表,这里也不在扩展,通常这块也很少出现问题。

1.6 步骤六 检查云平台内部网络流量路径

如果是openstack云主机,我们要检查一下虚拟机数据包流入或者流出的数据包是否已经正常流入或者流出物理计算节点,通过tcpdump抓包检查数据包是否都已经流出或流入计算节点了。

# 网络设备可以是物理接口和Linux网桥
$ tcpdump -i ens33 -nne icmp and host 192.168.31.143listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
16:01:03.338546 a4:83:e7:81:0c:1d > 00:0c:29:74:a2:d2, ethertype IPv4 (0x0800), length 98: 192.168.31.143 > 192.168.31.250: ICMP echo request, id 28678, seq 0, length 64

1.7 步骤七 以上没问题要协调网络工程师一起查看

  • 与网工确认接入交换机有没有配置变更或者升级
  • 与网工确认接入接入交换机端口vlan配置情况,看是否有漏配vlan的情况

对于一个运维的老司机来讲,遇到问题首先是要自己“看日志!”有过一定运维经验的同学都明白一个道理:“同样的故障现象,原因可能是五花八门的”。老司机不会妄下断论,他们会考虑故障发生之前环境的变动情况,如做了什么变更操作没有,操作前执行了什么动作,做了什么修改等,然后再去获取日志去分析和解决问题

这篇关于linux下主机网络不通,如何进行排查?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092550

相关文章

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Debian 13升级后网络转发等功能异常怎么办? 并非错误而是管理机制变更

《Debian13升级后网络转发等功能异常怎么办?并非错误而是管理机制变更》很多朋友反馈,更新到Debian13后网络转发等功能异常,这并非BUG而是Debian13Trixie调整... 日前 Debian 13 Trixie 发布后已经有众多网友升级到新版本,只不过升级后发现某些功能存在异常,例如网络转

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Nginx中配置使用非默认80端口进行服务的完整指南

《Nginx中配置使用非默认80端口进行服务的完整指南》在实际生产环境中,我们经常需要将Nginx配置在其他端口上运行,本文将详细介绍如何在Nginx中配置使用非默认端口进行服务,希望对大家有所帮助... 目录一、为什么需要使用非默认端口二、配置Nginx使用非默认端口的基本方法2.1 修改listen指令

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

MySQL按时间维度对亿级数据表进行平滑分表

《MySQL按时间维度对亿级数据表进行平滑分表》本文将以一个真实的4亿数据表分表案例为基础,详细介绍如何在不影响线上业务的情况下,完成按时间维度分表的完整过程,感兴趣的小伙伴可以了解一下... 目录引言一、为什么我们需要分表1.1 单表数据量过大的问题1.2 分表方案选型二、分表前的准备工作2.1 数据评估