环境介绍

  • Machine: NUC8i5BEK
  • OS: macOS Catalina 10.15.6
  • VirtualBox: 6.1.12 r139181 (Qt5.6.3)
  • CentOS: 8.2.2004-x86_64

虚拟机连网方式

VirtualBox 虚拟机设置 -> 网络 -> 网卡 1 -> 连接方式,常用的连接方式有 4 种,这里不赘述它们的原理,只是简单介绍一下它们在实际使用中的区别。

  1. 网络地址转换(NAT):「网络地址转换是一种 IP 数据包在通过路由器或事防火墙的时重写来源 IP 地址或是目的 IP 地址的技术」[1]。连接方式设置为 NAT 后,虚拟机可以访问到宿主机和外部网络,但是宿主机和外部网络访问不到虚拟机。即实现的是单向访问:虚拟机 -> 宿主机 -> 外部网络。
  2. 桥接网卡:桥接的作用是把两个不同局域网的网络通过一个“桥”连接起来。连接方式设置为桥接网卡后需要指定一张桥接的网卡,桥接后的虚拟机和宿主机一样都处在这张网卡下的同一个网段。对外部网络来说,此时的宿主机和虚拟机是一样的。由于处在同一张网卡的同一个网段中,外部网络和虚拟机之间、宿主机和虚拟机之间都可以双向访问:外部网络 <-> 宿主机 <-> 虚拟机 <-> 外部网络。
  3. 内部网络:内部网络指的是 VirtualBox 内部的网络,也就是虚拟机和虚拟机之间的网络。连接方式设置为内部网络后,宿主机和虚拟机、外部网络和虚拟机之间都不能够访问,只有虚拟机和虚拟机之间可以互相访问。
  4. 仅主机(Host-Only)网络:顾名思义,仅主机和虚拟机之间可以互相访问。

以上 4 种连接方式中,不管如何设置,虚拟机和虚拟机之间使用的都是同一张网卡,因此它们之间都是可以互相访问的。从虚拟机的视角来看,4 种方式的访问范围大小排序为:内部网络 < 仅主机(Host-Only)网络 < 网络地址转换(NAT) < 桥接网卡。

配置步骤

修改网卡配置文件

以 CentOS 8 为例,网卡的配置文件在 /etc/sysconfig/network-scripts 目录下,我选择的连接方式为桥接网卡,我的网卡名为“enp0s3”,因此配置文件的名称为“ifcfg-enp0s3”,默认的配置内容如下:

TYPE="Ethernet" # 网络类型:对虚拟机来说是以太网
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp0s3" # 网络名称
UUID="9d1c8bf7-ee45-436a-90c1-873d43e3cb65"
DEVICE="enp0s3" # 网卡名称
ONBOOT="yes" # 开机自动启用网卡

其中需要修改的部分是 BOOTPROTO="dhcp",由于我们需要固定 IP 地址,所以需要将其设置为 BOOTPROTO="static"。固定 IP 之后需要自己手动指定 IP 地址、网关、子网掩码、DNS 等信息,在配置文件中加入相应项:

...
IPADDR=192.168.37.142 # 静态 IP 地址
GATEWAY=192.168.37.1 # 网关
NETMASK=255.255.255.0 # 子网掩码
DNS1=119.29.29.29 # DNS:这里我选择的是 DNSPod
...

重启网络服务

systemctl restart network

故障排查

宿主机不能访问虚拟机

  1. 检查 IP、网关是否配置正确。

  2. 检查防火墙是否关闭:systemctl status firewalld,如未关闭,关闭防火墙,并取消开机自启:

    systemctl stop firewalld
    systemctl disable firewalld

虚拟机不能访问外部网络

  1. 检查 IP、网关是否配置正确。
  2. 检查 DNS 是否设置正确,更换 DNS 为“114.114.114.114”或“8.8.8.8”试试。

Linux 虚拟机绑定静态 IP的更多相关文章

  1. VMWare中Linux虚拟机设置静态IP上网的设置方法

    VMWare中Linux虚拟机设置静态IP上网的设置方法 标签: vmwareLinux虚拟机securecrt静态IP上网 2016-05-18 02:30 702人阅读 评论(0) 收藏 举报   ...

  2. Linux虚拟机配置静态ip地址

    使用VMware搭建的虚拟机ip地址经常变动,在这里记录一下虚拟机设置静态ip地址: 首先通过VMware菜单栏编辑->虚拟网络编辑器->NAT设置查看子网ip地址和网关ip: 例如我这里 ...

  3. 安装linux虚拟机配置静态ip(NAT模式)

    1.centOs7.VMware Workstation14 2.常规配置硬件和基本信息后,在图形安装界面将以太网链接打开,安装后配置ifcfg-e****,这里是我的配置文件 修改BOOTPROTO ...

  4. 安装linux虚拟机配置静态ip(桥接模式)

    1.centOs7.VMware Workstation14 2.常规新建虚拟机操作后,来到选择连接模式: 这里选择桥接模式,复制物理网络连接状态(就是把实际的主机网卡信息拷贝一份,让虚拟机也有一份和 ...

  5. Linux虚拟机设置静态ip

    二.设置静态ip dhclient 动态分配ip 修改 ifcfg-ens33网卡配置文件  静态分配ip dhclient -r (释放动态分配的ip地址) vi /etc/sysconfig/ne ...

  6. 一张图教你弄清楚linux虚拟机的静态IP设置原理 VMnet8

  7. 学习Mysql过程中拓展的其他技术栈:设置linux虚拟机的固定ip和克隆linux虚拟机

    一.设置linux虚拟机的固定ip 1. 安装好虚拟机后在菜单栏选择编辑→ 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 Net网络连接方式,随意设置子网IP,点击NAT设置页面,查看子 ...

  8. linux操作系统-设置静态ip

    在使用linux虚拟机的时候因为经常有关机的需求,然后重新开机后可能面临这上一次获取的ip被改变,在这里我分享一下在linux 下设置静态ip的经验 1.查看路由状态 [root@localhost ...

  9. 5.1 Paralles 为虚拟机设置静态ip

    一.配置独立ip的环境 前面研究了k8s的组件,核心概念,网络模型,都了解了一遍,现在就要进入实战了,摆在面前的一座大山,必须克服才行---虚拟机搭建,及网络环境配置. 先说说本文的运行环境: mac ...

随机推荐

  1. JavaGUI之Swing简单入门示例

    简介 AWT(译:抽象窗口工具包),是Java的平台独立的窗口系统,图形和用户界面器件工具包. Swing 是为了解决 AWT 存在的问题而以 AWT 为基础新开发的包(在使用Swing时也常会用到j ...

  2. 第5篇 Scrum冲刺博客

    1.站立式会议 1.1 会议图片 1.2 项目进展 成员 昨日任务 今日计划完成任务 陈忠明 歌曲信息的上传/下载包 歌曲批量下载压缩包 吴茂平 完善评论系统 新消息提醒功能设计 黄海钊 修改代码规范 ...

  3. Java中动态规则的实现方式

    背景 业务系统在应用过程中,有时候要处理“经常变化”的部分,这部分需求可能是“业务规则”,也可能是“不同的数据处理逻辑”,这部分动态规则的问题,往往需要可配置,并对性能和实时性有一定要求. Java不 ...

  4. MySQL 索引结构

    谈到 MYSQL 索引服务端的同学应该是熟悉的不能再熟悉,新建表的时候怎么着都知道先来个主键索引,对于经常查询的列也会加个索引加快查询速度.那么 MYSQL 索引都有哪些类型呢?索引结构是什么样的呢? ...

  5. 焦大:SEO重思录(上)收录量和收录率的重新定位

    http://www.wocaoseo.com/thread-198-1-1.html 前一段焦大在seo前线就看到有人问为何我收录量很大但是流量很低呢?有时候几百万的收录量但是流量却只有1000不到 ...

  6. 每天定时下载gfs资料shell脚本

    在数值天气预报应用中,经常需要下载一些输入资料,美国ncep的gfs资料是常用的一种分析场资料.业务运行,需要每天定时从ncep网站上下载,所以写了一个Shell脚本实现这一功能.脚本内容如下: #! ...

  7. Appium + Python App自动化第一个脚本

    今天跟大家讲解一个Appium和Python App自动化的脚本.[1]打开你的夜神模拟器(或者连接你的手机) [2]打开桌面的Appium [3]下载你要测的App的apk文件,放到桌面[4]拖动你 ...

  8. 揭秘!containerd 镜像文件丢失问题,竟是镜像生成惹得祸

    导语 作者李志宇,腾讯云后台开发工程师,日常负责集群节点和运行时相关的工作,熟悉 containerd.docker.runc 等运行时组件.近期在为某位客户提供技术支持过程中,遇到了 contain ...

  9. 多商铺平台手机电脑自适应宣传展示平台店铺javassh项目代码线上

    部署运行:eclipse 建议使用jdk 1.8 + ,Tomcat 8.0 + 系统介绍: 1.网站后台采用主流的 SSH框架 jsp JSTL,网站前台采用Angular jS框架 2.网站前端采 ...

  10. GreatRiver研讨会 | ARINC 818的应用及发展

    想要实现ARINC 818?与旋极合作伙伴大河(Great River Technology 简称GRT)一起参加免费的网络研讨会吧!ARINC 818视频协议如今正应用在各大军工项目以及相关的核心研 ...