DNAT策略概述:
DNAT策略的典型应用环境
在Internet中发布位于企业局域网内的服务器
DNAT策略的原理
目标地址转换,Destination Network Address Translation,是Linux防火墙的另一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据指定条件修改数据包的目标IP地址、目标端口。
SNAT用来修改源IP地址,而DNAT用来修改目标IP地址、目标端口;SNAT只能用在nat表的POSTROUTING链,而DNAT只能用在nat表的PREROUTING链和OUTPUT链(或被其调用的链)中。
DNAT策略的应用:
前提条件:
-
局域网的Web服务器能够访问Internet
-
网关的外网IP地址有正确的DNS解析记录
-
Linux网关支持IP路由转发
实现方法:
编写DNAT转换规则:
实验部署:
实验描述:
1.要求主机型防火墙(在192.168.10.2)上配置:
只提供web、ssh服务;
192.168.10.2可以访问网络上其他主机;
2.网络型防火墙(在网关主机配置)。
局域网内主机共享一个共有IP地址访问Internet;
Internet可以访问公司的网站;
管理员在外网可远程管理公司web服务器(不使用标准端口);
不允许局域网用户ping到外网;
防火墙本机不提供任何访问,但可访问其他主机。
实验步骤:
a.只提供web、ssh服务;192.168.10.2可以访问网络上其他主机:
[root@webssh ~]# iptables -P INPUT DROP
[root@webssh ~]# iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@webssh ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@webssh ~]# iptables -I INPUT -p tcp --dport 22 -j ACCEPT
b.局域网内主机共享一个共有IP地址访问Internet;
[root@gateway ~]# iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j SNAT --to-source 173.16.16.1
Internet可以访问公司的网站;
[root@gateway ~]# iptables -t nat -A PREROUTING -i eth0 -d 173.16.16.1 -p tcp--dport 80 -j DNAT --to 192.168.10.2
c:正确设置DNAT策略:
管理员在外网可远程管理公司web服务器(不使用标准端口);
[root@gateway ~]# iptables -t nat -A PREROUTING -i eth0 -d 173.16.16.1 -p tcp--dport 2346 -j DNAT --to-destination 192.168.10.2:22
不允许局域网用户ping到外网;
[root@gateway ~]# iptables -A FORWARD -p icmp -j DROP
防火墙本机不提供任何访问,但可访问其他主机。
[root@gateway ~]# iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
在外网服务器开启httpd服务并添加主页内容:
在网关服务器上开启路由转发功能:
整个实验到此就完成了,实验要求一一满足,根据需求还可以实现更多的功能,有待大家去发现。