xshell如何删除高级端口转发规则则?

xshell 端口转发
在没有vpn环境下使用端口转发
添加隧道窗口
侦听端口:本地转发的端口
目标主机添加远程ip,或者本地ip
目标端口:需要转发的端口
本文出自 “笔记本” 博客,请务必保留此出处http://zcnick./5720
> 本站内容系网友提交或本网编辑转载,其目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请及时与本网联系,我们将在第一时间删除内容!
工作中经常会遇到一些服务器访问受限的问题:某些服务器只有私网ip地址,仅能通过内网ip连接,或如mysql服务器或登录其它机器的ssh. 这些问题当然许多解决办法,本文就使用'xshell'通过ssh开启代理的方式来解决这个问题,恻重介绍其内置的三种方式: Local(Outgoing) Remote(Incoming) Dynamic(SOCKS4/5)
在RedHat提供的系统管理员指南中提到OpenSSH不止是一个安全shell,它还具有X11转发(X11 Forwarding)和端口转发(Port Forwarding)的功能.X11功能一般用于通过ssh连接到服务器端的图形界面,像远程桌面一样使用Linux服务器主机,客户端只要能访问服务器端并且服务器端已经安装了图形界面管理器(如GNOME.KDE. ...
ecure Network (ssh端口映射)-----图详细可以使用
14:54:44| 分类:rhel_ssh|字号订阅 实战 SSH 端口转发 /developerworks/cn/linux/l-cn-sshforward/ SSH的端口转发:本地转发Local Forward和远程转发Re ...
原文的原始出处不详,本文也是在引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写程序,查数据,下电影). 公司为了防止我们用XX软件封锁了它的端口或者服务器地址. 公司不让我们上XX网站,限制了网址甚至IP. 公司不让我们看关于XX的信息 ...
http://zhumeng8337797./blog/static// 实战 SSH 端口转发 /developerworks/cn/linux/l-cn-sshforward/ SSH的端口转发:本地转发Local Forward和远程转发Rem ...
工作中经常会遇到类似下面的问题:机房服务器上的某个端口只允许本地访问,如monit的管理端口2812端口,dell服务器的管理端口1311:机房某些服务器没有公网ip地址,只允许通过内网ip连接,如mysql服务器.这些问题有许多解决办法,这里我用xshell通过ssh开启代理的方式教你解决这个问题. 工具/原料 一个ssh账户,可以连接到一台Linux服务 ...
搞了一天,终于搞定iptables了,,开头就对着人家配对了的配置对抄,但怎也不对,在网上搜了N多文章也不对,终于找到了一篇比较详细的,看了二次,终于配置成功,现在可以用端口映射访问内网的SSH和VNC等等的了 本文作者:张天成
转发请注明出处. iptables是一个Linux下优秀的nat+防火墙工具,我 ...
端口转发场景应用 本地转发方式 场景1:假设有三台服务器ip配置如下 A:eth0:192.168.1.2 (1段) B:eth0:192.168.1.3,eth1:192.168.2.1,(1段2段都通) C:eth0:192.168.2.2 (2段) 需要A传文件到C机器上 A机操作 第一步: A#ssh -L .2.2:22 r ...读者可能会发现XShell的连接属性-_解决方案网当前位置:& &&&SSH隧道应用, 冲破网络限制SSH隧道应用, 冲破网络限制本文收集于网络,只用于方便查找方案,感谢源作者,如果侵权请联系删除SSH隧道应用, 突破网络限制文/怡文圣美
这篇文章可以帮你解决下面三个问题:
不能直连服务器, 要先登陆跳板机, 造成客户端工具无法连接服务器.
服务器没有公网IP, 且只允许公司IP访问, 要在家里操作要先远程桌面到工作机再登陆服务器, 速度很慢又不稳定. 你有一台公网服务器, 希望能借它牵线搭桥.
用最简单的办法为服务器增加代理功能.
一. SSH隧道技术
要解决本文开头的三个问题, 最佳方案肯定是ssh隧道. 什么是ssh隧道呢? 请参考阮一峰老师写的.
阮一峰老师说到, ssh隧道有三种类型, 正好可以用来解决文章开头提到的三个问题. 这三个类型是:
本地端口转发.
远程端口转发.
绑定本地端口.
ssh隧道使用命令就可以创建, 工作中我们有先进的工具辅助, 可以为你省去不少麻烦, 比如你手头肯定会有的SecureCRT, 或者XShell.
二. 使用隧道绕过跳板机
用通俗的话讲, 这里的隧道在做这么一件事: 服务器A上有个程序, 监听3306端口, 存在一台服务器B分别和你的工作机以及服务器A的网络相通, 你在服务器A和服务器B上都有登陆权限, 隧道可以帮你把服务器A的3306端口映射到服务器B或者你的工作机上, 连接映射后的3306端口就等同于连接服务器A的3306端口.
工作中, 公司IT部为保证服务器安全, 工作机和服务器A之间的网络是不通的, 需要借助充当跳板机角色的服务器B. 你需要先ssh到服务器B, 再ssh到服务器A. 这对控制台下的一般管理还算能接受, 但对于不得不借助客户端工具的任务就无法实施了. 所以, 使用隧道, 把服务器A的3306端口映射到本地, 客户端工具中修改地址为localhost:3306, 客户端工具就能正常连接服务器A了.
使用工具创建隧道前先确保已将服务器B的ssh公钥上传至服务器A, 如果不明白我说的是什么, 请参考阮一峰老师写的的第五节: 公钥登录
这里以XShell为例, SecureCRT类似. 打开服务器B的连接属性, 有一个被&特意&加粗显示的菜单叫隧道, 右边大红框中展示的是已经建立的, 点击&添加&按钮添加新隧道.
类型(方向)选择Local (Outgoing), 源主机一栏填写你想映射到哪里, 侦听端口填写映射后的端口, 这里填写localhost和3306, 代表映射到本的3306端口. 目标主机为服务器A的IP, 目标端口为3306, 意思是把服务器A的3306端口映射到本地. 确定后就添加了一条映射规则, 以后只要打开这个连接, 这条映射规则就会生效.
查看菜单里的&隧道窗格&可以显示当前会话所建立的隧道(转义规则标签)以及当前有哪些隧道正在通信(渠道标签).
有些客户端工具也自带隧道功能, 比较常见的就是各种数据库连接工具, 如HeidiSQL, MySQL Workbench, Navicat等等
总结: 有了ssh隧道后, 任意被跳板机&挡住&的服务器端口都可以映射到本地或者你能直连的服务器上.
三. 使用反向隧道绕过防火墙
这里的反向隧道应用于这样一种场景: 公司服务器A位于内网, 没有公网IP, 只能被公司IP的电脑登陆. 你有一台公网服务器C, 可以被家中电脑和服务器A主动连接.
利用反向隧道可以让服务器C成为连通家中电脑和公司服务器A的桥梁. 使用反向隧道的大致步骤为:
在公司登陆服务器A, 和服务器C之间建立反向隧道,
在家里登录服务器C,
连接反向隧道从而登陆服务器A.
可以发现服务器A是主动连接服务器C的, 这就顺利突破了公司防火墙和没有公网IP的限制. 这就是反向的含义.
具体的步骤是先用公司的工作机登陆服务器A执行命令:
ssh -R 7000:localhost22 root@ServerC_IP
含义是登陆服务器C后, 将本地的22端口映射到服务器C的7000端口上. 这时候不能退出, 不能关电脑, 不能断网络. 待你回到家后用家中电脑登陆服务器C, 执行:
netstat -lpn | grep 7000
会发现一个被打开的7000端口, 这就是隧道了. 该端口等同于服务器A的22端口, 你执行下面命令就可以登陆服务器A了:
ssh user@localhost -p 7000
工作机上如果退出服务器C的登陆, 隧道就会被关闭, 所以这种方案也只能适合工作机可以长时间不关的人.
读者可能会发现XShell的连接属性-&隧道-&添加-&类型(方向)下拉框中有一个选项叫Remote (Incoming), 这种类型对应的也是反向隧道. 但笔者用这种方式建立的隧道无法使用, 既没有报错, 也没有成功映射端口.有知道这个选项到底干嘛用的请一定要告诉我哦 O(∩_∩)O~.
总结: 在知道反向隧道之前, 你登录公司服务器的方法可能是先远程桌面到工作机, 再登陆公司服务器, 这之间可能还要先登录跳板机, 受远程桌面和网络质量的影响, 这样2次跳板后到达服务器的操作感受会很糟糕. 现在只需要跳转1次, 关键是省去了远程桌面, 操作流畅度会大大提高.
四. 使用代理隧道搭建代理服务器
阮一峰老是在中说的绑定本地端口类型指的就是代理隧道, 这点可以从XShell的连接属性-&隧道-&添加-&类型(方向)-&Dynamic (SOCKS4/5)就可以看出:
这样的隧道建立后, localhost:8080就是代理服务器地址了, 代理的网络环境就是会话所连接的服务器网络.
这种隧道非常适合用来调试线上系统. 比如采用分布式部署的应用, 从公网访问, 均衡负载会随机分配一台主机响应, 想要调试指定的一台主机怎么办? 你可以在均衡负载机上建立代理隧道, 浏览器中配置均衡负载为代理服务器, 浏览器地址栏输入主机的内网IP就可以访问指定的主机了.
总结: 虽然Linux安装ss5不难, 但在公司的服务器上安装就不妥了. 这种基于ssh的ss5代理方式比较轻量级, 无需在服务器上安装什么, 打开关闭很容易, 不相关人也无法使用, 简单又安全.
完. 上一篇:下一篇:
File: 10:03:21(window.slotbydup=window.slotbydup || []).push({
id: '2397579',
container: s,
size: '680,60',
display: 'inlay-fix'
Xshell有什么用途 什么是Xshell?
发表时间: 14:20:02|
编辑:无梦为安
授权:免费软件
大小:27.80MB 大小:简体
Xshell是一款非常好用的免费SSH客户端,可以作为Telnet...
Xshell是一款功能强大且安全的终端模拟器,支持SSH、SFTP、TELNET、RLOGIN和SERIAL。今天小编就带大家详细了解一下到底什么是Xshell。一、 系统环境图1.1.2系统要求Xshell 需要在以下的系统环境中才能正常运行:操作系统:Windows 7, Windows 8, Windows 8.1, Windows xp, Vista, Windows Terminal Server, Citrix MetaFrame for Windows内存:256 MB (推荐 512 MB)硬盘:50M:TCP/IP微软Wins1.1或更高版本二、 Xshell功能网络上的终端模拟器软件有很多种,但是之所以选择xshell是因为一下的特点:1)分页环境Xshell标签可以脱离原来的窗口并重新创建一个新窗口或重新一个完全不同的窗口。另外,单个的窗口可以垂直或水平分割,从而使一个窗口显示多个终端会话。2)动态端口转发系统管理员经常必须使用多个远程主机,并沉闷的一遍又一遍的执行重复的任务。使用新的同步输入重定向特性,所输入的东西能够同时发送到多个所选择的终端。3)自定义键映射终端密钥和文件菜单可以被映射到用户偏爱的键位,你甚至可以映射一个用来启动应用程序或脚本的键。4)用户定义按钮通常,用户必须多次重复输入相同的字符串。而xshell只需要点击按钮就可以完成重复字符串命令的输入,快速命令能够节省很多时间。5)VB脚本支持VB脚本,Javascript和Python。使用户可以使用脚本自动处理单调、重复的任务。6)支持IPv6无论你是同时使用IPv4和IPv6网络或者完全的IPv6网络,Xshell 5都可完全满足你的需求。7)支持国际语言的UNICODE终端支持UTF8编码。在UTF8支持下,Xshell可以在一个终端屏幕显示多种语言。如果你的数据库是由不同的语言写的,这个特性就会特别的有用。三、Xshell用途Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的,通俗来讲就是远程操控。使用人群主要是大型企业的网管,研究机构、大学院校的网络服务器管理人员,以及技术宅男们,女生一般不会使用,因为界面太丑了。
热门游戏专题
猜你喜欢的游戏
<a href="/game/1232.html" target="_blank" title="红色警戒2尤里的复仇红色警戒2尤里的复仇SSH隧道技术----端口转发,socket代理 - 一际孤鸿 - 推酷
SSH隧道技术----端口转发,socket代理 - 一际孤鸿
本文大部分参考引用加copy:
本文的受众
如果你遇到了以下问题,那么你应该阅读这篇文章
我听说过这种技术,我对它很感兴趣
我想在家里访问我在公司的机器(写程序,查数据,下电影)。
公司为了防止我们用XX软件封锁了它的端口或者服务器地址。
公司不让我们上XX网站,限制了网址甚至IP。
公司不让我们看关于XX的信息,甚至花血本买了XX设备,能够对内容进行过滤。一看XX内容,链接就中断了。
我爸是搞电脑的,他在家里的路由器上动了手脚,我不能看XXX了。
带着这些问题,我们先从什么是ssh隧道开始。
什么是SSH隧道
首 先看下面这张图,我们所面临的大部分情况都和它类似。我们的电脑在左上角,通过公司带有防火墙功能的路由器接入互联网(当然可能还有交换机什么的在中间连 接着你和路由器,但是在我们的问题中交换机并不起到什么关键性的作用)。右下脚的部分是一个网站的服务器,它是我们公司防火墙策略的一部分,也就是说公司 不希望我们访问这个服务器。在右上角还有一台机器,它也是属于我们的。但是这台机器并不在我们公司里面,换句话说他不受到公司防火墙的限制。最后也是最重 要的一点是,我们能够在公司通过互联网直接访问这台机器。或者说这台位于公司防火墙外面的机器需要拥有一个独立的互联网IP,同时公司的防火墙规则不会屏 蔽这台机器,并且这台机器运行着一个OpenSSH服务器。
现 在,我们清楚地知道了自己所处的网络环境。并且不难理解我们在公司无法访问那个服务器的原因是:线路A-B-C上A-B之间的防火墙屏蔽了对那个服务器的 访问。与此同时,我们也很快注意到,线路A-B-D之间、D-C之间是不受阻碍的。相信你已经想到了,在A-B之间的防火墙不会屏蔽对机器d的访问。因此 我们可以通过机器d建立一个通道A-B-D-C,从而访问到机器c上的数据。
这条通道可以用很多技术来建立,这里我们仅仅介绍如何使用SSH服务器来建立这样一个通道-他被称为SSH隧道。
一、如何建立本地SSH隧道
在我们计划建立一个本地SSH隧道之前,我们必须清楚下面这些数据:
中间服务器d的IP地址
要访问服务器c的IP地址
要访问服务器c的端口
现在,我们把上面这张图变得具体一些,给这些机器加上IP地址。并且根据下面这张图列出我们的计划:
需要访问234.234.234.234的FTP服务,也就是端口21
中间服务器是123.123.123.123
现在我们使用下面这条命令来达成我们的目的
ssh -N -f -L 2121:234.234.234.234:21 123.123.123.123
ftp localhost:2121 # 现在访问本地2121端口,就能连接234.234.234.234的21端口了
这里我们用到了SSH客户端的三个参数,下面我们一一做出解释:
-N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
-f 告诉SSH客户端在后台运行
-L 做本地映射端口,被冒号分割的三个部分含义分别是最后一个参数是我们用来建立隧道的中间机器的IP地址(IP: 123.123.123.123)
需要使用的本地端口号
需要访问的目标机器IP地址(IP: 234.234.234.234)
需要访问的目标机器端口(端口: 21)
我们再重复一下-L参数的行为。-L X:Y:Z的含义是,将IP为Y的机器的Z端口通过中间服务器映射到本地机器的X端口。
在这条命令成功执行之后,我们已经具有绕过公司防火墙的能力,并且成功访问到了我们喜欢的一个FTP服务器了。
二、如何建立远程SSH隧道
通 过建立本地SSH隧道,我们成功地绕过防火墙开始下载FTP上的资源了。那么当我们在家里的时候想要察看下载进度怎么办呢?大多数公司的网络是通过路由器 接入互联网的,公司内部的机器不会直接与互联网连接,也就是不能通过互联网直接访问。通过线路D-B-A访问公司里的机器a便是不可能的。也许你已经注意 到了,虽然D-B-A这个方向的连接不通,但是A-B-D这个方向的连接是没有问题的。那么,我们能否利用一条已经连接好的A-B-D方向的连接来完成 D-B-A方向的访问呢?答案是肯定的,这就是远程SSH隧道的用途。
与本地SSH一样,我们在建立远程SSH隧道之前要清楚下面几个参数:
需要访问内部机器的远程机器的IP地址(这里是123.123.123.123)
需要让远程机器能访问的内部机器的IP地址(这里因为是想把本机映射出去,因此IP是127.0.0.1)
需要让远程机器能访问的内部机器的端口号(端口:22)
在清楚了上面的参数后,我们使用下面的命令来建立一个远程SSH隧道,在192.168.0.100的主机上执行下面的命令:
ssh -Nf -R 2222:127.0.0.1:22 123.123.123.123
现在,在IP是123.123.123.123的机器上我们用下面的命令就可以登陆公司的IP是192.168.0.100的机器了。
ssh -p 2222 localhost
-N,-f 这两个参数我们已经在本地SSH隧道中介绍过了。我们现在重点说说参数-R。该参数的三个部分的含义分别是:
远程机器使用的端口(2222)
需要映射的内部机器的IP地址(127.0.0.1)
需要映射的内部机器的端口(22)
例如:-R X:Y:Z 就是把我们内部的Y机器的Z端口映射到远程机器的X端口上。
三、建立SSH隧道的几个技巧
隧道可能因为某些原因断开,例如:机器重启,长时间没有数据通信而被路由器切断等等。因此我们可以用程序控制隧道的重新连接,例如一个简单的循环或者使用&
&. 不管用哪种方法,重连时都应避免因输入密码而卡死程序。关于如何安全的避免输入密码的方法,请参考我的
&。这里请注意,如果通过其他程序控制隧道连接,应当避免将SSH客户端放到后台执行,也就是去掉-f参数。
保持长时间连接
有些路由器会把长时间没有通信的连接断开。SSH客户端的TCPKeepAlive选项可以避免这个问题的发生,默认情况下它是被开启的。如果它被关闭了,可以在ssh的命令上加上-o TCPKeepAlive=yes来开启。
另一种方法是,去掉-N参数,加入一个定期能产生输出的命令。例如: top或者vmstat。下面给出一个这种方法的例子:
ssh -R 2222:localhost:22 123.123.123.123 &vmstat 30&
检查隧道状态
有些时候隧道会因为一些原因通信不畅而卡死,例如:由于传输数据量太大,被路由器带入stalled状态。这种时候,往往SSH客户端并不退出,而是卡死在 那里。一种应对方法是,使用SSH客户端的ServerAliveInterval和ServerAliveCountMax选项。 ServerAliveInterval会在隧道无通信后的一段设置好的时间后发送一个请求给服务器要求服务器响应。如果服务器在 ServerAliveCountMax次请求后都没能响应,那么SSH客户端就自动断开连接并退出,将控制权交给你的监控程序。这两个选项的设置方法分 别是在ssh时加入-o ServerAliveInterval=n和-o ServerAliveCountMax=m。其中n, m可以自行定义。
如何将端口绑定到外部地址上
使用上面的方法,映射的端口只能绑定在127.0.0.1这个接口上。也就是说,只能被本机自己访问到。如何才能让其他机器访问这个端口呢?我们可以把这个 映射的端口绑定在0.0.0.0的接口上,方法是加上参数-b 0.0.0.0。同时还需要打开SSH服务器端的一个选项-GatewayPorts。默认情况下它应当是被打开的。如果被关闭的话,可以在/etc /sshd_config中修改GatewayPorts no为GatewayPorts yes来打开它。
如何寻找中间服务器
如果你家里使用ADSL上网,多半你会比较幸运。一般的ADSL(例如&
&的ADSL)都是有互联网地址的。你只需要在家里的路由器上一台装有OpenSSH server机器的SSH端口映射出去即可。同时一些提供SSH访问的虚拟主机也可以用于这一用途。例如:&
四、通过SSH隧道建立SOCKS服务器
如果我们需要借助一台中间服务器访问很多资源,一个个映射显然不是高明的办法(事实上,高明确实没有用这个方法)。幸好,SSH客户端为我们提供了通过SSH隧道建立SOCKS服务器的功能。
通过下面的命令我们可以建立一个通过123.123.123.123的SOCKS服务器。
ssh -N -f -D 1080 123.123.123 # 将端口绑定在127.0.0.1上
ssh -N -f -D 0.0.0.0:1080 123.123.123.123 # 将端口绑定在0.0.0.0上
通过SSH建立的SOCKS服务器使用的是SOCKS5协议,在为应用程序设置SOCKS代理的时候要特别注意。
至 此,我们已经对如何利用SSH隧道有一个基本的认识了。现在,文章开始时的那些问题应该迎刃而解了吧。这里要特别说一下,由于SSH隧道也使用了SSH加 密协议,因此是不会被防火墙上的内容过滤器监控到的。也就是说一切在隧道中传输的数据都是被加密的。当然,离开隧道后的数据还是会保持自己原有的样子,没 有加密的数据还是会被后续的路由设备监控到。
PS:编者另注
在大多数情况下,我们建立ssh隧道的时候,往往是想通过一台公网的主机或者是大家都可以访问的主机做跳转机,来访问内部或者外部不能直接访问的机器。所以一般像这种情况下,请将跳转机中的ssh服务器中的GatewayPorts设为yes
1.建立本地的ssh隧道时,可以指定本地主机的地址,如下:
ssh -Nf -L 192.168.0.100:2121:234.234.234.234:21 123.123.123.123
那么本地局域网的任何机器访问192.168.0.100:2121都会自动被映射到234.234.234.234:21
2.建立远程的ssh隧道时,可以指定公网的主机地址,不过一般情况是要访问内网的主机,所以这条命令应该在任何一台内网主机上执行,比如在192.168.0.102的主机上运行:
ssh -Nf -R 123.123.123.123:2222:192.168.0.100:22 123.123.123.123
&只要在局域网里192.168.0.102可以直接连接内网主机192.168.0.100,且192.168.0.102可以直接与公网主机123.123.123.123建立ssh连接。那么任何外网主机通过访问公网主机123.123.123.123:2222就会被连接到192.168.0.100:22,从而可以完成外网穿越NAT到内网的访问,而不需要在内网网关和路由器上做任何操作。
另外,你也可以通过Xshell、Putty等工具来实现linux主机与本地windows的端口转发、socket代理,还有一些像ProxyChains 工具的使用。
推荐链接:
通过ssh开启代理[1]xshell开socket代理:
通过ssh开启代理[2]xshell进行端口转发:
通过ssh tunnel访问内网Subversion:
Xshell通过SSH密钥、SSH代理连接Linux服务器详解:
已发表评论数()
已收藏到推刊!
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
没有分页内容
图片无法显示
视频无法显示
与原文不一致}

我要回帖

更多关于 删除防火墙端口规则 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信