基于macOS+VMware的GNS3内VM上公网

笔者经常需要做网络实验,GNS3就是笔者最喜欢用的模拟器,为了便于实验,需要能从macos上直接ssh登陆模拟出来的vm,并且vm需要上公网。经过研究,已解决此问题,并以此分享出来

tag: macos, vmware, gns3, vm上公网

小慢哥的原创文章,欢迎转载


环境说明

本文基于以下环境:

? 宿主:macOS Mojave
? GNS3版本:2.1.14
? GNS3内部的VM运行在:GNS3 VM里
? GNS3 VM运行在:VMware Fusion 专业版 11.0.1
? centos7.3是运行在GNS3 VM里的Qemu虚拟机

可以理解为在macOS上运行了VMware,在VMware里运行了GNS3 VM,在GNS3 VM里运行了Qemu虚拟机。

对,就是"俄罗斯套娃"。

想让GNS3内的VM上Internet公网,有2种方法,接下来分别详细讲解

方法1(内置)

GNS3内置一个nat cloud,只要将vm连上这个nat cloud就可以上公网(上图中的Nat1就是nat cloud)

实现原理:nat cloud会对数据包进行SNAT,将源IP转换成macOS上出公网对应的本机ip。比如macOS是用wifi上网,wifi dhcp分配给macOS的ip是192.168.1.10,那么nat cloud就会将自己的ip出公网数据包的源IP转换为192.168.1.10

? 优点:无需任何额外配置,GNS3内置实现
? 缺点:无法从macOS上直接ssh连接到vm(即图上的centos7.3-1,本文接下去的部分若无特殊说明,均用vm表示),只能通过vnc连接

方法2(推荐)

采用vmnet + GNS3 VM加网卡 + 自定义cloud + pfctl + 开启ip_forward

? 优点:vm不仅可以上网,还可以从mac上连接到vm里做管理
? 缺点:配置相对复杂,需要对macos、vmware、gns3、网络原理有一定了解

1?? vmware偏好设置里新增一张网卡,这里为vmnet2,然后按下图所示进行配置

? “允许该网络上的虚拟机连接到外部网络(使用NAT)”不要勾选,因为测试发现bug(比如虚拟机里访问Internet公网,响应时有时无,延时也很严重,怀疑是GNS3 VM的bug)
? “将Mac主机连接到该网络”要勾选,这样在macos上才能出现vmnet2网卡
? 子网IP是自动生成的,这里是172.16.71.0/24,对应macos上vmnet2的ip是172.16.71.1/24

2?? GNS3 VM加网卡

在vmware里打开GNS3 VM的配置,添加一张网卡,如下图红框里的网络适配器3就是笔者添加的网卡

3?? 自定义cloud

如下图,要选择“Run the cloud node on the GNS3 VM”

名字任意,这里叫做mgr-cloud

注意,只需要将eth2(即上一步新增的网络适配器3)Add进来

4?? 在macos上通过pfctl配置nat,以及允许vmnet2流量进出

a. sudo vim /etc/pf.anchors/vmware-gns3,内容如下

图上的en7是笔者mac上的有线网卡,en0是我mac上的wifi网卡(因为在公司是用有线网卡,在家里是用wifi上网,所以按上面这样配置2条,就无需担心网络切换会导致nat失败)

b. sudo vim /etc/pf.conf,内容如下(红框内容是需要增加的)

c. 校验配置文件并生效:

# 校验
sudo pfctl -vnf /etc/pf.anchors/vmware-gns3
sudo pfctl -vnf /etc/pf.conf

# 生效
sudo pfctl -ef /etc/pf.conf

pfctl会在mac开机时自动执行,无需每次都手工执行

5?? 开启ip_forward

sudo sysctl -w net.inet.ip.forwarding=1

注意:该命令在mac重启后就会失效,因此在使用GNS3时候需要手工执行一次

测试

方法1不符合需求,就不再赘述

方法2的测试:此时,vm里应该已经通过dhcp获得ip地址,并且可以直接从mac上ssh登陆vm。然后在vm里只需要手工增加一条网关(网关指向mac上vmnet2的ip,笔者环境对应的是172.16.71.1),就可以通过mac上公网。另外,vm里的dns需要手工配置(比如指向8.8.8.8)

附:多台vm上公网

如果需要多台vm上公网,可以自行添加一个hub或switch

原文地址:https://blog.51cto.com/cyent/2364964

时间: 2024-10-31 09:55:23

基于macOS+VMware的GNS3内VM上公网的相关文章

VM上完美运行macos

VM上完美运行macos 作者:方辰昱 时间:十月三号 效果图 简要步骤 下载安装VM 下载镜像文件链接,darwin.iso,unlocker,beamoff.合集下载链接:https://pan.baidu.com/s/1jeHA-ksEKT1iK5Ld7GmS9Q 提取码:27tj unlock对VM进行操作使其对macos支持安装 安装macos 磁盘工具建立新的磁盘安装系统 用darwin安装vmool 设置全屏 使用beamoff及一些设置进行优化 安装VM虚拟机省略,下载省略,将下

Vmware VsPhere下的VM如何安装Hyper-v服务

通过主题我们了解到,今天主要介绍的内容为Vmware VsPhere下的VM如何安装Hyper-v服务的操作介绍,一般做运维的大神们都知道,很多情况下,无法在虚拟环境下再安装虚拟机,理解为虚拟化下的虚拟化,在hyper-v下是不可行的,安装后系统无法启动,但是在vmware下安装的虚拟机下再安装hyper-v服务是可行的,当然模式是无法在虚拟环境下安装虚拟非服务的. 我们首先在vmware vsphere下创建了一个虚拟机,然后安装了windows2012R2的操作系统,然后我们安装window

基于Google 验证器 实现内网的双因素认证

最近的一个项目需要实现双因素强认证,平常我们都是采用 静态密码+动态短信这样的方式来实现,但用户侧并没有相应的短信接口. 后来决定采用 google身份验证器来实现.在网上找了一些资料和代码片段,经过梳理和改造,目前已上线使用了,效果还是比较好的,记录一下,也给需要的朋友做个参考. 首先简述一下双因素认证:双因素身份认证就是通过你所知道再加上你所能拥有的这二个要素组合到一起才能发挥作用的身份认证系统.双因素认证是一种采用时间同步技术的系统,采用了基于时间.事件和密钥三变量而产生的一次性密码来代替

在VM上安装centOS后的网络配置

花了点时间,研究了下VM上的linux虚拟机的网络配置问题.1.环境主机:winXP SP2,家庭宽带,局域网连到路由器,ip地址为192.168.1.101. 虚拟机:centOS(redhat linux的开源免费版本),纯文本模式. 在VM安装了了CentOS后,发现在主机上多了两个网络连接:VMNet1和VMNet8.每个网络连接都设有ip地址和子网掩码.VMNet1的是:192.168.229.1/255.255.255.0VMNet8的是:192.168.30.1/255.255.2

关于Linux在VM上安装时常遇到的问题的解决方法

在虚拟机VM上安装linux镜像遇到如下问题: 以前安装过程中也出现这样的问题,最后不知道自己怎么捣鼓的就把linux安装上了.可是,移除linux之后,再安装时又遇到这样的问题了.百度了好久,才解决了这个问题. 解决方法: 关机 开机2秒,按F1键,进入BISO界面 按上下左右键,找Visualization 按Enter键,选择Enable. 按F10保存并退出. 综上,可解决上面出现的问题. 但是,又遇到另一个问题,如下: 安装又出现错误,经过百度搜索,可能出现问题的原因是: 1.在虚拟机

在VMware Workstation中批量创建上千台虚拟机(上)

VMware Workstation 是我们经常使用的虚拟机软件,其功能强大,性能较好.大多数用户都会在"图形界面"中创建虚拟机.修改虚拟机配置.添加虚拟机参数,或者使用"克隆"功能创建多个虚拟机,这些都无需介绍. 但是你有没有想过 ● 将 VMware Workstation 创建的虚拟机,供网络中其他用户使用呢? ● 如果你想使用模板,创建几十.上百甚至上千个虚拟机,怎样才能做到呢? 本节通过两个具体的案例介绍这些应用. [说明] 这是"使用VMwar

在Azure VM上架设Surv-U FTP 服务器

在Azure上架设Surv-U ftp 服务器的步骤: 1.在VM上安装surv-u (将surv-u加入防火墙例外 ,在surv-u安装的最后一步可勾选上,自动设置好) 2.设置surv-u 监听端口和passive 模式时的监听端口范围: 监听端口:12500 (安全性原因不用默认的21): passive 模式时的监听端口范围:12501-12502: 3. 在azure 管理后台添加VM的 endpoint(端口映射),将监听端口(12500),和passive mode时服务器动态开启

在线讲堂:轻松搞定基于嵌入式、桌面、内网和云的软件授权

我们诚挚地邀请您参加 6 月19 日举办的圣天诺第2季 "在线讲堂".软件交付的规划过程是一个连续组合规划过程 - 开发.授权.部署和支持.反馈.不懈努力研发客户期盼的产品,同时让服务供应商获利. 本期讲堂帮助您了解: 追踪软件部署如何改善客户体验和提高客户满意度 授权实施选项 – 从桌面.嵌入式.内网,到移动和云 探讨内网环境的软件授权 -   在内网环境下,强制执行和授权面临哪些挑战? -   内网环境下成功部署的解决方案是什么? 用一套方案管理所有授权部署的重要性 主讲:王福涛

windows server 2003在vm上安装图解

1.在vm上的操作 2.加载镜像后正式安装windows server 2003阶段 至此,windows server 2003 安装完毕