服务器虚拟机的固定ip怎么设置,虚拟机还能设置静态ip?Vmware 虚拟机配置全攻略...

前言:

虚拟机应该是我们大多数人都会接触到的,尽管目前虚拟机的配置都十分简单便捷,几乎可以说是上手即用。但是对于一些较不常用的操作,可能配置起来还是会繁琐一些,比如解锁 macOS 的安装限制 ,设置 静态 ip 等。本文将从头开始示范如何进行 静态 ip的配置。

本文作为我在 少数派 发布的第一篇文章,可能会有一些地方做得不是很好,欢迎大家指正。

1. 简述

用于为基于 Vmware 的虚拟机设置静态的 ip 地址,适用于有多台虚拟机之间互联的需求

2. 环境需求

VMware WorkStation Pro 15 (仅测试15.0.4 版本,对早期版本可能略有不同)

Ubuntu 18 (仅支持 Ubuntu18 版本,早期版本设置方式可能有所不同,本例使用的是 Ubuntu Server 18.04.2 LTS )

本例使用的配置如下,后续不赘述:

类别

地址

网关(gateway)

192.168.2.1

子网掩码(subnet mask)

255.255.255.0

VMware 虚拟网卡 ip

192.168.2.100

虚拟机 ip

192.168.2.10

网卡

ens32

3. 步骤说明

1. Vmware 配置

打开 虚拟网络编辑器,如图

f3185bad89fd43501cd30cd37629a5b7.png

选择 VMnet8 NAT 模式,其他配置如图5fe47dfcd930d3b94cec9cc00a2cbd2c.png

设置 子网网络号 及 子网掩码,如图8b8940e87ab44d404a8aba3073292b0b.png

这里需要使用私有地址,以防止不可预期错误。

A类私有地址为:10.0.0.0 - 10.255.255.255, 子网掩码:255.0.0.0

B类私有地址为:172.16.0.0 - 172.31.255.255, 子网掩码:255.255.0.0

C类私有地址为:192.168.0.0 - 192.168.255.255,子网掩码:255.255.255.0

选择 NAT 设置,如图37b46e131f43f8f2d7b30ab37b2d6e17.png

NAT(Network Address Translation,网络地址转换),用于将 私有网络地址 转换为 公有网络地址,是为了应对 Ipv4 地址匮乏 而提出的临时解决方案,与 VLSM(Variable Length Subnet Mask,可变长子网掩码)一同作为 ipv4 到 ipv6 的过渡期方案。

配置 网关地址,其他不需要做改变,如图b4732358cdeb705e21bae44327b679c2.png

这里的网关主机位可以随意,不知道什么是主机位的,可以直接参考我的配置

设置 DHCP 服务器,如图453ed7d88402c2aeeea185a9c1988f4f.png

b27d8dc37dc71e0cd7953fb5803af6b7.png

这里的 启始 ip 跟 结束 ip 可以随意,注意符合上文所设置的子网网络地址即可。

不了解的可以参照我的配置详细了解见 ,目前最新版本应为第七版

2. 本地网络设置

按 win + s,输入 网络共享和中心 ,enter,在右侧找到 更改适配器选项,如图126c4b31ae32394923fe6404469ca613.png

找到这一项并右键,选择属性,如图48a065e0ef00ba948cbbb9ec9ecc75f8.png

如图所示配置,ip 地址为虚拟网卡地址,主机位可以随意。网关 和 子网掩码 按照上文的设置配置好即可49d3b896aa78ae2c42c8c255a3a1d135.png

3. ubuntu 配置:

打开配置文件

$ sudo vim /etc/netplan/50-cloud-init.yaml

// 本例 ubuntu 中的文件名如此,其他版本可能不同,但均以 *.yaml 结尾

查看网卡名称

使用 ip a 即可看到网卡信息

按 shift + g, shift + a,enter,并输入以下配置

network:

version: 2

renderer: networkd // 这里没有输错,是 networkd

ethernets:

ens32: // 这里的ens32 是我的网卡,替换成你自己的

dhcp4: no

addresses: [192.168.2.10/24] // 虚拟机静态 ip,主机位可随意

gateway4: 192.168.2.1 // 网关

nameservers:

addresses: [192.168.2.1] // 虚拟机的 DNS,这里填网关 ip

注意:由于 Yaml 文件特性,所有缩进都需要使用空格,并且每项中间的空格都不能省略

按 esc 退出插入模式,输入 :wq 保存并退出

详细了解见 Vim 的基本操作

使用 sudo netplan apply 使命令生效

可以使用 ip a 查看当前 ip 地址进行验证,或者使用 ping 命令进行测试

4. 总结

按照以上配置,理想结果可以达到:

实机 ping 通虚拟机500d073d7871959e53df0eada19036a6.png

虚拟机可以 ping 通网关29dcec83ee9c028b5e19b464d41d282c.png

虚拟机可以连接互联网a0d168fb9b0cbaa1ca7f24ab7ee8c4aa.png

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

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

相关文章

Redis流水线性能提高

我们希望在没有任何附加条件的场景下去使用队列批量执行一系列的命令,从而提高系统性能,这就是 Redis 的流水线(pipelined)技术。而现实中 Redis 执行读/写速度十分快,而系统的瓶颈往往是在网络通信中的延时&#xff0…

Redis中使用Lua语言

在 Redis 的 2.6 以上版本中,除了可以使用命令外,还可以使用 Lua 语言操作 Redis。从前面的命令可以看出 Redis 命令的计算能力并不算很强大,而使用 Lua 语言则在很大程度上弥补了 Redis 的这个不足。 只是在 Redis 中,执行 Lua …

服务器预装操作系统,服务器预装操作系统吧

服务器预装操作系统吧 内容精选换一换镜像是一个包含了软件及必要配置的服务器或磁盘模版,包含操作系统或业务数据,还可以包含应用软件(例如,数据库软件)和私有软件。镜像分为公共镜像、私有镜像、共享镜像、市场镜像。镜像服务(Image Manage…

C 创建链表

C语言创建链表 完整代码 #include<stdio.h> #include<stdlib.h> #include<malloc.h> typedef struct LNode{int data;struct LNode *next; }LNode,*LinkList;LinkList CreateList(int n); void print(LinkList h); int main() {LinkList HeadNULL…

Redis内存回收策略

Redis 也会因为内存不足而产生错误&#xff0c;也可能因为回收过久而导致系统长期的停顿&#xff0c;因此掌握执行回收策略十分有必要。在 Redis 的配置文件中&#xff0c;当 Redis 的内存达到规定的最大值时&#xff0c;允许配置 6 种策略中的一种进行淘汰键值&#xff0c;并且…

Spring整合Redis详解

用注解驱动的方式来使用 Redis。和数据库事务一样&#xff0c;Spring 提供了缓存的管理器和相关的注解来支持类似于 Redis 这样的键值对缓存。 准备测试环境 首先&#xff0c;定义一个简单的角色 POJO&#xff0c;代码如下所示。 package com.pojo; import java.io.Serializ…

Redis和数据库的结合

使用 Redis 可以优化性能&#xff0c;但是存在 Redis 的数据和数据库同步的问题&#xff0c;这是我们需要关注的问题。假设两个业务逻辑都是在操作数据库的同一条记录&#xff0c;而 Redis 和数据库不一致。 Redis 和数据库不一致 在图中&#xff0c;T1 时刻以键 key1 保存数…

C 字符串排序

使用C语言对字符串进行排序 编写程序对字符串进行排序输出&#xff0c;用户根据提示输入三个字符串&#xff0c;程序根据26个英文字母的顺序进行排序输出。 完整代码 #include<stdio.h> #include<stdlib.h> #include <string.h>void swap(char*str1,char*…

plsql连接报ORA-12537

客户新电脑装上了plsql&#xff0c;连接数据库时报如上错误&#xff0c;但是别的电脑都可以正常连接&#xff0c;先检查了下TNS配置&#xff0c;发现没问题&#xff0c;数据库连接数也足够&#xff0c;百思不得其解 后面去数据库服务器上查看了监听日志文件&#xff0c;连接报错…

C 将任意八进制数转化为十进制

C语言实现八进制数到十进制的转化 使用C语言将一个八进制数转化为十进制数&#xff0c;用户根据提示输入一个任意的八进制数&#xff0c;程序将八进制数转化为十进制数并进行输出显示。 完整代码 #include<stdio.h> #include<stdlib.h> int main() {int n0,i0;c…

C 字符串连结

C语言实现对两个字符串进行连接 用户根据提示分别输如两个任意的字符串&#xff0c;两个字符串之间要用回车分开&#xff0c;程序将这两个字符串进行连接并输出显示。 完整代码 #include <stdio.h> #include<stdlib.h> #include<string.h>char* strconnec…

C 时间函数

C获取当前时间并进行输出 使用C语言的时间函数获取当前的时间并输出显示在控制台。 完整代码 #include <stdio.h> #include <time.h>int main () {time_t rawtime;struct tm * timeinfo;time ( &rawtime );timeinfo localtime ( &rawtime );printf ( &…

C 猜谜游戏

C语言实现猜谜游戏 利用C语言的判断循环&#xff0c;以及获取值实现猜谜游戏&#xff0c;用户根据提示输入任意数据&#xff0c;程序会获取你输入的数据并判断大小给出提示&#xff0c;用户再次输入数据经过若干次循环判断使用户猜出正确的答案。 完整代码 #include <std…

pycharm创建我的第一个项目

使用pycharm创建我的第一个项目 1 . Create New Project 2 . pycharm设置项目的保存位置&#xff08;创建的是一个空项目&#xff09;。 3 . 添加python文件&#xff0c;右击项目文件夹 --> New --> python File。 4 . 设置创建的python文件名称&#xff0c;点击下方…

Pycharm 字体大小及背景颜色的设置

设置Pycharm 的字体大小及背景颜色 Pycharm设置字体的大小及风格 选择File --> setting --> Editor --> Font,我们可以看到如下图所示界面&#xff0c;我们就可以根据自己的喜好随意调整字体的大小&#xff0c;字体的样式风格&#xff0c;文字行间距&#xff0c;设置…

pycharm设置开发模板

pycharm设置开发模板 可能大家会有一些疑问&#xff0c;什么是模板&#xff1f;为什么要设置模板的呢&#xff1f;模板就是一种通用的格式&#xff0c;如果在pycharm中设置了模板&#xff0c;那么每次创建一个python文件的时候都会自动包含模板中的内容。 示例 python3 默认采…

Webstorm设置开发模板

WebStorm设置开发模板 可能大家会有一些疑问&#xff0c;什么是模板&#xff1f;为什么要设置模板的呢&#xff1f;模板就是一种通用的格式&#xff0c;如果在webstorm中设置了模板&#xff0c;那么每次创建一个javaScript文件的时候都会自动包含模板中的内容。 我们想要Webs…

Pycharm 项目运行的多种技巧

当我们在pycharm上完成我们的项目之后&#xff0c;我们应该如何运行这个项目的呢&#xff1f; 方法一&#xff1a;点击三角线绿色按钮&#xff0c;运行run&#xff08;运行程序&#xff09; 方法二&#xff1a;使用快捷键 Ctrl shift 10 &#xff0c;效果一样&#xff0c;同…

C++ 输入输出

C实现获取用户输入的数值并进行输出显示。 完整代码 #include <iostream> using namespace std;int main() { int number;cout << "输入一个整数: ";cin >> number;cout << "输入的数字为: " << number; return 0; …

C++ 求和运算

C实现对两个数字进行相加并输出显示结果。 根据提示输入两个数&#xff0c;程序获取两个数的数值并且执行加法运算&#xff0c;在控制台输出显示两个数相加的结果。 完整代码 #include <iostream> using namespace std;int main() {int firstNumber, secondNumber, su…