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

校园网拨号上网环境下多开虚拟机,实现宿主机与虚拟机互通,并访问外部网络

校园网某些登录客户端只允许同一时间一台设备登录,因此必须使用NAT模式共享宿主机的真实IP,相当于访问外网时只使用宿主机IP,此方式通过虚拟网卡与物理网卡之间的数据转发实现访问外网及互通

经验证,将centos的物理地址与主机物理地址配置相同地址,并关闭两者的随机分配mac地址,但kali不能配置与centos和宿主机相同mac地址,否则无法开启kali的网络管理器

虚拟机内部配置文件的设置:

虚拟机配置与宿主机不同网段的IP,虚拟机之间配置相同网段IP,虚拟机首选DNS服务器与网关相同且最后一位均为2,Ps:部分虚拟机在此环境下只能设置一个DNS解析地址。

子网掩码根据所配置的ip来设置,更改配置文件中的参数,设置为静态IP---

  1. 关闭自动DHCP
  2. 打开开机启动

物理机启用DHCP服务、自动DNS服务,网络适配器中启用共享网络服务,共享对象为VMnet8的虚拟网卡

NAT 模式下使用本机校园网

具体步骤如下:

  1. 将虚拟机的网络适配器改为 NAT 模式
  2. 通过 VMWare 工作台打开 虚拟网络编辑器,获取 VMnet8 的信息
  3. 打开本机的网络连接控制面板,对 VMware Network Adapter VMnet8 的 Ipv4 进行修改
  4. 将本机连接外部网络的网络设备对其共享
  5. 配置虚拟机网络设置文件(配置文件/GUNME界面)
  6. 验证虚拟机可以上网
  7. 成功后就可以连接Xshell等工具啦,网络环境变化也可正常使用

电脑上网路线的变化导致的虚拟机上网问题

对于一般的非笔记本电脑来说,之前的方法能够解决大部分的 NAT 模式下的上网问题,但是对于笔记本电脑来说,长时间使用同一个网络的可能性并不大,也就是说,当我们更换网络连接后,还想使用虚拟机上网时,那么,我们就需要更改共享网络以及重启虚拟机。

  1. 本机打开适配器选项,将更改后正在使用的网络设置为共享
  2. 重启虚拟机

kali部分网络配置命令:

虚拟机 net切换桥接或者桥接切换net等等切换网络的时候总是要很久才能有网

解决办法:主动获取IP

dhclient -r eth0 断开网络

dhclinet -v 重新获取IP地址

然后 ip a查看ip地址

vim  /etc/network/interfaces

vim /etc/resolv.conf

 systemctl restart networking

 或者

 service networking restart

kali网络网络管理器失效:

法一:启用NetworkManager

systemctl enable --now NetworkManager

法二:exited with error code

临时关闭

systemctl stop NetworkManager

永久关闭

systemctl disable NetworkManager

重启

systemctl restart network

或者

service networking restart   

    

VMware三种连接方式详解:

桥连接模式:

将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。此模式下的虚拟机和自己的依赖主机共同处在同一个网段下,意思就是如果主机的IP是192.168.100.xxx,那么虚拟机中的IP地址也将会是192.168.100.xxx,如果需要联网,则网关与DNS需要与主机网卡一致。虚拟机也会占用局域网中的一个IP地址,并且可以和主机同网段的其他真实终端进行相互访问。

NAT模式:

VMware会在主机上建立单独的专用网络,用以在主机和虚拟机之间相互通信。虚拟机向外部网络发送的请求数据”包裹”,都会交由NAT网络适配器加上”特殊标记”并以主机的名义转发出去,外部网络返回的响应数据”包裹”,也是先由主机接收,然后交由NAT网络适配器根据”特殊标记”进行识别并转发给对应的虚拟机,因此,虚拟机在外部网络中不必具有自己的IP地址。从外部网络来看,虚拟机和主机在共享一个IP地址(因此,只要主机可以访问Internet虚拟机就可以访问Internet),默认情况下,外部网络终端也无法访问到虚拟机。此外,在一台主机上只允许有一个NAT模式的虚拟网络。因此,同一台主机上的多个采用NAT模式网络连接的虚拟机也是可以相互访问的,但因为NET模式下的虚拟机不具有真实IP,所以无法和主机同网段的其他真实终端进行相互访问。

Host-Only模式:

一种比NAT模式更加封闭的的网络连接模式,它将创建完全包含在主机中的专用网络。仅主机模式的虚拟网络适配器仅对主机可见,并在虚拟机和主机系统之间提供网络连接。相对于NAT模式而言,仅主机模式不具备NAT功能,因此在默认情况下,使用仅主机模式网络连接的虚拟机无法连接到Internet(在主机上安装合适的路由或代理软件,或者在Windows系统的主机上使用Internet连接共享功能,仍然可以让虚拟机连接到Internet或其他网络)。在同一台主机上可以创建多个仅主机模式的虚拟网络,如果多个虚拟机处于同一个仅主机模式网络中,那么它们之间是可以相互通信的;如果它们处于不同的仅主机模式网络,则默认情况下无法进行相互通信(可通过在它们之间设置路由器来实现相互通信

可看可不看:

Lo网络配置文件详解:

在centos中,lo是loopback的简写,是环回接口的意思;环回接口的作用是作为本地软件环回测试本主机进程之间的通信,检测本机的网络配置、提供某些应用程序在运行时需调用服务器上的资源,并且lo的ip只能是“127.0.0.1”。

lo是环回接口(loopback)。virbr是虚拟网桥(Virtual Bridge),virbr0是虚拟网桥网卡。一般centos6.5版本前普遍默认的网卡是eth0,centos7版本后普遍默认的网卡是ensxx(xx为数字)。当然也有已经修改过的网卡名称。环回接口的作用是作为本地软件环回测试本主机的进程之间的通信之用,简单理解,就是用做本机测试的,而且它的inet,也就是ip,只能是127.0.0.1。

例如我的是centos7版本 默认网卡名称就是ens33,而centos6.5版本,默认网卡名称为eth0。

在虚拟机中,有些网卡名称是eth1或eth2,说明这个虚拟影像是被复制的,由于在物理机中的网卡eth0自动识别了物理机的MAC地址,在虚拟机中运行网卡名称就会自动变成eth1,如果复制这个虚拟影像在另一台电脑上运行,则网卡名称会变成eth2。但也可以修改ifcfg-eth0配置文件,绑定MAC地址,删除/etc/udev/rules.d/70-persistent-net.rules配置文件,重启生效。

lo主要作用有两个:

一是测试本机的网络配置,能PING通127.0.0.1说明本机的网卡和IP协议安装都没有问题;

另一个作用是某些SERVER/CLIENT的应用程序在运行时需调用服务器上的资源

VMware虚拟网络编辑器配置:

部分网络适配器设置:

物理机与虚拟机部分配置信息

宿主机:powershell环境 ipconfig -all:

 物理地址. . . . . . . . . . . . . : **********

   DHCP 已启用 . . . . . . . . . . . : 是

   自动配置已启用. . . . . . . . . . : 是

   本地链接 IPv6 地址. . . . . . . . : ************(首选)

   IPv4 地址 . . . . . . . . . . . . : ***********(首选)

   子网掩码  . . . . . . . . . . . . : 255.255.248.0

   获得租约的时间  . . . . . . . . . : 2024年5月2日 17:18:10

   租约过期的时间  . . . . . . . . . : 2024年5月2日 19:18:10

   默认网关. . . . . . . . . . . . . : 10.0.56.1

   DHCP 服务器 . . . . . . . . . . . : 192.168.1.18

   DHCPv6 IAID . . . . . . . . . . . : 58989431

   DHCPv6 客户端 DUID  . . . . . . . : 00-01-00-01-2D-BE-5D-50-AA-FB-A3-05-F6-02

   DNS 服务器  . . . . . . . . . . . : 219.147.1.66

                            219.147.1.66

   TCPIP 上的 NetBIOS  . . . . . . . : 已启用

centos

mac地址:*********    -- VMware kali外部虚拟机设置中

mac地址:*********(ens33)   --Centos内部虚拟机有线设置中

DEVICE=ens33

#ONBOOT=no

ONBOOT=yes

BOOTPROTO=static

#BOOTPROTO=dhcp

IPADDR=192.168.52.100

NETMASK=255.255.255.0

GATEWAY=192.168.52.2

DNS1=192.168.52.2

DNS2=114.114.114.114

DNS3=8.8.8.8

PROXY_METHOD=none

BROWSER_ONLY=no

PREFIX=24

IPV4_FAILURE_FATAL=no

IPV6INIT=yes

UUID=c96bc909-188e-ec64-3a96-6a90982b08ad

IPV6_AUTOCONF=yes

IPV6_DEFROUTE=yes

IPV6_FAILURE_FATAL=no

IPV6_ADDR_GEN_MODE=stable-privacy

PEERROUTES=no

HWADDR=00:0C:29:E3:1D:BC

DNS2=114.114.114.114

DNS3=8.8.8.8

kali linux

mac地址:00:50:56:25:0C:9C         --VMware kali外部虚拟机设置中

设备D:eth0 (12:0D:05:0A:C0:58)       --kali 内部高级网络设置中

source /etc/network/interfaces.d/*

auto lo

iface lo inet loopback

auto eth0

iface eth0 inet static

address 192.168.52.60

netmask 255.255.255.0

gateway 192.168.52.2

domain

nameserver 192.168.52.2

search localdomain

相关文章:

校园网拨号上网环境下多开虚拟机,实现宿主机与虚拟机互通,并访问外部网络

校园网某些登录客户端只允许同一时间一台设备登录,因此必须使用NAT模式共享宿主机的真实IP,相当于访问外网时只使用宿主机IP,此方式通过虚拟网卡与物理网卡之间的数据转发实现访问外网及互通 经验证,将centos的物理地址与主机物理…...

cpu常用命令

1.平台信息 # 读节点 adb shell "cat proc/cpuinfo" # 读属性 adb shell getprop ro.hardware 2.负载信息 # 负载信息 adb shell dumpsys cpuinfo 3.原生定频 # 频率档位 adb shell "cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_available_frequencies&q…...

Vue3实战笔记(06)--- Axios 基本用法

文章目录 前言一、发送get请求二、发送post请求三、另一种写法总结 前言 今天学习Vue官方推荐的请求工具Axios ,Axios 是一个基于 promise 的 HTTP 库,可用于浏览器和 node.js 中。它简洁、易用且功能强大,支持多种请求类型(GET、…...

使用单片机在图形点阵LCD上绘制波形图

使用单片机在图形点阵LCD上绘制波形图 需求: 假如有一组浮点数据,是通过AD转换得到的,保存在数组MyArray[]中,采集点数为len,采集周期为T,现在想用单片机在LCD上绘制出这组数据对应的波形图,该…...

生信人写程序1. Perl语言模板及配置

生物信息领域常用语言 个人认为:是否能熟悉使用Shell(项目流程搭建)R(数据统计与可视化)Perl/Python/Java…(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准。 生物信息常用语言非常广泛,我常用的有…...

【Android】Kotlin学习之数据容器 -- 集合

一. 定义 List : 是一个有序列表, 可通过下标访问元素. 元素可以在list中出现多次, 元素可重复 Set : 是元素唯一的集合, 一般来说Set中元素的顺序并不重要, 无序集合. Map : 是一组键值对, 键是唯一的, 每个键刚好映射到一个值, 值可以重复 二. 集合创建 三. 示例 mutabl…...

超详细 springboot 整合 Mock 进行单元测试!本文带你搞清楚!

文章目录 一、什么是Mock1、Mock定义2、为什么使用3、常用的Mock技术4、Mokito中文文档5、集成测试和单元测试区别 二、API1、Mockito的API2、ArgumentMatchers参数匹配3、OngoingStubbing返回操作 三、Mockito的使用1、添加Maven依赖2、InjectMocks、Mock使用3、SpringbootTes…...

国产操作系统下Chrome的命令行使用 _ 统信 _ 麒麟

原文链接:国产操作系统下Chrome的命令行使用 | 统信 | 麒麟 Hello,大家好啊!今天我们来聊聊如何在国产操作系统上使用命令行操作Google Chrome。无论是进行自动化测试、网页截图还是网页数据抓取,使用命令行操作Google Chrome都能…...

linux性能监控之slabtop

slabtop命令是以实时的方式显示内核slab缓冲区的细节信息&#xff0c;是linux自带的命令 [rootk8s-master ~]# slabtop --helpUsage:slabtop [options]Options:-d, --delay <secs> delay updates-o, --once only display once, then exit-s, --sort <char&…...

Allure 在 Python 中的安装与使用

Allure 是一个灵活轻量级的测试报告工具&#xff0c;它能够生成详细且富有洞察力的测试报告。在 Python 中&#xff0c;Allure 通常与 Pytest 结合使用&#xff0c;以提供更加丰富的测试结果展示。下面我将介绍关于如何在 Python 中使用 Allure 的详细操作。 一、环境准备 在…...

python实现动态时钟功能

欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 一.前言 时钟,也被称为钟表,是一种用于测量、记录时间的仪器。时钟通常由时针、分针、秒针等计时仪器组成,是现代社会不可或缺的一种计时工具。它的发明和使用极大地改变了人类的生活方式和时间观念。 时钟的类型有很多,…...

QueryPerformanceCounter实现高精度uS(微妙)延时

参考连接 C# 利用Kernel32的QueryPerformanceCounter封装的 高精度定时器Timer_kernel32.dll queryperformancecounter-CSDN博客https://blog.csdn.net/wuyuander/article/details/111831973 特此记录 anlog 2024年5月11日...

Logstash详解

Logstash详解&#xff1a;构建强大日志收集与处理管道的利器 一、引言 在大数据和云计算的时代&#xff0c;日志数据作为企业运营和故障排查的重要依据&#xff0c;其收集、处理和分析能力显得尤为重要。Logstash&#xff0c;作为一款强大的日志收集、处理和转发工具&#xf…...

QT设计模式:适配器模式

基本概念 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;允许将一个类的接口转换成客户端所期望的另一个接口&#xff0c;可以让原本由于接口不兼容而不能一起工作的类能够一起工作。 适配器模式需要实现的部分为&#xff1a; Target类…...

开发规范相关

1.对IDEA集成的代码检查 或 AliBaBa的代码检查 定义的规则进行取消或新增 代码自动扫描检查对于代码规范来说至关重要,但有时,我们希望忽略掉某些不必要的检查,比如忽略掉这个检查 可以如下操作 此时即可不再提示告警...

C++ 容器(五)——Set操作

一、Set容器定义 set 是一个有序关联容器,其中的元素按照升序排列,且不允许重复元素。 set 中的元素是唯一的,即任意两个元素不能相等。 1、set 可以用来对元素进行排序,因为它会自动对元素进行有序排列。 2、set 可以用来去重,当我们需要对一个容器中的元素进行去重操…...

【数字IC设计】芯片设计中的RDC

RDC问题定义 在芯片设计中,RDC是reset domain crossing 的缩写,类似于CDC(clock domain crossing),由于现在SOC芯片是有很多ECUs组成,为了使整个系统能够快速从复位中恢复, 用户希望SOC里面每个ECU模块都可以有自己独立的异步复位信号,这样可以在出问题的时候只复位有错…...

spark history server异常

现象&#xff1a;spark 日志文件突然新增了很多.hprof文件&#xff0c; 查找日志spark配置参数spark_log_dir进入日志目录&#xff1a; 查看historyServer日志&#xff1a; Spark Command: /usr/lib/jvm/java-1.8.0/bin/java -cp /opt/apps/JINDOSDK/jindosdk-current/lib/*:/…...

一个优秀 Maven 项目,各 Model 间最佳继承设计方案

1.单一职责原则 (Single Responsibility Principle): 每个模块应该专注于执行一个清晰且明确定义的功能&#xff0c;遵循单一职责原则&#xff0c;以降低模块的复杂性。 2.高内聚性 (High Cohesion): 模块内的组件和类应该紧密相关&#xff0c;共同实现模块的目标。高内聚性…...

MATLAB概述

文章目录 目录结构搜索路径高频命令clearclf/closeclc/homewho/whosformatsave/loadcd/pwdhelp/docsprintf/fprintf/disp tips MATLAB [1] 是美国 MathWorks公司出品的商业 数学软件&#xff0c;用于算法开发、数据可视化、数据分析以及 数值计算的高级技术计算语言和交互式…...

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别

一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...