Vagrant 手册之网络 - 端口转发
Vagrantfile 配置文件中端口转发的网络标识符:forwarded_port,例如:
config.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: "127.0.0.1"
Vagrant 端口转发可以将对宿主机端口的访问数据转发到虚拟机中,支持 TCP 和 UDP。
例如:如果虚拟机中的 80 端口上运行着 web 服务,可以通过端口转发映射到宿主机的 8080 端口,在宿主机的浏览器中访问 localhost:8080 时,所有的网络流量会被发送到虚拟机。
1. 定义端口转发
端口转发的配置需要两个参数,宿主机和虚拟机的端口。例如:
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080
end
这个配置使得虚拟机的 80 端口可以通过宿主机的 8080 端口访问到。
对于大多数 provider,端口转发默认绑定到所有接口。这意味着网络上的其他设备可以访问转发的端口。如果想限制访问,请参阅下面的 guest_ip 和 host_ip 设置。
2. 选项手册
这里列出了端口转发可用的全部选项。只有 guest 和 host 选项是必须的。下一部分有详细的使用示例。
- auto_correct (boolean):如果为 true,当宿主机的端口因为被占用而发生冲突时会自动更换端口。默认是 false。
- guest (int):要暴露给宿主机的虚拟机的端口。可以是任何端口。
- guest_ip (string):要绑定到端口转发的虚拟机的 IP。如果没有设置这个选项,端口会使用所有的 IP 接口。默认是空。
- host (int):用于访问虚拟机的宿主机的端口。必须大于 1024,除非 vagrant 以 root 身份运行(不建议)。
- host_ip (string):要绑定到端口转发的宿主机的 IP。如果没有指定,会绑定到所有的 IP。默认是空。
- protocol (string):“udp”或“tcp”之一。指定端口转发允许的协议。默认是“tcp”。
- id (string):规则名称,VirtualBox 中可见。默认是“protocol”“guest”(例如:“tcp123”)。
3. 端口转发的协议
默认情况下,所有定义的端口都只转发 TCP 协议。可以通过指定 protocol: 'udp' 来处理 UDP 流量。如果给定的端口需要同时监听两种协议,则必须将端口定义两次:
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 2003, host: 12003, protocol: "tcp"
config.vm.network "forwarded_port", guest: 2003, host: 12003, protocol: "udp"
end
4. 端口冲突和纠正
运行多个 Vagrant 机器以在不知情的情况下创建相互冲突的端口转发定义(例如,将两个独立的 Vagrant 项目转发到端口 8080)是很常见的。Vagrant 包含内置机制来自动检测并更正它。
端口冲突检测始终进行。Vagrant 不允许使用主机上正在接受流量或连接的端口进行端口转发。
每个端口转发的端口冲突自动纠正功能必须手动开启,因为它发生时通常会令人惊讶,并可能导致 Vagrant 用户认为端口未正确转发。启用自动纠正很简单:
Vagrant.configure("2") do |config|
config.vm.network "forwarded_port", guest: 80, host: 8080,
auto_correct: true
end
auto_correct: true 告诉 Vagrant 自动纠正任何端口冲突。在 vagrant up 或 vagrant reload 期间,Vagrant 会输出关于端口冲突检测的信息,并自动纠正,留意这些信息并根据提示进行下一步(使用端口纠正后分配的新端口)。
Vagrant 手册之网络 - 端口转发的更多相关文章
- Vagrant 手册之网络 - 概述及基本用法
原文地址 - 概述 原文地址 - 基本用法 为了访问创建的 Vagrant 环境,Vagrant 为端口转发.连接公共网络.创建私有网络等功能暴露了一些高层网络选项. 高层网络选项用于提供可以跨 pr ...
- Vagrant 手册之网络 - 公共网络 public network
原文地址 Vagrantfile 配置文件中公共网络的标识符:public_network,例如: config.vm.network "public_network" Vagra ...
- Vagrant 手册之网络 - 私有网络 private network
原文地址 Vagrantfile 配置文件中私有网络的标识符:private_network,例如: config.vm.network "private_network", ty ...
- 【VirtualBox】端口转发,ssh
端口转发 VirualBox的设置 - 网络 - 端口转发 里面有主机IP.主机端口.子系统IP.子系统端口 设置后的含义是:当外部访问主机IP:主机端口后,将会把访问映射到虚拟机的子系统IP和子系统 ...
- [转帖]Windows 内置端口转发功能
如何在Windows中使用netsh命令进行端口转发 https://www.freebuf.com/articles/system/176889.html 早上自己做了下实验,的确可以.linux下 ...
- 如何在Windows中使用netsh命令进行端口转发
自Windows XP开始,Windows中就内置网络端口转发的功能.任何传入到本地端口的TCP连接(IPv4或IPv6)都可以被重定向到另一个本地端口,或远程计算机上的端口,并且系统不需要有一个专门 ...
- linux rinetd、socat端口转发部署(很实用的网络工具)
端口转发映射的程序叫rinetd,下载地址,直接manke编译安装即可. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@PortForward02 src] ...
- 网络端口的作用及分类(转发:http://blog.csdn.net/dream_1996/article/details/73481201)
一.什么是端口? 在开始讲什么是端口(port)之前,我们先来聊一聊什么是 port 呢?常常在网络上听说『我的主机开了多少的 port ,会不会被入侵呀!?』或者是说『开那个 port 会比较安全? ...
- 【译】SSH隧道:本地和远程端口转发
本文是:SSH Tunnel - Local and Remote Port Forwarding Explained With Examples 的译文 有两种方法可以创建SSH隧道,本地和远程端口 ...
随机推荐
- using 用法拾忆
using 用法主要包括三种: 1.引用外部命名空间以及外部命名空间中定义的类型(指令) 2.创建命名空间别名,避免因名称相同造成的冲突(指令) 3.定义资源使用范围,在范围结束后释放资源对象(语句) ...
- c++ const 修饰变量位置含义
c++ const 修饰变量位置含义 const 修饰成员变量 const修饰指针变量时: 只有一个const,如果const位于*左侧,表示指针所指数据是常量,也就是指向常量的指针,不能通过解引用修 ...
- stl应用
http://codeforces.com/problemset/problem/1154/E E. Two Teams time limit per test 2 seconds memory li ...
- 最长回文子序列/最长回文子串(DP,马拉车)
字符子串和字符子序列的区别 字符字串指的是字符串中连续的n个字符:如palindrome中,pa,alind,drome等都属于它的字串 而字符子序列指的是字符串中不一定连续但先后顺序一致的n个字符: ...
- Linux常用指令全集
Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...
- k3 cloud工程量清单调整后工程量为零行设置为黄色
#引入clr运行库 import clr #添加对cloud插件开发的常用组件的引用 clr.AddReference('Kingdee.BOS') clr.AddReference('Kingdee ...
- P2617 Dynamic Rankings(待修改区间第k大)
题目链接:https://www.luogu.org/problemnew/show/P2617 题目: 题目描述 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的 ...
- 2019ICPC网赛南京站B题 super_log(欧拉降幂
https://nanti.jisuanke.com/t/41299 题意:让算a^(a^(a^(...))),一共b个a, (mod p)的结果. 思路:这是个幂塔函数,用欧拉降幂公式递归求解. # ...
- [CQOI2015]网络吞吐量(网络流+SPFA)
[CQOI2015]网络吞吐量 题目描述 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为路由器.为了使数据包最快的到达目的 ...
- (转)nginx+redis实现接入层高性能缓存技术
转自:https://blog.csdn.net/phil_code/article/details/79154271 1. OpenRestyOpenResty是一个基于 Nginx与 Lua的高性 ...