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 join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

Linux云服务器手动配置DNS的方法步骤

《Linux云服务器手动配置DNS的方法步骤》在Linux云服务器上手动配置DNS(域名系统)是确保服务器能够正常解析域名的重要步骤,以下是详细的配置方法,包括系统文件的修改和常见问题的解决方案,需要... 目录1. 为什么需要手动配置 DNS?2. 手动配置 DNS 的方法方法 1:修改 /etc/res

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

linux系统中java的cacerts的优先级详解

《linux系统中java的cacerts的优先级详解》文章讲解了Java信任库(cacerts)的优先级与管理方式,指出JDK自带的cacerts默认优先级更高,系统级cacerts需手动同步或显式... 目录Java 默认使用哪个?如何检查当前使用的信任库?简要了解Java的信任库总结了解 Java 信

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

Ubuntu向多台主机批量传输文件的流程步骤

《Ubuntu向多台主机批量传输文件的流程步骤》:本文主要介绍在Ubuntu中批量传输文件到多台主机的方法,需确保主机互通、用户名密码统一及端口开放,通过安装sshpass工具,准备包含目标主机信... 目录Ubuntu 向多台主机批量传输文件1.安装 sshpass2.准备主机列表文件3.创建一个批处理脚