ssh -C -g root@127.0.0.1 -L 5000:61.235.139.123:5000
输入机器的root密码
后台执行:ssh -C -f -N -g root@127.0.0.1 -L 5000:61.235.139.123:5000
另:
ssh -C -f -N -g -R remote_port:local:port user@remotehost
可以将远端服务器一个端口remote_port绑定到本地端口port,其中-C是进行数据压缩,-f是后台操作,只有当提示用户名密码的时候才转向前台。-N是不执行远端命令,在只是端口转发时这条命令很有用处。-g 是允许远端主机连接本地转发端口。-R表明是将远端主机端口映射到本地端口。如果是-L,则是将本地端口映射到远端主机端口。
关于ssh端口转发的深入实例
2007-05-13 17:02
Thursday, 5. April 2007, 13:44:15
转自geminis@http://floss.zoomquiet.org/data/20070104103806/ ssh的三个强大的端口转发命令: ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -D listen_port user@Tunnel_Host
-f Fork into background after authentication. 后台认证用户/密码,通常和-N连用,不用登录到远程主机。 -p port Connect to this port. Server must be on the same port. 被登录的ssd服务器的sshd服务端口。 -L port:host:hostport 将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport -R port:host:hostport 将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport -D port 指定一个本地机器 “动态的'’ 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发. -C Enable compression. 压缩数据传输。 -N Do not execute a shell or command. 不执行脚本或命令,通常与-f连用。 -g Allow remote hosts to connect to forwarded ports. 在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。注:这个参数我在实践中似乎始终不起作用,参见III)
iptables实现端口转发的过程设我们有一台计算机,有两块网卡,eth0连外网,ip为1.2.3.4;eth1连内网,ip为192.168.0.1.现在需要把发往地址1.2.3.4的81端口的ip包转发到ip地址192.168.0.2的8180端口,设置如下: 1. iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp -m tcp --dport 81 -j DNAT --to-destination192.168.0.2:8180 2. iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.0.0 -d 192.168.0.2 -p tcp -m tcp --dport 8180 -j SNAT --to-source 192.168.0.1 真实的传输过程如下所示: 假设某客户机的ip地址为6.7.8.9,它使用本机的1080端口连接1.2.3.4的81端口,发出的ip包源地址为6.7.8.9,源端口为1080,目的地址为1.2.3.4,目的端口为81. 主机1.2.3.4接收到这个包后,根据nat表的第一条规则,将该ip包的目的地址更该为192.168.0.2,目的端口更该为8180,同时在连接跟踪表中创建一个条目,(可从/proc/net/ip_conntrack文件中看到),然后发送到路由模块,通过查路由表,确定该ip包应发送到eth1接口.在向eth1接口发送该ip包之前,根据nat表的第二条规则,如果该ip包来自同一子网,则将该ip包的源地址更该为192.168.0.1,同时更新该连接跟踪表中的相应条目,然后送到eth1接口发出. 此时连接跟踪表中有一项: 连接进入: src=6.7.8.9 dst=1.2.3.4 sport=1080 dport=81 连接返回: src=192.168.0.2 dst=6.7.8.9 sport=8180 dport=1080 是否使用: use=1 而从192.168.0.2发回的ip包,源端口为8180,目的地址为6.7.8.9,目的端口为1080,主机1.2.3.4的TCP/IP栈接收到该ip包后,由核心查找连接跟踪表中的连接返回栏目中是否有同样源和目的地址和端口的匹配项,找到后,根据条目中的记录将ip包的源地址由192.168.0.2更该为1.2.3.4, 源端口由8180更该为81,保持目的端口号1080不变.这样服务器的返回包就可以正确的返回发起连接的客户机,通讯就这样开始. 还有一点, 在filter表中还应该允许从eth0连接192.168.0.2地址的8180端口: iptables -A INPUT -d 192.168.0.2 -p tcp -m tcp --dport 8180 -i eth0 -j ACCEPT
在网上搜索好多,对linux配置端口映射都不够详细,我在RedHat8.0上用iptables配置了端口映射,讲述详细的配置过程,供大家参考。 【实现功能】 PC A是 eth0 172.18.10.212 内网 eth1 219.239.xx.xx 外网
PC B是 172.18.10.205 内网
A的8080端口映射到B的80端口
【步骤】 1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0 这样允许iptalbes FORWARD。 2、 在/etc/rc.d/init.d目录下有iptables 文件,使用格式如下 Usage: ./iptables {start|stop|restart|condrestart|status|panic|save} 相当与service iptables {....} 把iptables 服务停止,清除以前的规则,存盘 到/etc/rc.d/init.d目录下,运行 ./iptables stop iptalbes -F iptalbes -X iptalbes -Z ./iptables save 3、 重新配置规则 iptables -t nat -A PREROUTING -d 219.239.xx.xx -p tcp --dport 8080 -j DNAT --to-destination 172.18.10.205:80 iptables -t nat -A POSTROUTING -d 172.18.10.205 -p tcp --dport 80 -j SNAT --to 172.18.10.212 iptables -A FORWARD -o eth0 -d 172.18.10.205 -p tcp --dport 80 -j ACCEPT iptables -A FORWARD -i eth0 -s 172.18.10.205 -p tcp --sport 80 -j ACCEPT DNAT SNAT 的请参考帮助,这里不再陈述。 4、 新的规则存盘 ./iptables save 规则存盘后在/etc/sysconfig/iptables这个文件里面,若你对这个文件很熟悉 直接修改这里的内容也等于命令行方式输入规则。 5、 启动iptables 服务 ./iptables start 在/proc/net/ip_conntrack文件里有包的流向,如下面 tcp 6 53 TIME_WAIT src=221.122.59.2 dst=219.239.xx.xx sport=7958 dport=8080 packets=9 bytes=1753 src=172.18.10.205 dst=172.18.10.212 sport=80 dport=7958 packets=9 bytes=5777 [ASSURED] use=1
|
分享到:
相关推荐
将端口映射到其它主机上的端口,使用方便 使用方法: 首先配置 natd.conf 文件 启动:./run.sh start 关闭:./run.sh stop
UPNP linux 端口映射工具 非常实用的upnp端口映射工具
linux端口映射mapport软件.doc
内网的一台电脑要上因特网,就需要端口映射 端口映射分为动态和静态 动态端口映射: 内网中的一台电脑要访问新浪网,会向NAT网关发送数据包,包头中包括对方(就是新浪网)IP、端口和本机IP、端口,NAT网关会把本机IP、...
主要介绍了Linux端口映射转发的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在Linux系统下使用SSH实现端口映射的方法.docx
Linux下用于端口映射的工具rinetd,类型为“.tar.gz”,解压后执行“make && make install”命令,配置ip_bns.conf,即可使用
TCP端口映射源码(unix或linux)
本文介绍了Linux操作系统下VMware的端口映射实现。
rinetd端口映射linux
Linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载 wget http://www.boutell.com/rinetd/http/rinetd.tar.gz 解压安装 tar zxvf rinetd.tar.gz ...
Linux 或 Windows 上实现端口映射.docx
linux中的IO端口映射和IO内存映射.docx
通过SSH连接至linux服务器上,并将未开放远程访问权限机器端口映射至本地机器。
如何在LINUX服务器CentOS下Apache配置多域名或者多端口映射
at123是集合80端口映射、动态域名解析、域名解析管理的开放自由的平台,可轻松管理域名解析、发布网站、访问内网应用,支持任何网络。 nat123动态域名解析P2P全端口映射软件功能特色: 支持开机运行,自动登录,...
linux 允许端口访问,开放端口,linux服务器端口映射,
由miniupnp编译过来的一个程序 上传备用
端口映射_Rinetd v0.62 For Linux_Windows,本版本主要用于在Linux中映射,功能太强大.Windows也支持.整理一下上传上来于大家分享.内有说明教程.昆虫发布.
在Linux系统中大多数情况选择用iptables来实现端口转发,iptables虽然强大,但配置不便,而且新手容易出错。在此分享另一个TCP端口转发工具rinetd,rinetd小巧简单,配置方便。