校园网拨号上网环境下多开虚拟机,实现宿主机与虚拟机互通,并访问外部网络
校园网某些登录客户端只允许同一时间一台设备登录,因此必须使用NAT模式共享宿主机的真实IP,相当于访问外网时只使用宿主机IP,此方式通过虚拟网卡与物理网卡之间的数据转发实现访问外网及互通
经验证,将centos的物理地址与主机物理地址配置相同地址,并关闭两者的随机分配mac地址,但kali不能配置与centos和宿主机相同mac地址,否则无法开启kali的网络管理器
虚拟机内部配置文件的设置:
虚拟机配置与宿主机不同网段的IP,虚拟机之间配置相同网段IP,虚拟机首选DNS服务器与网关相同且最后一位均为2,Ps:部分虚拟机在此环境下只能设置一个DNS解析地址。
子网掩码根据所配置的ip来设置,更改配置文件中的参数,设置为静态IP---
- 关闭自动DHCP
- 打开开机启动
物理机启用DHCP服务、自动DNS服务,网络适配器中启用共享网络服务,共享对象为VMnet8的虚拟网卡
NAT 模式下使用本机校园网
具体步骤如下:
- 将虚拟机的网络适配器改为 NAT 模式
- 通过 VMWare 工作台打开 虚拟网络编辑器,获取 VMnet8 的信息
- 打开本机的网络连接控制面板,对 VMware Network Adapter VMnet8 的 Ipv4 进行修改
- 将本机连接外部网络的网络设备对其共享
- 配置虚拟机网络设置文件(配置文件/GUNME界面)
- 验证虚拟机可以上网
- 成功后就可以连接Xshell等工具啦,网络环境变化也可正常使用
电脑上网路线的变化导致的虚拟机上网问题
对于一般的非笔记本电脑来说,之前的方法能够解决大部分的 NAT 模式下的上网问题,但是对于笔记本电脑来说,长时间使用同一个网络的可能性并不大,也就是说,当我们更换网络连接后,还想使用虚拟机上网时,那么,我们就需要更改共享网络以及重启虚拟机。
- 本机打开适配器选项,将更改后正在使用的网络设置为共享
- 重启虚拟机
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缓冲区的细节信息,是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 是一个灵活轻量级的测试报告工具,它能够生成详细且富有洞察力的测试报告。在 Python 中,Allure 通常与 Pytest 结合使用,以提供更加丰富的测试结果展示。下面我将介绍关于如何在 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详解:构建强大日志收集与处理管道的利器 一、引言 在大数据和云计算的时代,日志数据作为企业运营和故障排查的重要依据,其收集、处理和分析能力显得尤为重要。Logstash,作为一款强大的日志收集、处理和转发工具…...
QT设计模式:适配器模式
基本概念 适配器模式(Adapter Pattern)是一种结构型设计模式,允许将一个类的接口转换成客户端所期望的另一个接口,可以让原本由于接口不兼容而不能一起工作的类能够一起工作。 适配器模式需要实现的部分为: 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异常
现象:spark 日志文件突然新增了很多.hprof文件, 查找日志spark配置参数spark_log_dir进入日志目录: 查看historyServer日志: Spark Command: /usr/lib/jvm/java-1.8.0/bin/java -cp /opt/apps/JINDOSDK/jindosdk-current/lib/*:/…...

一个优秀 Maven 项目,各 Model 间最佳继承设计方案
1.单一职责原则 (Single Responsibility Principle): 每个模块应该专注于执行一个清晰且明确定义的功能,遵循单一职责原则,以降低模块的复杂性。 2.高内聚性 (High Cohesion): 模块内的组件和类应该紧密相关,共同实现模块的目标。高内聚性…...
MATLAB概述
文章目录 目录结构搜索路径高频命令clearclf/closeclc/homewho/whosformatsave/loadcd/pwdhelp/docsprintf/fprintf/disp tips MATLAB [1] 是美国 MathWorks公司出品的商业 数学软件,用于算法开发、数据可视化、数据分析以及 数值计算的高级技术计算语言和交互式…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:
根据万维钢精英日课6的内容,使用AI(2025)可以参考以下方法: 四个洞见 模型已经比人聪明:以ChatGPT o3为代表的AI非常强大,能运用高级理论解释道理、引用最新学术论文,生成对顶尖科学家都有用的…...

分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
Java线上CPU飙高问题排查全指南
一、引言 在Java应用的线上运行环境中,CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时,通常会导致应用响应缓慢,甚至服务不可用,严重影响用户体验和业务运行。因此,掌握一套科学有效的CPU飙高问题排查方法&…...
Java求职者面试指南:计算机基础与源码原理深度解析
Java求职者面试指南:计算机基础与源码原理深度解析 第一轮提问:基础概念问题 1. 请解释什么是进程和线程的区别? 面试官:进程是程序的一次执行过程,是系统进行资源分配和调度的基本单位;而线程是进程中的…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...

认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Ubuntu系统多网卡多相机IP设置方法
目录 1、硬件情况 2、如何设置网卡和相机IP 2.1 万兆网卡连接交换机,交换机再连相机 2.1.1 网卡设置 2.1.2 相机设置 2.3 万兆网卡直连相机 1、硬件情况 2个网卡n个相机 电脑系统信息,系统版本:Ubuntu22.04.5 LTS;内核版本…...