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

news2024/11/26 4:31:40

校园网某些登录客户端只允许同一时间一台设备登录,因此必须使用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660054.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【概率论基础】 一篇文章缕清概率论常见概念关系

碎碎念:再写CSDN之前有一小段时间写数模公众号的经历,但是公众号看的人实在太少了,而且排版和公式、代码编辑都没有CSDN这么方便,所以坚持一算时间就没有更新了。公众号大多写的是概念性的基础,稍加修改搬到咱们的主战…

《二十二》Qt 音频编程实战---做一个音频播放器

1.UI界面制作 作为一个音乐播放器,最基础的肯定就是播放、暂停、上一首以及下一首,为了使这个界面好看一点,还加入了音量控制、进度条、歌曲列表等内容,至于这种配色和效果好不好看,我也不知道,个人审美一如…

C语言初阶(6) - 指针

目录 1.指针是什么? 2. 指针和指针类型 2.1 指针 - 整数 2.2 指针的解引用 3. 野指针 3.1 野指针成因 3.2 如何规避野指针 4. 常量指针和指针常量 (const) 4.1.常量指针 4.2.指针常量 5. 指针运算 5.1 指针-整数 5.2 指针-指针 5.3指针的关系运算 6.…

离线使用evaluate

一、目录 步骤demorouge-n 含义 二、实现 步骤 离线使用evaluate: 1. 下载evaluate 文件:https://github.com/huggingface/evaluate/tree/main2. 离线使用 路径/evaluate-main/metrics/rougedemo import evaluate离线使用evaluate: 1. 下载evaluate 文件&…

Android 百度语音识别(详细步骤+源码),京东android面试题

改好之后,请注意,每个人都是不一样,你如果发现你创建的应用的配置的值和我创建的是一模一样的,你马上去百度提BUG,他们的程序员要就要下岗了~ OK,现在配置也完成了,接下来就是使用了。 ③ 使用…

五一超级课堂---Llama3-Tutorial(Llama 3 超级课堂)---第四节Llama 3 高效部署实践(LMDeploy 版)

课程文档: https://github.com/SmartFlowAI/Llama3-Tutorial 课程视频: https://space.bilibili.com/3546636263360696/channel/collectiondetail?sid2892740&spm_id_from333.788.0.0 操作平台: https://studio.intern-ai.org.cn/consol…

浅谈现代消息队列与云存储

一、前言 1970 年代末,消息系统用于管理多主机的打印作业,这种削峰解耦的能力逐渐被标准化为“点对点模型”和稍复杂的“发布订阅模型”,实现了数据处理的分布式协同。随着时代的发展,Kafka,Amazon SQS,Ro…

charts3D地球--添加航线

要在地球视角下画出海运路线图 方案 添加 globl 地球创建geo地理坐标系创建canvas对象用于承载地图世界地图this.worldChart//初始化canvas节点let cav = document.createElement("canvas");this.$echarts.registerMap("world", geoJson);this.worldChart…

AVL树的原理及其实现

文章目录 前言了解AVL树AVL树的特点AVL树的节点调整方案右单旋为什么要右单旋呢?右单旋代码 左单旋为什么要左单旋?左单旋代码 左右双旋左右双旋之后平衡因子的情况左右双旋代码实现 右左双旋右左双旋代码: 简单测试 前言 回顾我们对于二叉搜…

保研面试408复习 4——操作系统、计网

文章目录 1、操作系统一、文件系统中文件是如何组织的?二、文件的整体概述三、UNIX外存空闲空间管理 2、计算机网络一、CSMA/CD 协议(数据链路层协议)二、以太网MAC帧MTU 标记文字记忆,加粗文字注意,普通文字理解。 1、…

值得推荐的10+REST API测试工具

什么是API? API是一个软件解决方案,作为中介,使两个应用程序能够相互交互。以下一些特征让API变得更加有用和有价值: 遵守REST和HTTP等易于访问、广泛理解和开发人员友好的标准。API不仅仅是几行代码;这些是为移动开…

qml 和 c++类的数据交互

1、 新建一个需要交互的C++类 1)添加QObject头文件 2)添加自QObject的继承 3)添加Q_OBJECT宏 4)使用Q_PROPERTY,定义两个交互的属性,并设置读写的方法和变更属性的信号。 5)添加方法、槽函数和变量 2、在main.cpp中添加实例化对象的QML上下文 1)添加需要QML交互的…

Kubernetes学习-集群搭建篇(一) 搭建Master结点

🏷️个人主页:牵着猫散步的鼠鼠 🏷️系列专栏:Kubernetes渐进式学习-专栏 🏷️个人学习笔记,若有缺误,欢迎评论区指正 目录 1. 前言 2. 集群搭建方式 3. 环境说明 4. 利用kubeadm初始化Ma…

应该在哪里找海外ip代理?

出于学习工作,或者游戏娱乐的需求,许多人需要使用海外代理ip。那么我们该如何寻找到合适的、正规的、安全的海外代理ip呢? 首先,我们需要明白使用海外IP代理可能带来的风险,包括隐私泄露、网络速度变慢、安全风险以及可…

百融云创回购计划加速落实 机构看好中长期吸引力

单日回购近400万港元B类股份,一站式服务的AI科技领航者百融云创(百融云-W,6608.HK)的回购计划正在加速落实。 此前,在百融云创2023年年度业绩公告的同时,该公司一并披露将在2024年不时在公开市场购回总金额不超过2.5亿…

原生微信小程序canvas签名功能

半个月前百度搜出来的,没存书签现在不知道是哪篇文章了,再搜也没搜出来那篇文章,还好当时把代码复制到本地跑了一下,现在再发csdn存一下。 sign.js Page({data: {ctx: null,width: null,height: null,drawCount: 0,drawState: &…

WebStorm开发插件

WebStorm开发插件 开发 WebStorm 插件是一项令人兴奋的任务,它可以帮助提升开发效率,定制 IDE 来满足个人或团队的需求。在这份指南中,我将向你介绍如何开始开发 WebStorm 插件,并提供一些实用的技巧和建议。 1. 准备工作 在开…

“幽灵“再临!新型攻击瞄准英特尔CPU;微软Outlook漏洞被俄利用,网络间谍攻击捷克德国实体 | 安全周报0510

1. 微软Outlook漏洞被俄罗斯APT28利用,捷克德国实体遭网络间谍攻击! 捷克和德国于周五透露,他们成为与俄罗斯有关的APT28组织进行的长期网络间谍活动的目标,此举遭到欧洲联盟(E.U.)、北大西洋公约组织&…

视频拼接融合产品的产品与架构设计(二)

视频拼接融合产品的产品与架构设计一 以上是第一期,以前思考的时候还是比较着急,现在思考的更多了,现实世界的拼接更加需要我们沉下心来做,尤其是对于更多画面,画面更加清晰怎么做 本篇章不在于其他功能,在…

SpringBoot的图片上传

简介 该文档旨在介绍一个基于Spring Boot框架的简单文件上传功能的实现方式。本文档将详细介绍相关代码的功能和配置以及如何使用它们。 样例 技术栈 Spring Boot:一个用于快速开发基于Spring的应用程序的框架。Thymeleaf:一个用于在Web应用程序中创建…