当前位置: 首页 > 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;用于算法开发、数据可视化、数据分析以及 数值计算的高级技术计算语言和交互式…...

Redis5.0的Stream数据结构

Redis 5.0中引入的Stream数据结构是一种新的、持久化的、可查询的、可扩展的消息队列服务。它可以被视为一个日志或消息队列&#xff0c;由一个有序的、不断增长的日志序列来存储事件流数据。以下是关于Redis 5.0 Stream数据结构的详细解释&#xff1a; 一、Stream数据结构概述…...

避坑指南!RK3588香橙派yolov5生成RKNN模型!

地址1&#xff0c;转换模型 地址2&#xff0c;转换模型 地址3&#xff0c;解决ppa 下载k2 本文目录 一、将.pt模型转为onnx模型文件。&#xff08;Windows&#xff09;二、将.onnx模型转为.rknn模型文件。&#xff08;Linux&#xff09;三、将.rknn模型部署到开发板RK3588中…...

算法学习笔记(Nim游戏)

N i m Nim Nim游戏 n n n堆物品&#xff0c;每堆有 a i a_i ai​个&#xff0c;每个玩家轮流取走任意一堆的任意个物品&#xff0c;但不能不取&#xff0c;取走最后一个物品的人获胜。 N i m Nim Nim游戏是一种经典的公平组合游戏。现在对它进行分析。 首先定义两个博弈中的状…...

第13节 第二种shellcode编写实战(2)

在第二种shellcode编写实战(1)的基础上&#xff0c;新增加一个CAPI类&#xff0c;将所有用到的函数都在这个类中做动态调用的处理&#xff0c;这样使得整个shellcode功能结构更加清晰。 1. 新建类CAPI&#xff08;即api.h和api.cpp两个文件&#xff09;&#xff1a; api.h&…...

【QuikGraph】C#调用第三方库实现迪杰斯特拉(Dijkstra)算法功能

QuikGraph库介绍 项目地址&#xff1a;https://github.com/KeRNeLith/QuikGraph QuikGraph为.NET提供了通用的有向/无向图数据结构和算法。 QuikGraph提供了深度优先搜索、广度优先搜索、A*搜索、最短路径、k最短路径&#xff0c;最大流量、最小生成树等算法。 QuikGraph最初…...

查看ubuntu当前路径的剩余存储空间

要查看Ubuntu当前路径所在磁盘分区的剩余存储空间&#xff0c;应该使用df命令&#xff0c;而不是du命令&#xff0c;因为df命令能显示磁盘分区的使用情况&#xff0c;包括总容量、已用空间和可用空间。为了使输出更易于阅读&#xff0c;可以加上-h选项。如果你还想知道特定挂载…...

利用预训练模型和迁移学习打造智能狗门

引言 在深度学习的世界里&#xff0c;预训练模型和迁移学习是两个强大的概念&#xff0c;它们允许我们利用已有的模型和知识来解决新的问题。在本博客中&#xff0c;我们将探索如何使用预训练的模型来创建一个智能狗门&#xff0c;这个系统将能够识别狗并允许它们进入&#xf…...

常用Linux命令详细总结

一、文档编辑、过滤、查看命令 1、cp 复制文件和目录 -a 复制文件并保持文件属性 -d 若源文件为链接文件&#xff0c;则复制链接文件属性而非文件本身 -i 覆盖文件前提示&#xff0c;如果不要提示&#xff0c;在命令前加上\ -r 递归复制&#xff0c;通常用于目录的复制 …...

基于SpringBoot的竹宣非遗宣传网站

摘要 随着互联网的普及和数字化时代的到来&#xff0c;竹编等非物质文化遗产的保护与传承面临新的机遇和挑战。该研究旨在使用SpringBoot后端框架与Vue前端框架&#xff0c;构建一个竹编非遗宣传网站&#xff0c;通过丰富的展示形式和交互体验&#xff0c;提升公众对竹编这一非…...

怎么清理服务器的C盘?

有时候我们经常会遇到C盘被占满的情况&#xff0c;C盘被占满的原因有很多&#xff0c;下面我们就来分析下有可能导致C盘占满的原因&#xff1a; 第一种情况&#xff1a;中毒 打开服务器任务管理器选择进程&#xff0c;并且勾选显示所有用户的进程&#xff0c;我们可以点击映像…...