使用SSH进行VLAN穿越


版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息

网络拓扑

图1 示例网络环境

说明: 两台PC机分别位于两个独立的VLAN上,中间有一台服务器同时连接两个VLAN,该服务器未开启ipv4_forward。

实例说明

10.4.16.1-host(Terminal-1)$ ssh -oProxyCommand="ssh -qaxT 10.4.16.156 nc %h %p" -L 3690:localhost:3690 192.168.123.100
 
10.4.16.1-host(Terminal-2)$ svn export svn://localhost:3690/code

上例中,通过10.4.16.156的“跳板”作用,主机10.4.16.1先SSH到10.4.16.156上,然后在10.4.16.156上执行

nc 192.168.123.100 22

注意,%h对应ssh连接的远端host地址,%p对应ssh连接的端口。默认ssh连接端口为22。

如果需要同时使用多个转发端口,可以

10.4.16.1-host(Terminal-1)$ ssh -oProxyCommand="ssh -qaxT 10.4.16.156 nc %h %p" -L 3690:localhost:3690 -L 80:localhost:80 192.168.123.100

上述命令表示,10.4.16.1连接192.168.123.100是通过由ProxyCommand所创建的一个标准输入/输出作为传 输链路,然后ProxyCommand告诉系统首先SSH连接到10.4.16.156后再执行nc命令去连接192.168.123.100。

以上过程可以简单表示为:

(1) 10.4.16.1   —-ssh——-> 10.4.16.156

(2) 10.4.16.156 —-netcat—-> 192.168.123.100

(3) 10.4.16.1   ===ssh=over=netcat=tunnel=====10.4.16.156========> 192.168.123.100

关于上述ssh命令的所有参数,请各位看官man ssh去。

分享家:Addthis中国
您可能还对以下文章感兴趣

, ,