原文地址

Vagrantfile 配置文件中私有网络的标识符:private_network,例如:

config.vm.network "private_network", type: "dhcp"

Vagrant 私有网络允许你通过某些无法从全球互联网公开访问的地址访问你的虚拟机。通常,这意味着你的机器在私有地址空间中分配了地址。

同一个专用网络中的多台机器(通常也只能使用同一个 provider 的支持)可以在专用网络上相互通信。

客户操作系统支持。私有网络通常需要配置虚拟机上的网络适配器。此过程因操作系统而异。Vagrant 提供有关如何在各种客户操作系统上配置网络的知识,但如果用的是特别旧或新的操作系统,则私有网络可能无法正确配置。

1. DHCP

使用私有网络的最简单的方式,是允许通过 DHCP 自动分配 IP。

Vagrant.configure("2") do |config|
config.vm.network "private_network", type: "dhcp"
end

这会从保留的地址空间中自动分配 IP 地址。通过 vagrant ssh 登录到机器后,使用合适的命令行工具(ifconfig 等)可以查看分配到的 IP 地址。

2. 静态 IP

可以为机器指定静态 IP,这样就可以通过已知的静态 IP 访问 Vagrant 机器。示例:

Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4"
end

用户需要确保静态 IP 不会与同一网络上的其他机器发生冲突。

尽管可以选择任何 IP,但你应该使用来自保留的私有地址空间的 IP。这些 IP 永远不会被公开路由,并且大多数路由器会阻止到这些 IP 的来自外部世界的流量。

对于某些操作系统,可以使用静态 IP 地址的其他配置选项,例如设置默认网关或 MTU。

警告:不要选择与系统上任何其他 IP 空间重叠的 IP。这可能导致网络无法访问。

3. IPv6

可以分配 IPv6 的静态 IP 地址。不支持用于 IPv6 的 DHCP。要使用 IPv6,只需要将 IPv6 地址指定为 IP 地址即可:

Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "fde4:8dba:82e1::c4"
end

这会将该 IP 分配给机器。整个 /64 子网将被保留。请确保使用经批准用于 IPv6 的保留地址。

改变 netmask 选项可以修改前缀长度(默认是 64):

Vagrant.configure("2") do |config|
config.vm.network "private_network",
ip: "fde4:8dba:82e1::c4",
netmask: "96"
end

Vagrant 从 1.7.5 版开始支持 IPv6,部分 provider 不支持 IPv6。

4. 关闭自动配置

如果需要手动配置网络接口,可以通过 auto_confit 选项关闭 Vagrant 的自动配置特性:

Vagrant.configure("2") do |config|
config.vm.network "private_network", ip: "192.168.50.4",
auto_config: false
end

如果在设置 auto_config 之前已经启动了 Vagrant,那么它最初放置的文件将保留在那里。这种情况下,必须手动删除这些文件或销毁并重新创建机器。

由 Vagrant 创建的文件取决于操作系统。例如,对于许多 Linux 发行版,是 /etc/network/interfaces。你需要查看为你的发行版配置网络接口的正常位置。

Vagrant 手册之网络 - 私有网络 private network的更多相关文章

  1. 区块链入门(2):搭建以太坊私有链(private network of ethereum),以及挖矿的操作..

    在做一些测试工作的时候, 为了方便控制以及更快的进入真正的测试工作,可能需要搭建一个私有的以太坊网络. 而以太坊节点之间能够互相链接需要满足1)相同的协议版本2)相同的networkid,所以搭建私有 ...

  2. OpenStack 网络服务 Neutron 私有网络构建(十九)

    本章内容基于之前提供者网络构建的基础上进行改动,之前文章参考如下: Openstack 网络服务 Neutron介绍和控制节点部署 (九) Openstack 网络服务 Neutron计算节点部署(十 ...

  3. Vagrant 手册之网络 - 公共网络 public network

    原文地址 Vagrantfile 配置文件中公共网络的标识符:public_network,例如: config.vm.network "public_network" Vagra ...

  4. openstack通过Network Namespace和iptables实现租户私有网络互訪和L3路由功能

    安装架构介绍 本文旨在通过自己搭建类似neutron (openvswitch + gre) 实现SDN 的环境,学习了解其工作原理,模拟核心原理.比方:同一租户自己定义网络 instance 互通, ...

  5. Vagrant 手册之网络 - 端口转发

    原文地址 Vagrantfile 配置文件中端口转发的网络标识符:forwarded_port,例如: config.vm.network "forwarded_port", gu ...

  6. Vagrant 手册之网络 - 概述及基本用法

    原文地址 - 概述 原文地址 - 基本用法 为了访问创建的 Vagrant 环境,Vagrant 为端口转发.连接公共网络.创建私有网络等功能暴露了一些高层网络选项. 高层网络选项用于提供可以跨 pr ...

  7. Virtual Private Cloud 专有网络 软件定义网络的方式 私有网络 大流量视频、直播类业务

    私有网络 VPC_云上网络空间_自定义网络 - 腾讯云 https://cloud.tencent.com/product/vpc 私有网络 VPC 简介 私有网络(Virtual Private C ...

  8. Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  9. Android训练课程(Android Training) - 使用Volley传输网络数据(Transmitting Network Data Using Volley)

    使用Volley传输网络数据(Transmitting Network Data Using Volley) Volley 是一个 HTTP 库,它使得在Android应用程序中操作网络更容易,是重要 ...

随机推荐

  1. Linux 查看日志文件

    1. tail命令:从文本文件的尾部开始查看,用于显示文本文件的末尾几行      tail -n filename    指定需要显示多少行          tail -f filename 实时 ...

  2. 把java(springboot)程序打包docker镜像

    前言:要在docker运行java(jar包)程序,就要把程序打包成docker镜像(以下简称镜像),可以先理解为镜像就是jar包 打包需要程序代码,java本身的打包环境(包括jdk和maven), ...

  3. 【汇总目录】eShopOnContainers

    随笔分类 - eShopOnContainers eShopOnContainers 知多少[10]:部署到 K8S | AKS 摘要:1. 引言 断断续续,感觉这个系列又要半途而废了.趁着假期,赶紧 ...

  4. 短篇文档兼职看过来 python 课后作业 assignment project

    文档兼职 开题报告 读后感 课后作业 等 代写 编程,Java ,Python,R,等语言的,国内外课程作业指导,写作. 有经验,有作品,成交快,放心! 可联系 QQ 550987425

  5. echart 属性设计大全

    // 全图默认背景  // backgroundColor: ‘rgba(0,0,0,0)’, // 默认色板 color: ['#ff7f50','#87cefa','#da70d6','#32cd ...

  6. mybatis对java自定义注解的使用

    转自:https://www.cnblogs.com/sonofelice/p/4980161.html 最近在学习spring和ibatis框架. 以前在天猫实习时做过的一个小项目用到的mybati ...

  7. python在类中使用__slot__属性

    在类中定义__slot__属性来限制实例的属性字段,在创建大量对象的场合可以减少内存占用. 创建大量对象是内存占用对比: 类中不使用__slot__ class MySlot:def __init__ ...

  8. zabbix 4.2 发送警告邮件Python脚本

    #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysimport getoptimport smtplibfrom email.MIMETe ...

  9. Java8 的一些新特性的学习理解

    近期在学习队列相关的一些知识,在学习过程中发现Iterable<T>接口中新增了两个新的方法,出于好奇,就想知道这是什么东东,干什么用的.俗话说:实践出真知,所以就有了以下反复的测试. 先 ...

  10. php中判断数组键值,array_key_exists和isset区别

    $arr = array('key' => NULL); if(isset($arr['key'])){ echo 'isset'; } else { echo 'unset'; } echo ...