为何不能在INPUT链上进行SNAT呢

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介:
如果你man一下iptables,会发现:
   SNAT
       This  target  is only valid in the nat table, in the POSTROUTING chain. ...

然而我认为在INPUT上做SNAT有时还是有必要的。下面说一下原因。
        SNAT用于隐藏下行网络,当然,数据已经到达了目的地,也就没有什么好隐藏的了,这是INPUT不做SNAT的原因之一?SNAT的另一个作用就是使上行链路只需要寻址到SNAT后的源地址,而不必为寻址到原始地址而增加路由项,如果数据的上行链路就在本机,那么也没有这个需求,因为管理员可以随意的增加路由项,这难道是INPUT不做SNAT的原因之一?毕竟都是网络层以及以下层的事情,这是网管的职责所在,所有这些需求都可以通过其它配置来解决,因此INPUT上作SNAT没有意义?
        可是考虑一下和应用层相关的情况。最简单的例子就是sshd服务器的一个配置:
AllowUsers wangran@192.168.0.0/16
这意味着除了192.168.0.0/16这个网段之外,都无法登录ssh服务器,我们可以在网络层临时开放一个口子出来吗?如果不在INPUT上作SNAT,这个口子很难开,然而如果允许这么做,那么我就可以做如下的rule:
iptables -t nat -A OUTPUT -s 172.16.1.21/32 -p tcp --dport 22 -j SNAT --to-source 192.168.0.111
如此一来172.16.1.21这个特殊的地址也就能登上ssh服务器了,万一这是个临时有特殊权限的地址,一时间又找不到懂得ssh配置的人,网管需要的就是上面的rule。

        这里仅仅用ssh举个例子,实际上网管基本都知道ssh的配置。



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1268968

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
打赏
0
0
0
0
344
分享
相关文章
OSPF中的次优外部路由——Forwarding Address
在OSPF中外部路由是从ASBR(自治系统边界路由器)中导进来的(第五类的LSA)
408 0
OSPF中的次优外部路由——Forwarding Address
NAT网关之SNAT进阶使用(一)SNAT POOL
NAT网关是云上VPC ECS访问Internet的出入口。SNAT可实现指定的VPC ECS使用指定的公网IP访问互联网。阿里云NAT网关控制台创建SNAT条目时,默认是为指定的交换机配置1个公网IP地址。
9354 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等