使用VirtualBox实现端口转发,以SSH与Django为例
先来认识几个概念
(1)IP地址:又称为互联网协议地址,是计算机的物理地址,相当于计算机的编号,是32位的二进制数,通常被分割成4个8位的二进制数;
(2)端口:指设备与外界通讯的接口,一台计算机的端口数为65536个,按类型可以分为周知端口、注册端口和动态端口三种;
(3)socket:套接字,是一个基于TCP/UDP的接口。网络上的两个程序通过一个双向的通信连接实现数据的交换,连接的一端称为socket服务端,另一端称为socket客户端;
(4)socket服务端:接收客户端数据,需要绑定IP与端口,其中IP为允许连接进来的IP地址,设置为"0.0.0.0"表示允许任意IP访问,端口为socket服务端的端口,客户端连接的端口需要与该端口相一致才能访问;
socket客户端:向服务端发送数据,需要连接IP与端口,其中IP为客户端IP地址,端口必须与socket服务端绑定的端口一致,否则无法连接,此外客户端的端口是注册端口,由系统随机分配。
客户端想要与服务端连接,则先要知道服务端的端口是多少,才能建立连接。虚拟机相当于socket服务端,本机相当于socket客户端,通过设置端口转发实现本机与虚拟机的交互,就要先知道虚拟机的端口,这些端口有的是周知端口,如SSH的端口为22,有的是注册端口,这些端口需要先设置。下面分别以ssh和虚拟机上的Django为例,分别使用VirtualBox实现端口转发
(1)使用VirtualBox实现SSH端口转发
这里我把主机端口设为"1234",主机端口只要没使用过,可以设置1024-49151中的任意一个数。
步骤:点击"设置"—>选择"网络"—>"网卡1"—>"高级"—>"端口转发"—>点击"+"新建规则—>名称:SSH,协议:TCP,主机端口:1234,子系统端口:22

(2)使用VirtualBox实现Django端口转发
在虚拟机中安装Django,此时Django相当于socket服务端,浏览器相当于socket客户端。创建项目后,由于Django的端口是注册端口,因此需要先设置端口开启服务,在项目目录下执行命令
·python python manage.py runserver 0.0.0.0:6969
注意:"0.0.0.0"表示任意IP地址都可以访问,"6969"表示虚拟机端口,对应端口转发规则里的子系统端口。
接着设置Django端口转发,这里把主机端口设为"8000"
步骤:点击"设置"—>选择"网络"—>"网卡1"—>"高级"—>"端口转发"—>点击"+"新建规则—>名称:Django,协议:TCP,主机端口:8000,子系统端口:6969

设置好Django端口转发后,在本地打开浏览器,输入IP地址和服务器端口:127.0.0.1:8000,就可以访问设置的Django服务器
使用VirtualBox实现端口转发,以SSH与Django为例的更多相关文章
- 【VirtualBox】端口转发,ssh
端口转发 VirualBox的设置 - 网络 - 端口转发 里面有主机IP.主机端口.子系统IP.子系统端口 设置后的含义是:当外部访问主机IP:主机端口后,将会把访问映射到虚拟机的子系统IP和子系统 ...
- 使用VirtualBox进行端口转发 连接数据库
转自 http://blog.sina.com.cn/s/blog_484d87770102uxi6.html 使用VirtualBox很久了,很多用法都没有深钻,真的是不虚心学习啊. 由 ...
- 【端口转发】k8s port-forward端口转发 和 ssh -NfL端口转发
kubectl port-forward端口转发 将远程pod端口转发到本地端口 kubectl port-forward monitoring-grafana-695c545f46-rhtwc -- ...
- SSH的端口转发:本地转发Local Forward和远程转发Remote Forward
关于使用ssh portforwarding来进行FQ的操作,网络上已经有很多很好的文章,我在这里只是画两个图解释一下. 首先要记住一件事情就是: SSH 端口转发自然需要 SSH 连接,而 SSH ...
- [转] SSH原理与运用(2):远程操作与端口转发
英文:阮一峰 链接:http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html 接着前一次的文章,继续介绍SSH的用法. (Imag ...
- 【转】实战 SSH 端口转发
本文转自:http://www.ibm.com/developerworks/cn/linux/l-cn-sshforward/index.html,至于有什么用,懂的懂! 实战 SSH 端口转发 通 ...
- SSH原理与运用(二):远程操作与端口转发
SSH原理与运用(二):远程操作与端口转发 作者:阮一峰 (Image credit: Tony Narlock) 七.远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作. 上一 ...
- SSH 端口转发
第一部分 概述 当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我 ...
- 实战 SSH 端口转发
转自实战 SSH 端口转发 通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业 ...
随机推荐
- spring基于通用Dao的多数据源配置
有时候在一个项目中会连接多个数据库,须要在spring中配置多个数据源,近期就遇到了这个问题,因为我的项目之前是基于通用Dao的,配置的时候问题不断.这样的方式和资源文件冲突:扫描映射文件的话,Sql ...
- POJ2417 Baby-Step-Gaint-Step 算法
考虑一个问题:A^x%p=B,给定A,B,p,求x的最小非负整数解. 在p是质数的情况下,这个问题比較简单. A^x=B(mod P) (P is a Prime, A,B<P) Let m = ...
- WPF学习笔记——DataContext 与 ItemSource
作为一个WPF新手,在ListBox控件里,我分不清 DataContext 与 ItemSource的区别. 在实践中,似乎: <ListBox x:Name="Lst" ...
- 为Chrome开发插件提高工作效率
工作生活,什么最珍贵,我觉得是时间,怎么节约时间是一个最重要的问题,如果你有重复的工作在网页上,请接着看 上手步骤: 打开https://developer.chrome.com/extensions ...
- HTML如何让IMG自动适应DIV容器大小
版权声明:本文为博主原创文章,未经博主允许不得转载.作者:沙师弟专栏 https://blog.csdn.net/u014597198/article/details/80403946HTML如何让I ...
- C++ Web 编程(菜鸟教程)
C++ Web 编程(菜鸟教程) C++ Web 编程 什么是 CGI? 公共网关接口(CGI),是一套标准,定义了信息是如何在 Web 服务器和客户端脚本之间进行交换的. CGI 规范目前是由 NC ...
- 2-2 第二天 利用 QQ 浏览器代理调试端口
在没有域名服务器的情况下微信代理的方案 echo "api_key: N3DYn5356kYDvcd67fRxoecKxQV7fTE0" > ~/.ultrahook gem ...
- Ruby 各种离奇运算符
创建: 20170717 更新: 改变分类 Rails ---> Ruby 更新: 2017/10/16 增加&., #try 参考: 传送门 ||= a ||= b相当于 a = ...
- 一段时间加载的js函数
<html><head><meta charset="utf8"><script type="text/javascript&q ...
- Python 28 选课系统的讲解
1.首先我们要对每一个新的项目有一个明确的思路,脑子是好东西,但是好记性不如烂笔头,所以,要把能想到的都写下来 2.然后就是创建项目的整体结构框架,比如说:conf ( 配置文件 ) .core ( ...