Hyper-V下Internal vSwitch的配置和Linux虚拟机的SSH连接
最近工作中要在Windows Server 2016/Hyper-V 10中运行Ubuntu16实例,需要制作出“即插即用”的镜像文件,也就是安装好后即可从外部SSH进去。之前我使用Hyper-V,习惯于内网动态分配IP模式下,采用External vSwitch作为虚拟机对外通信的接口。这种模式下虚拟机相当于局域网内新的一台主机,通过DHCP获取自己的IP、Gateway等信息,非常方便。
但是这次内网实行的是静态IP配置方案,每一台物理机有固定的且只能有1个IP。由于虚拟机内的进程需要和其他虚拟机进行通信,只能采用Internal vSwitch。这种模式下,相当于将物理机和虚拟机组件为一张新的子网,物理机扮演Gateway的角色,虚拟机对外通信必须经由物理机的转发。熟悉VMVare的同学一定会发现,这种拓扑结构就是常说的NAT。
1.基于Ubuntu的ISO创建虚拟机,这一步比较简单,Hyper-V提供了非常方便的图形化界面进行操作。由于后续步骤需要联网下载安装包,所以此处先为Ubuntu实例配置External vSwitch。
2.安装SSH服务端程序。用Hyper-V Connect进去,键入Shell:
1 sudo apt-get purge openssh-server
2 sudo apt-get install -y openssh-server
3 sudo service sshd start
3.向/etc/network/interfaces文件追加如下内容:
1 cat >> /etc/network/interfaces << EOF
2 auto eth0
3 iface eth0 inet static
4 address 192.168.1.100
5 netmask 255.255.255.0
6 gateway 192.168.1.1"
7 EOF
建议先用ifconfig命令确认一下网卡的名称是不是为eth0。
键入Shell,重启网络:
1 sudo /etc/init.d/networking restart
4.关闭Ubuntu实例,然后将其导出。键入PowerShell:
1 $VmName = "Ubuntu16"
2 $Destination = "F:\vm-export"
3 Stop-VM -Name $VmName
4 Export-VM -Name $VmName -Path $Dstination
由此完成虚拟机镜像的创建,复制虚拟机依赖的是$Destination目录下的vhdx格式文件。换一台物理机,开始虚拟机镜像的安装。
1.创建Internal vSwitch,用PowerShell:
1 $HyperVVirtualSwitchName = "ISInternalSwitch"
2 New-VMSwitch -Name $HyperVVirtualSwitchName -SwitchType Internal
3 Get-NetAdapter | where { $_.Name -Match $HyperVVirtualSwitchName } | New-NetIPAddress -IPAddress "192.168.1.1" -PrefixLength 24
2.基于导出的Ubuntu镜像和vSwitch,创建新的实例。键入PowerShell:
1 $VMName = "Ubuntu16"
2 $HyperVVirtualSwitchName = "ISInternalSwitch"
3 $VMPath = "F:\vm-import\$VMName"
4 $VHDX = "$VMPath\Virtual Hard Disks\Ubuntu16-TensorFlow10.vhdx"
5 New-VM -Name $VMName -SwitchName $HyperVVirtualSwitchName -Path $VMPath -VHDPath $VHDX -Generation 1
6 Start-VM -Name $VMName
3.最后一步,设置端口转发和开启防火墙。键入Windows批处理命令:
1 netsh interface portproxy delete v4tov4 listenport=22
2 netsh interface portproxy add v4tov4 listenport=22 connectport=22 connectaddress=192.168.1.100
3 netsh advfirewall firewall delete rule name="Ubuntu_SSH"
4 netsh advfirewall firewall add rule name="Ubuntu_SSH" protocol=TCP dir=in localport=22 action=allow
于此,Internal vSwitch的配置完成,用Putty对本机localhost或虚拟机所在远程机器的局域网IP发起SSH连接请求,成功!
Hyper-V下Internal vSwitch的配置和Linux虚拟机的SSH连接的更多相关文章
- 虚拟机中如何Linux系统如何访问PC硬盘中的文件(如何将windows下的文件夹挂载到linux虚拟机下)
这段时间决定学习嵌入式,变打算安装个Linux系统先熟悉一下Linux系统的使用,但自己电脑上安装的win7系统又不想装双系统,一是闲麻烦,二是由于对Linux系统不熟悉担心会因为自己的误操作而损坏系 ...
- jmeter连接配置带跳板机(SSH)的mysql服务器
jmeter连接配置mysql服务器时,如果数据库服务器没有通过ssh连接,则只需要配置相应的jdbc参数就可以了,即请求域名或ip地址:3306,如果数据库服务器是通过SSH连接的,那需要通过中间远 ...
- Jmeter配置通过SSH连接的mysql数据库
jmeter连接配置mysql数据库时,如果数据库服务器没有通过ssh连接,则只需要添加配置相应的jdbc参数就可以了.如果数据库服务器是通过SSH连接的,则需要通过中间远程连接工具来登录,此处使用的 ...
- virtualBox使用nat模式下ssh连接
virtualBox本地虚拟机通过ssh连接一般可通过桥接模式和Nat模式 桥接模式下,共享本地主机网卡,在同一个局域网之下,直接获取Ip地址就可以进行连接了. Nat模式下,获取的Ip与本地主机不是 ...
- Kali Linux虚拟机安装完整安装过程及简单配置(视频)
点击播放视频 附:视频中出现的两个txt文本,包含了大致的安装与配置过程: 文本1:KaliLinux虚拟机安装和初步配置 Kali Linux虚拟机安装和初步配置 大家好,今天给大家演示一下在VMw ...
- Hyper V NAT 网络设置 固定IP / DHCP
Hyper V 默认的Default Switch同时支持了NAT网络以及DHCP,虚拟机能够访问外网. 但使用过程中发现这个IP网段经常变化,而且Hyper V没有提供管理其NAT网络与DHCP的图 ...
- windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理
windows server 2008 r2 企业版 hyper v做虚拟化的相关问题处理 今天在dell r710 上用windows server 2008 r2企业版hyper v 做虚拟化,添 ...
- 写给大忙人的ELK最新版6.2.4学习笔记-Logstash和Filebeat解析(java异常堆栈下多行日志配置支持)
接前一篇CentOS 7下最新版(6.2.4)ELK+Filebeat+Log4j日志集成环境搭建完整指南,继续对ELK. logstash官方最新文档https://www.elastic.co/g ...
- ELK学习笔记之Logstash和Filebeat解析对java异常堆栈下多行日志配置支持
0x00 概述 logstash官方最新文档.假设有几十台服务器,每台服务器要监控系统日志syslog.tomcat日志.nginx日志.mysql日志等等,监控OOM.内存低下进程被kill.ngi ...
随机推荐
- HTTP头部POST表单详解
2 POST /hello/checkUser.html?opt=xxx HTTP/1.1 方法的声明,Get,Post,Delete等 3 Accept: */* 4 Referer: http:/ ...
- 感知机与支持向量机 (SVM)
感知机与SVM一样都是使用超平面对空间线性可分的向量进行分类,不同的是:感知机的目标是尽可能将所有样本分类正确,这种策略指导下得出的超平面可能有无数个,然而SVM不仅需要将样本分类正确,还需要最大化最 ...
- LM-MLC 一种基于完型填空的多标签分类算法
LM-MLC 一种基于完型填空的多标签分类算法 1 前言 本文主要介绍本人在全球人工智能技术创新大赛[赛道一]设计的一种基于完型填空(模板)的多标签分类算法:LM-MLC,该算法拟合能力很强能感知标签 ...
- 2021Qt打包发布教程
因为最近写了一个程序,然后想着能给室友玩耍,就研究了一下如何打包,写这篇博客记录一下 1. 首先获得程序的Release版本 就是点击这个Release,然后构建一遍 2. 进入构建的release文 ...
- 聊聊 Feign 的实现原理
What is Feign? Feign 是⼀个 HTTP 请求的轻量级客户端框架.通过 接口 + 注解的方式发起 HTTP 请求调用,面向接口编程,而不是像 Java 中通过封装 HTTP 请求报文 ...
- Kubernetes架构原理
1.了解架构 在研究Kubernetes如何实现其功能之前,先具体了解下Kubernetes集群有哪些组件.Kubernetes集群分为两部分: Kubernetes控制平面 (工作)节点 具体看下这 ...
- Opencv 播放mp4文件和读取摄像头图以及可能会发生的一些异常问题解决方法
学习内容 学习Opencv 读取并播放本地视频和打开摄像头图像以及可能会发生的一些异常问题解决方法 代码演示 电脑环境信息: OpenCV版本:4.5.2 ,vs2017 1.视频文件读取与播放 加载 ...
- FastDFS文件系统迁移和数据恢复
迁移步骤 打包旧服务器文件的所有文件 定位到旧服务器的tracker和Storage目录,将整个文件夹打包 tar -zcf fdfs-storage-data.tar.gz /fastdfs/sto ...
- uniapp 微信小程序 打开文件
uni.downloadFile({ url: item.url, success: (res) => { if (res.statusCode === 200) { uni.openDocum ...
- Linux指令手册 (二)
free free,显示系统中可用内存和已使用内存的数量. 语法:free [options] [target] 参数: -b: 以字节(bytes)显示内存量: -k: 以千字节(kilo)为单位显 ...