使用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 端口转发机制来解决日常工作 / 生活中的一些问题.学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业 ...
随机推荐
- 使用Pods和自定义静态库实现多工程联编
使用Pods和自定义静态库实现多工程联编 字数607 阅读112 评论0 喜欢0 近来随着公司项目开发的深入,项目的规范也就越来越高了,为了更加方便的管理自定义静态库与pods之间的联系,好好的研究了 ...
- C++<iomanip>控制符
C++<iomanip>控制符 c++ cout 输出格式 在c++程序里面经常见到下面的头文件 #include <iomanip> io代表输入输出,manip是manip ...
- c# winform 多条件查找 外加网络人才回答
浮生 Э 2012-11-22 c# winform 多条件查找 20 我现在有2个textbox 一个是用户名,另一个是电话 现在想对这两个进行条件查找datagridview里的数据 s ...
- mtools 是由MongoDB 官方工程师实现的一套工具集,可以很快速的日志查询分析、统计功能,此外还支持本地集群部署管理.
mtools 是由MongoDB 官方工程师实现的一套工具集,可以很快速的日志查询分析.统计功能,此外还支持本地集群部署管理 https://www.cnblogs.com/littleatp/p/9 ...
- bzoj2595 [Wc2008]游览计划——斯坦纳树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2595 今天刚学了斯坦纳树,还不太会,写一道题练习一下: 参考了博客:http://www.c ...
- python 函数参数的传递(参数带星号的说明)
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- vs code golang代码自动补全
“go.useCodeSnippetsOnFunctionSuggest”: true 文件-->首选项--->设置--->用户设置 添加下行:然后就可以自动补全了,包括() “go ...
- php文件,文件夹
例子代码:<?php$f='/www/htdocs/index.html';$path_parts = pathinfo($f);echo $path_parts['dirname'], &qu ...
- Python 43 视图 、sql注入问题 、事务 、存储过程
一:视图 1 视图是什么? 本质是一张虚拟的表,他的数据来自select语句 创建视图 create view test_view select *from t1; 2 有什么用? 原表安全 案例: ...
- 2015 多校赛 第四场 1010 (hdu 5336)
Problem Description XYZ is playing an interesting game called "drops". It is played on a r ...