iptables之端口转发

网上有很多文章写的是iptables通过nat模块进行端口映射,其实这是错误的概念,只是在ipables上做了来和回的2个forward而已。

因为有个项目要一个端口转发,而转发的还刚好是ssh端口。基本架构如下:

A:  1.1.1.1

B:  公网地址 2.2.2.2

内网地址 10.10.10.2

C: 10.10.10.3

现在在B上面对10.10.10.3的22端口映射成2.2.2.2:3322端口。

 

当A ssh 到2.2.2.2:3322端口的时候每次都是通过2.2.2.2来进行内外网转发的。而A 得到的know_hosts里面的key也是真是10.10.10.3的公钥。但是在A的know_hosts文件里10.10.10.3的公钥对应的IP却是2.2.2.2,而不是10.10.10.3。.所以会出现一个情况,当你以后ssh 2.2.2.2的22端口的时候会提示key出错了。

 

这个也是没有办法的,A一直连接的都是2.2.2.2。

 

由于一般做forward的机器都是一个公网,一个内网,而tcpdump不能在混杂模式下监听所有端口,所以必须开2个tcpdump进程,后期再用wireshark进行merge后再进行分析。

 

从分析结果来看,只是在所有的连接中当中会多一步而已,而不会有其他更多的,key交换的时候也同样会进行forward的。

关于 Timo
XNIX SA & MYSQL DBA

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s

%d 博主赞过: