【第一、需求描述】
员工通过办公网络的网关服务器(linux)192.168.1.250的snat访问另外一个局域网:安全中心(10.1.1.0/24),但是为了提高安全性,只允许访问安全中心的指定端口。
【第二、方案实施】
#cat /etc/sysconfig/iptables #只允许nat转发的指定的端口22,80 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [1:92] :OUTPUT ACCEPT [1:92] #从192.192.191.1这个ip出去,SNAT -A POSTROUTING -d 10.1.1.0/24 -j SNAT --to 192.192.191.1 COMMIT *filter :INPUT ACCEPT [0:0] :FORWARD DROP [0:0]#默认转发是关闭的 :OUTPUT ACCEPT [0:0] -A FORWARD -d 10.1.1.0/24 -p tcp --dport 22 -j ACCEPT#允许访问10.1.1.0/24的22端口 -A FORWARD -d 10.1.1.0/24 -p tcp --dport 80 -j ACCEPT#允许访问10.1.1.0/24的80端口 -A FORWARD -d 10.1.1.0/24 -p icmp -j ACCEPT#允许ping 10.1.1.0/24 COMMIT
【第三、技术详解】
POSTROUTING链的输入来源是INPUT及FORWARD,即
INPUT->POSTROUTING
FORWARD->POSTROUTING
这里SNAT都是从FORWARD过来的,所以可以通过控制FORWARD链控制SNAT的端口的白名单
本文出自 “H2O's运维&开发路” 博客,转载请与作者联系!
原文地址:http://h2ofly.blog.51cto.com/6834926/1561179