码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • FIX - 克隆虚拟机NAT模式网络不通、不稳定、vMnet8网络故障、网卡冲突、ssh连接慢


    文章目录

    • 背景
    • 1. 问题现象:
    • 2. 期望:
    • 3. 问题1的处理:
      • 3.1 检查虚拟机是否能ping通网关(即宿主VMnet8的地址),以及虚拟机网关VM8到外网的联通性
      • 3.2 检查虚拟机网关(vMnet8)是否能ping通外网
      • 3.3 检查宿主机虚拟机服务是否开启
      • 3.4 关闭虚拟机防火墙
      • 3.5 重新生成网卡mac地址
      • 3.6 重新生成网卡UUID
        • 方式1
        • 方式2
      • 3.7 重启网卡
      • 如果以上方式做完还不行
    • 4. 问题2-SSH连接慢的处理

    背景

    1. 笔记本系统为win11

    2. 由于笔记本连接的网段总是会变动(工作、家庭私有网段不一致),为了方便连接虚拟机的网络,虚拟机网络的方式设置为NAT模式(虚拟机的网段就不用跟宿主机网段一致,只要通过网关所在的宿主虚拟网卡vm8进行网络转换就行),方便随时随地可以ssh上虚拟机。

    3. 虚拟机集群的其他节点都是由某一个已有节点的某个快照版本进行构建的

    1. 问题现象:

    1. 虚拟机启动后,或者虚拟机网卡重启后能短暂ping通外网,然后就是不可达
    2. xshell远程连接到虚拟机非常慢

    2. 期望:

    1. NAT模式能稳定连接外网
    2. ssh连接能够快速连接

    3. 问题1的处理:

    网上有很多的方案,大致可以从以下进行排查与优化下

    3.1 检查虚拟机是否能ping通网关(即宿主VMnet8的地址),以及虚拟机网关VM8到外网的联通性

    不通的话自行查找NAT配置方案
    确保

    1. 虚拟机能ping通网关 (此步骤不通的话,检查配置改下吧)
    2. 宿主机能pingt通外网

    注意:
    虚拟机的ip与VM8是同一个网段 (他们与宿主机不要设置为同一个网断)

    3.2 检查虚拟机网关(vMnet8)是否能ping通外网

    在宿主机上将源ip设置为虚拟机网关的ip

    ping -S source_ip target_ip [-t]

    在这里插入图片描述

    在能上网的网卡(比如我用的是WLAN),设置允许Vm8网卡网络能连接外网:
    在这里插入图片描述
    注意:点击确定后,此时可能vm8网卡ip会变为192.168.137.1,这个需要你重新设置为原来设置的ip
    PS: 如果是win11系统,网卡共享可能有个小bug,就是共享出去后,共享的能上网,自己的网卡网络上不了网,完全变成了一个网络中转站而自己还不能用,这个是官方系统的bug,如果需要解决需要找到指定的win11某次更新打的补丁(大概是2022年6月份左右的补丁包)删除即可(也可能后续官方就修复了)

    再次check ok

    在这里插入图片描述

    3.3 检查宿主机虚拟机服务是否开启

    大概5个虚拟机服务 确保是开启的
    在这里插入图片描述

    3.4 关闭虚拟机防火墙

    sudo systemctl stop fierwalld
    sudo systemctl disable firewalld.service
    sudo chkconfig iptables stop   --重启后不还原
    
    • 1
    • 2
    • 3

    3.5 重新生成网卡mac地址

    前面步骤处理完后,可以停止虚拟机,然后对网卡重新生成MAC地址(只要在这里点下就行,启动后网卡的地址就是生成后的)
    在这里插入图片描述

    3.6 重新生成网卡UUID

    通用唯一标识符(UUID)是一个128位数字,用于标识计算机系统中的信息。

    方式1

    生成UUID:

    # uuidgen
    
    • 1

    让后可以手动将生成的uuid替换到网卡配置文件里的uuid
    在这里插入图片描述
    手动修改这里
    在这里插入图片描述

    方式2

    使用uuidgen命令生成新的uuid,然后使用sed命令进行替换:

    sed -i "/UUID/c UUID=$(uuidgen)" /etc/sysconfig/network-scripts/ifcfg-ens33
    
    • 1

    3.7 重启网卡

    service network restart
    或者
    systemctl restart network
    
    • 1
    • 2
    • 3

    重启后check:
    ip route – 查看路由
    ifconfig --查看网卡配置
    nmcli connection show – 查看网卡UUID
    ping 114.114.114.114 – 确保到DNS服务器是通的

    在这里插入图片描述

    如果以上方式做完还不行

    请更换你宿主机的网络为一个稳定的没有限制的网络,很有可能就是宿主机网络的网关服务器(比如公司的路由器有限制)不支持,家庭路由器如果距离远,连接设备多,高峰期也不稳定。

    4. 问题2-SSH连接慢的处理

    由于是NAT模式所以宿主机切换网络比较频繁,导致每次切换后再进行SSH连接会非常慢。
    因为ssh的服务端在连接时会自动检测dns环境是否一致导致的
    这个检测可以直接关了,没影响。

    修改/etc/ssh/sshd_config,将UseDNS设置为no即可。

  • 相关阅读:
    嵌入式设备视频编码比较:H.264、H.265、MPEG-2和MJPG
    SHA-256 简介及 C# 和 js 实现【加密知多少系列】
    全志A40i PRREMPT-RT Linux平台搭建IgH环境
    [oeasy]python0014_二进制_binary_bin
    vtkImageViewer2 解析
    计算机毕业设计选什么题目好?springboot 医院门诊在线预约挂号系统
    ES全文检索支持繁简和IK分词检索
    Andorid11系统自带Dialer不是默认应用
    《Vite 基础知识》Vite 不支持 require 解决方案(三种情况/require is not defined)
    VUE3+Cesium+Three项目源码
  • 原文地址:https://blog.csdn.net/qq_31557939/article/details/126321841
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号