[转帖]方神: 银河麒麟V10SP1桥接配置网卡总结

银河,麒麟,v10sp1,桥接,配置,网卡,总结 · 浏览次数 : 0

小编点评

## 故障分析记录 **问题:** 虚拟机无法与宿主机通信,无法访问外网。 **分析步骤:** 1. **故障分析:** 通过 nmcli 配置桥接网卡,发现虚拟机无法 ping通宿主机。 2. **路由分析:** 通过arp -an? 和 ping -I 的测试结果发现,虚拟机对应条目为“incomplete”,且对应网卡为业务网卡ens2f0,而不是规划中的桥接网卡br0。 3. **结论:** 由于操作系统默认开启的反向路由检查,导致此类问题。 4. **解决方案:** 通过调整网卡规划,使用1个网卡进行业务通信并再次网卡上使用桥接网络。 **其他补充:** * 通过修改nmcli配置,可以使用1个网卡进行双网卡连接。 * 本次故障可能是 due to the reverse path filtering disabled 的影响。

正文

简介

公司计划再XC服务器上做业务软件的兼容测试,为了满足需要,想利用操作系统自带的KVM虚拟化做些虚拟机。再配置过程中发现虚拟机无法与宿主机通信,无法访问外网。以下对该问题做些简要的故障分析记录。

环境说明

服务器:

飞腾S2500*2 128Core  1T内存

操作系统:

#版本
Kylin Linux Advanced Server release V10 (Sword)
#内核
Linux localhost.localdomain 4.19.90-24.4.v2101.ky10.aarch64 #1 SMP Mon May 24 14:45:37 CST 2021 aarch64 aarch64 aarch64 GNU/Linux

网络服务:

NetworkManager.service

网卡规划:

ens2f0: 业务网络1,目的对外访问
ens2f2: 业务网络2,桥接网络对应网卡

桥接配置

由于Kylin V10采用的是NetworkManager来管理网络,以下记录了通过nmcli配置桥接网卡过程:

# nmcli connection add type bridge con-name br0 ifname br0
# nmcli connection modify ens2f2 master br0
# nmcli connection modify br0 ipv4.addresses '10.110.136.42/22'
# nmcli connection modify br0 ipv4.gateway '10.110.139.254'
# nmcli connection modify bridge0 ipv4.dns '114.114.114.114'
# nmcli connection modify br0 ipv4.method manual
# nmcli connection show
# nmcli connection up br0
# brctl show
# ip link show master br0

注意:配置过程ens2f2所在网络会断网

故障描述

虚拟机采用桥接网卡时发现以下问题:

  • vm无法ping通宿主机
  • vm无法ping通网关
  • vm无法ping通DNS

虚拟机采用NAT网卡时:

  • vm可以ping通宿主机
  • vm可以上网

故障分析

vm层面

对比其他正常x86服务器上的vm配置,调整至相同。问题依旧,暂时不排除。

桥接网卡重建

对桥接网卡采用NM管理方式,配置文件等方式多次进行重建。问题依旧。

重点参考文档:

https://blog.csdn.net/qq_28903377/article/details/121035000

https://guo-sj.github.io/kvm/2022/04/28/qemu-kvm-installation.html

分析路由

宿主机路由情况如下:

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.110.139.254  0.0.0.0         UG    100    0        0 ens2f0
0.0.0.0         10.110.139.254  0.0.0.0         UG    425    0        0 br0
10.110.136.0    0.0.0.0         255.255.252.0   U     100    0        0 ens2f0
10.110.136.0    0.0.0.0         255.255.252.0   U     425    0        0 br0
192.168.101.0   0.0.0.0         255.255.255.0   U     102    0        0 ens2f3
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0		

分析arp

通过分析宿主机arp,发现vm对应条目为“incomplete”,且对应网卡为 业务网卡ens2f0,而不是规划中的桥接网卡br0,示例如下:

# arp -an
? (10.110.136.47) at <incomplete> on ens2f0
? (10.110.136.48) at <incomplete> on ens2f0

网络连通排查

测试网卡与网关的通信情况

# ping -I ens2f0 10.110.139.254 -c 3
# ping -I br0 10.110.139.254 -c 3

测试结果是:业务网卡ens2f0可以ping通网关;桥接网卡br0无法ping通网关

故障解决

对多网卡情况,OS有如下描述:

It is not recommended to have two interfaces in the same subnet, as both interfaces cannot use the default gateway.
In the above scenario,the default gateway can only be assigned to one interface at a time, preference is usually assigned to the lower numbered interface.
This is due to the default behavior of ARP in Linux. When a request is made externally by someone pinging the host on the secondary IP, the gateway will ARP and subsequently ask what interface holds the IP it is requesting. 

因此最佳解决方案为:变更规划,使用1个网卡进行业务通信并再次网卡上使用桥接网络。经过测试验证,故障解决。

总结

简单小结下:

  • 本次故障核心是操作系统在多同网段IP情况下,操作系统默认开启的反向路由检查引起此类问题。
  • 由于前期有使用规划情况配置成功的案例(该服务器再配置数据库时关闭了反向路由检查),导致分析期间一直没抓住重点。
    echo 2 > /proc/sys/net/ipv4/conf/all/rp_filter
    echo 2 > /proc/sys/net/ipv4/conf/br0/rp_filter
  • 机房服务器有必要开启IPMI
    • 分析问题期间由于误操作导致服务器无法联网,只能辛苦同事去机房
    • 配置桥接网络期间,桥接网络对应网卡会有网络中断情况。
  • 对网络故障的分析还处于基础阶段,还得加强个人综合能力提升

与[转帖]方神: 银河麒麟V10SP1桥接配置网卡总结相似的内容:

[转帖]方神: 银河麒麟V10SP1桥接配置网卡总结

简介 公司计划再XC服务器上做业务软件的兼容测试,为了满足需要,想利用操作系统自带的KVM虚拟化做些虚拟机。再配置过程中发现虚拟机无法与宿主机通信,无法访问外网。以下对该问题做些简要的故障分析记录。 环境说明 服务器: 飞腾S2500*2 128Core 1T内存 操作系统: #版本 Kylin L

[转帖]国产服务器CPU行业104页深度研究报告

https://baijiahao.baidu.com/s?id=1728503633052299683&wfr=spider&for=pc (报告出品方/作者:西南证券,王湘杰、叶泽佑、邓文鑫) 一、服务器及CPU综述 1.1 服务器——信息化时代的基石产品 服务器的定义 服务器是一种高性能计算机

[转帖] 一次SSL握手异常,我发现JDK还有发行版区别

https://www.cnblogs.com/codelogs/p/16633704.html 简介# 最近,我们一个多机房部署的服务,调用方反馈有问题,在调用新加坡机房时正常,而调用印度机房则报SSL握手异常。 排查花了一些时间,同时也积累了一些经验,故记录一下,读完本文,你将了解到如下内容:

[转帖]单字节字符串、宽字符串和多字节字符串

调查报告:了解单字节字符串、宽字符串 和多字节字符串等C/C++语言字符串表示方 法,总结其原理、存储、操作、应用等特 征,并编制报告。 单字节字符串(Single-Byte): 原理:每个字符用一个字节表示。这就决定了单字节字符集不可能包含256个以上 的字符。单字节字符包含拉丁文字母表,重音字符

[转帖]redis-监控和告警

转载于 https://zhuoroger.github.io/2016/08/20/redis-monitor-and-alarm/?&utm_source=tuicool&utm_medium=referral 可以去他的博客看一下,真的写的很好对于任何应用服务和组件,都需要一套完善可靠谱监控方

[转帖]SpringBoot之RedisTemplate操作redis出现\xAC\xED\x00\x05t\x00\x08乱码问题

http://qclog.cn/1118 在SpringBoot中使用RedisTemplate操作redis时,会出现\xAC\xED\x00\x05t\x00\x08这种乱码问题,特别是在使用中文时。原因是因为RedisTemplate中key和value的序列化方式都默认使用了jdk的序列化方

[转帖]《服务器应用场景性能测试方法 虚拟化》解读

《服务器应用场景性能测试方法 虚拟化》解读 https://aijishu.com/a/1060000000343436 今天为大家带来《服务器应用场景性能测试方法 虚拟化》的详细解读。 《服务器应用场景性能测试方_虚拟化》起草单位包括中国电子技术标准化研究院、云宏信息科技股份有限公司、飞腾信息技术

[转帖]【JVM】线程安全与锁优化

线程安全 1.定义 当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果 2.分类 (1)不可变 不可变的对象一定是线程安全的,只要一个不可变对象被正确地构建出来(没有发生thi

[转帖]Springboot配置https访问

https://www.cnblogs.com/feifuzeng/p/14709372.html 介绍 该篇博文主要介绍如何配置Springboot使其打包部署的服务必须通过HTTPS协议才可访问,仅供内部研究使用。 生成https证书 要使用https,首先需要ssl证书,获取SSL证书有两种方

[转帖]rsync参数详解

最近经常需要传送文件,学习到rsync这个非常好用的工具。rsync的传输方不像是scp复制粘贴,而是是创建一个镜像,所以在传输效率上比scp命令要快很多,缺点就是对文件的属性如权限、用户、组、时间戳等会忽略,但是加上相关参数就可以很好的使用。在scp传输的过程/mnt和/mnt/在传输之后都会存在