当前位置:操作系统 > Unix/Linux >>

iptables-回流

首先发现有很多人总是把回流和回环混到一起,而我们常说说的回环更多的是指lo-loopback接口,这个接口一般是用来做本机网络测试和验证协议是否安装正确.当然在router中有更多的用法.参考这里 http://songyi8059.blogchina.com/3670738.html , http://www.net130.com/technic/001/20040229034.htm

  另外以前net130.com上对这个接口做了非常详细的解释和用法总结,只是很可惜,居然找不到了.一般是把它设置成接受 /sbin/iptables -A INPUT -i lo -j ACCEPT

  言归正传:

  回流指:当内网有服务映射到网关后,内网主机也可以用网关外部地址访问,凡是支持回流功能的路由器,都可以从内网访问网关外部地址上映射的服务,不支持回流技术的当然就不行

  事实上也是通过snat实现的,通常的snat是为了能让内网的电脑上外网,所以在outside(外网卡)上做snat,但回流是内部主机连接内网的主机(只不过是通过网关外部地址访问),所以必须在inside(内网卡)上做snat,这样经过内网卡的数据包先被伪装成公网或其它网段内的ip地址,然后发送到外网卡,外网卡看到源地址伪装过的ip数据包,就认为该数据包是从公网或其它网段来的,所以就通过dnat功能帮它转换目标地址,并发向处在内网的服务器(如果不进行回流,外网卡认为该数据不是从公网而来,就不会通过dnat把它转回到内网,然后丢弃数据包,内网电脑就不能访问映射在网关外部地址上的服务),这样内网电脑就能访问被映射过的内网服务啦

  iptables下端口回流的典型设置

  假设外部的接口地址是a.b.c.d,发布的服务器是192.168.0.2的WEB服务,如果本地内部用户也可以使用a.b.c.d来访问,则称为端口回流,设置如下:

  iptables -t nat -A PREROUTING -d a.b.c.d -p tcp –dport 80 -j DNAT –to 192.168.0.2

  iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.2 -p tcp –dport 80 -j SNAT –to 192.168.0.1本文来自:http://www.xiaoyaxiao.com/80045.html
发表您的意见和建议!
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,