Linux安全管理Iptables-NAT技术应用

本文发布时间: 2019-Mar-21
此文是对前面博文《 Linux网络服务-LAMP之基于NFS+Fastcgi的LAMP搭建 》的延伸,在外网与内网之间加了一台Linux网关服务器;实验需求:1.DNS Server、Web Server的都是我内网服务器,故他们都是使用内网地址;2.WAN Clients来访问我的网站http://www.maoqiu.com时是通过Filrewall的外网地址进行访问,并且解析的域名为Firewall外网卡的地址;3.LAN Clients能访问内网的Web Server,并且解析的域名为内网Web Server的真实IP地址;实验拓扑:实验说明: 此次实验是通过上次实验做的一个延伸实验,像后端这些服务器的搭建我就不再这里赘述,主要是Iptables的配置,如果不清楚去看前面的博文,有疑问请留言。实验步骤:1.配置DNS服务我们知道如果DNS如果要解析来自不同客户端的IP地址,那么就需要用到智能DNS-View,所以下面开始配置DNS服务(1)编辑dns服务的主配置文件:[root@ns ~]# vim /etc/named.confoptions { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; allow-query { any; }; recursion yes;rrset-order { class IN type A name "www.maoqiu.com" order cyclic; };};logging { channel default_debug { file "data/named.run"; severity dynamic; };};include "/etc/named.rfc1912.zones";(2)编辑区域配置文件[root@ns ~]# vim /etc/named.rfc1912.zonesacl LAN { #定义的ACL 172.16.0.0/16;};view LAN { #针对我内网网段内的用户对应的解析 match-clients { LAN; }; #凡是匹配到ACL中的条目都通过这个视图中的区域数据文件进行解析zone "." IN { type hint; file "named.ca";};zone "localhost.localdomain" IN { type master; file "named.localhost"; allow-update { none; };};zone "localhost" IN { type master; file "named.localhost"; allow-update { none; };};zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.loopback"; allow-update { none; };};zone "1.0.0.127.in-addr.arpa" IN { type master; file "named.loopback"; allow-update { none; };};zone "0.in-addr.arpa" IN { type master; file "named.empty"; allow-update { none; };};zone "maoqiu.com" IN { type master; file "maoqiu.com.zone.lan";};zone "41.16.172.in-addr.arpa" IN { type master; file "172.16.41.zone.lan";};};view wan { #针对除了我内网网段内的用户对应的解析 match-clients { any; };zone "maoqiu.com" IN { type master; file "maoqiu.com.zone.wan";};};#注意,对于内网区域数据文件一定要将其他区域数据文件包含在View中,根区域也不例外,对于外网客户我这里只做一个区域文件即可(3)创建正向和方向的区域数据文件:[root@ns ~]# cd /var/named/#编辑针对内网服务器两台Web Server的正向区域数据文件[root@ns named]# vim maoqiu.com.zone.lan$TTL 6400@ IN SOA ns.maoqiu.com. admin.maoqiu.com ( 2014032701 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS nsns IN A 172.16.41.3www IN A 172.16.41.1www IN A 172.16.41.2#编辑针对内网服务器两台Web Server的反向区域数据文件[root@ns named]# vim 172.16.41.zone.lan$TTL 6400@ IN SOA ns.maoqiu.com. admin.maoqiu.com ( 2014032701 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS ns.maoqiu.com.3 IN PTR ns.maoqiu.com.1 IN PTR www.maoqiu.com.2 IN PTR www.maoqiu.com.#编辑针对WAN Clients来访问时需要解析的区域数据文件[root@ns named]# vim maoqiu.com.zone.wan$TTL 6400@ IN SOA ns.maoqiu.com. admin.maoqiu.com ( 2014032701 ; serial 1D ; refresh 1H ; retry 1W ; expire 3H ) ; minimum IN NS nsns IN A 172.16.41.3www IN A 10.10.10.1(4)修改区域数据文件属性[root@ns named]# chmod 640 maoqiu.com.zone.* 172.16.41.zone.lan[root@ns named]# chown root:named maoqiu.com.zone.* 172.16.41.zone.lan(5)LAN Clients测试(注意:客户端的DNS需要指定DNS Server)OK!LAN Client测试完毕,我再去访问一下web服务器通过curl -I 获取HTTP首页信息。现在LAN Client也能访问网络内的Web Server了2.配置Linux网关服务器,由拓扑图可见,作为Linux网关服务器它需要两张网卡,一张连接内网、一张连接外网(网卡IP信息配置略)我们需要在上面操作就是通过Iptables来发布我们内网的Web服务和DNS服务(1)发布Web服务[root@FireWall ~]# iptables -t nat -A PREROUTING -d 10.10.10.1 -p tcp --dport 80 -j DNAT --to-destination 172.16.41.1[root@FireWall ~]# iptables -t nat -A PREROUTING -d 10.10.10.1 -p tcp --dport 80 -j DNAT --to-destination 172.16.41.2(2)发布DNS服务[root@FireWall ~]#iptables -t nat -A PREROUTING -d 10.10.10.1 -p tcp --dport 53 -j DNAT --to-destination 172.16.41.3[root@FireWall ~]#iptables -t nat -A PREROUTING -d 10.10.10.1 -p udp --dport 53 -j DNAT --to-destination 172.16.41.33.测试:(1)外网测试DNS是否能够解析到OK!外网客户端解析到的域名对应的IP地址就是我Firewall上面外网卡的地址(2)测试访问webOK!外网也可以访问,实验完成!总结:1.iptables的原理以及基本应用请参考博文《Linux安全管理-Iptables原理及其应用》2.在本实验中主要重点就是DNS的解析配置以及Iptables的配置3.实验过程中,由于两台Web Server和DNS Server没有指定Linux网关即使服务器端收到了请求,但是在响应时却找不到回应目标,故服务器的Gateway要指向Linux网关服务器内网卡地址,Web Server的DNS要指向DNS Server!WAN Clients无需指定其网关,但是DNS需要指定!


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:08pm
栏目列表