ssh是我使用最频繁的两个命令行工具之一(另一个则必须是vim)。有了ssh,我可以远程处理各种可能出现的问题而无需肉身到现场。
这几天teamviewer被黑的事情影响挺大,于是由远程控制想到了内网穿透,自然而然的想到了ssh的端口转发也能实现内网穿透。再细想一下,发现ssh隧道、或者说端口转发,竟然实现了正向代理、反向代理和内网穿透三种常用的网络功能,更佩服其功能的强大和使用中的便利。
ssh有三种端口转发模式,本文一一对其做简要介绍。
本地转发
本地端口转发(Local Port Forwarding),是将本地主机某个端口流量转发到远程主机的指定端口。其命令行语法是:-L [bind_address]:localport:[remote_host]:remote_port。”-L”即“local”的首字母,类似的远程转发的”-R”是“remote”的首字母,动态转发的“-D”是“dynamic”的首字母,很好记。

举一个例子说明本地转发的使用场景。
CentOS 7安装GUI界面及远程连接一文中介绍了安装vnc服务并开启端口访问。在实际中,暴露出来的59xx端口每天都会源源不断的受到自动化脚本的爆破攻击。如果你的vnc和登录用户使用弱密码或字典密码,主机安全将受到极大威胁。这种情形下该如何防护?
一种简单安全的防护方法是:使用iptables/firewalld关闭端口的外网访问,有连接需求时用ssh隧道转发端口:
ssh -L5901:5901 username@host
该命令中将本地的5901端口通过ssh隧道转发到远程主机的5901端口,远程连接时输入localhost或者127.0.0.1和5901端口便连到了远程主机的5901端口。通过iptables和ssh的本地转发,实现了他人无法连接,只有自己才能访问的目的。
需要注意的是“-L”选项中的“远程主机”并不特指连接过去的机器(默认是连接上的机器),可以是任何一主机。例如可以将本机的8080端口流量转发到facebook.com的80端口:
ssh -L8080:facebook.com:80 username@host
远程转发
远程端口转发(Remote Port Forwarding),是将远程主机某个端口转发到远程主机的指定端口。其命令行语法是:-R [bind_address]:port:[local_host]:local_port。
远程转发最常用的功能是内网穿透。有一个公网ip的主机,便可以借助ssh隧道的远程转发实现内网渗透,达到外网访问内网资源的目的。需要注意的是ssh远程转发默认只能绑定远程主机的本地地址,即127.0.0.1。如果想要监听来自其他主机的连接,需要修改远程主机ssh的配置,将”GatewayPorts”改成“yes”,重启ssh后生效。
一个将远程的8080端口流量转发到本地80web端口的示例:
ssh -R0.0.0.0:8080:80 username@host
通过远程转发,访问公网ip主机的8080端口便是访问内网web主机的80端口,这样就实现了内网穿透。
动态转发
无论本地转发还是远程转发,都需要指定本地和远程主机的端口。动态转发(Dynamic Port Forwarding)则摆脱这种限制,只绑定本地端口,远程主机和端口由发起的请求决定。动态转发的语法是:”-D bind_address:port”,一个转发示例:
ssh -D 8080 username@host
该命令让ssh监听本地8080端口,经过8080端口的流量都通过ssh隧道由远程 服务器 代为请求,从而达到获取被屏蔽资源、隐藏真实身份的目的。
动态转发实际上实现了正向代理功能,因此可以用来科学上网。本地转发也可以做正向代理,但要对每一个请求的主机和端口做转发,比较繁琐,实践中不会这么用。
其它
本篇文章到此结束,如果您有相关技术方面疑问可以联系我们技术人员远程解决,感谢大家支持本站!
香港服务器首选树叶云,2H2G首月10元开通。树叶云(shuyeidc.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
为什么linux系统安装virtualbox后不能创建仅主机网络
VirtualBox的提供了四种网络接入模式,它们分别是:1、NAT网络地址转换模式(NAT,Network Address Translation)2、Bridged Adapter桥接模式3、Internal内部网络模式4、Host-only Adapter主机模式第一种 NAT模式解释:NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:Vhost访问网络的所有数据都是由主机提供的,vhost并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Vhost的存在。 虚拟机与主机关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。 虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。 虚拟机与虚拟机之间的关系:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。 IP:10.0.2.15网关:10.0.2.2DNS:10.0.2.3一台虚拟机的多个网卡可以被设定使用 NAT, 第一个网卡连接了到专用网 10.0.2.0,第二个网卡连接到专用网络 10.0.3.0,等等。 默认得到的客户端ip(IP Address)是10.0.2.15,网关(Gateway)是10.0.2.2,域名服务器(DNS)是10.0.2.3,可以手动参考这个进行修改。 NAT方案优缺点:笔记本已插网线时: 虚拟机可以访问主机,虚拟机可以访问互联网,在做了端口映射后(最后有说明),主机可以访问虚拟机上的服务(如数据库)。 笔记本没插网线时: 主机的“本地连接”有红叉的,虚拟机可以访问主机,虚拟机不可以访问互联网,在做了端口映射后,主机可以访问虚拟机上的服务(如数据库)。 第二种 Bridged Adapter模式解释:网桥模式是我最喜欢的用的一种模式,同时,模拟度也是相当完美。 你可以这样理解,它是通过主机网卡,架设了一条桥,直接连入到网络中了。 因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。 虚拟机与主机关系:可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。 虚拟机于网络中其他主机关系:可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。 虚拟机于虚拟机关系:可以相互访问,原因同上。 IP:一般是DHCP分配的,与主机的“本地连接”的IP 是同一网段的。 虚拟机就能与主机互相通信。 笔记本已插网线时:(若网络中有DHCP服务器)主机与虚拟机会通过DHCP分别得到一个IP,这两个IP在同一网段。 主机与虚拟机可以ping通,虚拟机可以上互联网。 笔记本没插网线时:主机与虚拟机不能通信。 主机的“本地连接”有红叉,就不能手工指定IP。 虚拟机也不能通过DHCP得到IP地址,手工指定IP后,也无法与主机通信,因为主机无IP。 这时主机的VirtualBox Host-Only Network 网卡是有ip的,192.168.56.1。 虚拟机就算手工指定了IP 192.168.56.*,也ping不能主机。 第三种 Internal模式解释:内网模式,顾名思义就是内部网络模式,虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。 虚拟机与主机关系:不能相互访问,彼此不属于同一个网络,无法相互访问。 虚拟机与网络中其他主机关系:不能相互访问,理由同上。 虚拟机与虚拟机关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。 如上配置图中,名称为intnet。 IP: VirtualBox的DHCP服务器会为它分配IP ,一般得到的是192.168.56.101,因为是从101起分的,也可手工指定192.168.56.*。 笔记本已插网线时:虚拟机可以与主机的VirtualBox Host-Only Network 网卡通信这种方案不受主机本地连接(网卡)是否有红叉的影响。 第四种 Host-only Adapter模式解释:主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。 可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。 我们可以理解为Vbox在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,比如(网卡共享、网卡桥接等)。 虚拟机与主机关系默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。 通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。 虚拟机与网络主机关系默认不能相互访问,原因同上,通过设置,可以实现相互访问。 虚拟机与虚拟机关系默认可以相互访问,都是同处于一个网段。 虚拟机访问主机 用的是主机的VirtualBox Host-Only Network网卡的IP:192.168.56.1,不管主机“本地连接”有无红叉,永远通。 主机访问虚拟机,用是的虚拟机的网卡3的IP: 192.168.56.101,不管主机“本地连接”有无红叉,永远通。 虚拟机访问互联网,用的是自己的网卡2, 这时主机要能通过“本地连接”有线上网,(无线网卡不行)通过对以上几种网络模式的了解,我们就可以灵活运用,模拟组建出我们所想要的任何一种网络环境了。 比如我想模拟出来一个一台主机,监控一个局域网上网情况的网络环境。 首先我开启了两台虚拟机vhost1与vhost2,当然如果硬件允许,我同样可以再增加vhost3、vhost4…所有的vhost我都设置成internat内网模式,网络名称为intnal,网关为192.168.56.100,意思就是通过 192.168.56.100网卡上网。 其中有一台vhost1我设置为双网卡,一张为内网模式(192.168.56.100),一张为网桥模式(192.168.1.101)。 两张网卡设置双网卡共享上网虚拟机之间为局域网,其中有一台虚拟机vhost1通过与外网相连,所有局域网中的虚拟机又通过vhost1来实现上外网。 这样vhost1就可以监控整个虚拟机局域网上网情况了。 NAT 设置端口映射你可以设置一个虚拟机的服务(比如 WEB服务),通过使用命令行工具 VboxManage 代理。 你需要知道虚拟机的服务使用哪个端口,然后决定在主机上使用哪个端口(通常但不总是想要使虚拟机和主机使用同一个端口)。 在主机上提供一个服务需要使用一个端口,你能使用在主机上没有准备用来提供服务的任何端口。 一个怎样设置新的 NAT 例子,在虚拟机上连接到一个 ssh 服务器,需要下面的三个命令:VBoxManage setextradata Linux Guest VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol TCPVBoxManage setextradata Linux Guest VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort 22VBoxManage setextradata Linux Guest VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort 2222说明:VboxManage 是一个命令行程序,请查询你的 VirtualBox 安装目录,Linux Guest 是虚拟主机名。 guestssh 是一个自定义的名称,你可以任意设置,通过上面的三个命令,把虚拟机的 22 端口 转发到主机的 2222 端口。 又比如,我在虚拟机 debian 上安装了 apache2 服务器,使用 80 端口,映射到主机的 80 端口。 使用下面的命令。 C:\Program Files\innotek VirtualBox\ setextradata debian VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/Protocol TCPC:\Program Files\innotek VirtualBox\ setextradata debian VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/GuestPort 80C:\Program Files\innotek VirtualBox\ setextradata debian VBoxInternal/Devices/pcnet/0/LUN#0/Config/huzhangsheng/HostPort 80注意:要使设置生效,请关掉 VirtualBox 再运行虚拟机,我把 VirtualBox 安装在 winxp 上,在虚拟机中安装 debian 4.02r ,虚拟机名是 debian ,并安装了 apache2 php5 mysql-server ,在主机上用IE浏览,成功转发到虚拟机 debian 的 apache2 web 服务器上上文出处:个人感觉通过使用端口映射的方式很不爽,还不如直接桥接来的快,现在多数情况下连接到网络是没问题的,端口映射还需要在宿主跟虚拟机都额外开某个服务,感觉不爽。 “网络”配置页面有4个方案:1:NAT网络地址转换(Network Address Translation)2:Birdged Network桥接3:Internal Network内部网络(可以是虚拟机与虚拟机之间)4:Host-Only 只与主机通信(大概吧)安装完VirtualBox2.2后,主机多了一个“VirtualBox Host-Only Network ”本地网卡。
引起网络广播风暴的几种原因
目前,工作在网吧网络中的网络设备,基本上都是交换机了。 对于交换机,大家并没有真正的了解其工作原理。 一、交换机基础知识1、交换机的定义:交换机是一种基于MAC(网卡的硬件地址)识别,能完成封装转发数据包功能的网络设备。 交换机可以学习MAC地址,并把其存放在内部地址表中,通过在数据帧的始发者和目标接收者之间建立临时的交换路径,使数据帧直接由源地址到达目的地址。 现在,交换机已经替代了我们原来比较熟悉的网络设备集线器,又称Hub。 但是这并不意味着,我们不需要了解Hub的基本知识。 2、集线器的定义:集线器(HUB)属于数据通信系统中的基础设备,它和双绞线等传输介质一样,是一种不需任何软件支持或只需很少管理软件管理的硬件设备。 它被广泛应用到各种场合。 集线器工作在局域网(LAN)环境,像网卡一样,应用于OSI参考模型第一层,因此又被称为物理层设备。 集线器内部采用了电器互联,当维护LAN的环境是逻辑总线或环型结构时,完全可以用集线器建立一个物理上的星型或树型网络结构。 在这方面,集线器所起的作用相当于多端口的中继器。 其实,集线器实际上就是中继器的一种,其区别仅在于集线器能够提供更多的端口服务,所以集线器又叫多口中继器。 二、交换机与集线器的区别1、交换机与集线器的本质区别:用集线器组成的网络称为共享式网络,而用交换机组成的网络称为交换式网络。 共享式以太网存在的主要问题是所有用户共享带宽,每个用户的实际可用带宽随网络用户数的增加而递减。 这是因为当信息繁忙时,多个用户可能同时争用一个信道,而一个信道在某一时刻只允许一个用户占用,所以大量的用户经常处于监测等待状态,致使信号传输时产生抖动、停滞或失真,严重影响了网络的性能。 2、在交换式以太网中,交换机提供给每个用户专用的信息通道,除非两个源端口企图同时将信息发往同一个目的端口,否则多个源端口与目的端口之间可同时进行通信而不会发生冲突。 通过实验测得,在多服务器(server网络资源)组成的LAN 中,处于半双工模式下的交换式以太网的实际最大传输速度是共享式网络的1.7倍,而工作在全双工状态下的交换式以太网的实际最大传输速度可达到共享式网络的3.8倍。 交换机只是在工作方式上与集线器不同,其他的如连接方式、速度选择等与集线器基本相同,目前的交换机同样从速度上分为10M、100M和1000M几种,所提供的端口数多为8口、16口和24口几种。 交换机在局域网中主要用于连接工作站、Hub、服务器(server网络资源)或用于分散式主干网。 三、产生广播风暴的原因通过对以上网络设备的了解,我们就可以简单分析出来,网络产生广播风暴的原因了。 一般情况下,产生网络广播风暴的原因,主要有以下几种:1、网络设备原因:我们经常会有这样一个误区,交换机是点对点转发,不会产生广播风暴。 在我们购买网络设置时,购买的交换机,通常是智能型的Hub,却被奸商当做交换机来卖。 这样,在网络稍微繁忙的时候,肯定会产生广播风暴了。 2、网卡损坏:如果网络机器的网卡损坏,也同样会产生广播风暴。 损坏的网卡,不停向交换机发送大量的数据包,产生了大量无用的数据包,产生了广播风暴。 由于网卡物理损坏引起的广播风暴,故障比较难排除,由于损坏的网卡一般还能上网,我们一般借用Sniffer局域网管理软件,查看网络数据流量,来判断故障点的位置。 3、网络环路:曾经在一次的网络故障排除中,发现一个很可笑的错误,一条双绞线,两端插在同一个交换机的不同端口上,导致了网络性能急骤下降,打开网页都非常困难。 这种故障,就是典型的网络环路。 网络环路的产生,一般是由于一条物理网络线路的两端,同时接在了一台网络设备中。 4、网络病毒:目前,一些比较流行的网络病毒,Funlove、震荡波、RPC等病毒,一旦有机器中毒后,会立即通过网络进行传播。 网络病毒的传播,就会损耗大量的网络带宽,引起网络堵塞,引起广播风暴。
背板带宽是什么?
1、背板带宽和交换架构有什么区别?交换架构是指数据穿越设备的方式。 主要有:总线型:数据包通过总线达到所有端口,然后由中央处理器告诉每个端口是继续转发还是丢弃该数据包。 共享内存型:数据包被放到共享内存中,然后中央处理器告诉应该转发数据的端口/模块到指定位置读取数据。 交叉矩阵型:数据通过交叉矩阵开关直接送往该去的模块/端口。 可以由中央处理器决定送往方向,也可以由输入模块自己决定。 后者也就是分布式处理。 一般只有交叉矩阵型可以做到完全的分布式处理。 背板带宽是指数据包穿越设备时可以用到的带宽总和。 总线型就是总线的宽度,共享型是每个模块到达中央处理器的总线宽带的总和,交叉矩阵型是每个模块连接到矩阵的总线带宽的总和。
发表评论