您的位置:首页 > 其它

利用防火墙实现向外网提供内网web和dns服务 推荐

2014-03-28 21:33 447 查看
一、实验方案


二、内网DNS服务的搭建
1. 登录172.16.20.22为内网主机dns.magelinux.com安装bind
[root@dns ~]# yum -y install bind
2. 编辑配置文件,添加magelinux.com区域。实现将来自202.102.224.0/24网段的用户解析到202.102.224.11.将来自172.16.20.0/24网段的用户解析为172.16.20.33
[root@dns ~]# vim /etc/named.rfc1912.zones
view "in" {
match-clients { 172.16.20.0/16; };
zone "magelinux.com." IN {
type master;
file "magelinux.com.zone";
};
};
view "out" {
match-clients { 202.102.224.0/24; };
zone "magelinux.com." IN {
type master;
file "magelinux.com.zoneout";
};
};
3. 编辑区域文件
[root@dns ~]# vim /var/named/magelinux.com.zone
1 $TTL 86400
2 @              IN  SOA         dns.magelinux.com   xuqimin.magelinux.com (
3                                 2014032801
4                                 1D
5                                 5M
6                                 7D
7                                 2M)
8                IN   NS      dns
9 dns            IN   A      172.16.20.22
10 www            IN   A      172.16.20.33
[root@dns ~]# vim /var/named/magelinux.com.zoneout
1 $TTL 86400
2 @              IN  SOA         dns.magelinux.com   xuqimin.magelinux.com (
3                                 2014032801
4                                 1D
5                                 5M
6                                 7D
7                                 2M)
8                IN   NS      dns
9 dns            IN   A      202.102.224.11
10 www            IN   A      202.102.224.11

4. 讲网关指向172.16.20.11在内外网测试
[root@stu20 ~]# dig -t A www.magelinux.com @172.16.20.2
测试通过,能成功解析
三、内网Web服务搭建
1. 登录172.16.20.33安装httpd
[root@web ~]# yum install httpd
2. 配置主页
[root@web ~]# vim /var/www/html/index.html
3. 启动web服务
[root@web ~]# service httpd start
Starting httpd:
4. OK,设置网关指向内网网关(172.16.20.11)现在我们的网站可以在内网(172.16.20.0/16)访问了。
四、外网用户的设置
1. 添加一台虚拟机,网卡使用VMnet2,连接到防火墙同样类型的VMnet2类型网卡




2. 配置外网的ip 为202.102.224.22,并将其网关和dns服务器设置为防火墙连接外网的ip(202.102.224.11).



3. 此时ping网关是可以痛的。应为它跟防火墙外网工作在同一个网络。另外,如果你试了ping防火墙的内网网卡(172.16.20.11)其实也是可以ping通的,因为linux 的ip是在内核层的(注意,此时我的防火墙还没开通转发功能的)。


五、中间防火墙的配置
1. OK,终于等到了这个时刻,一切准备就绪,我们来配置防火墙吧。
2. 开启防火墙转发功能。
[root@fire ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
...
[root@fire ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
......
3. 立杆见影,防火墙转发功能开启之后,外网立刻可以ping通我们的内外web服务器了。当然了,此时web服务器就可以给外网提供服务了。不过这种方式可不安全,我们还得继续添加安全防火规则呢。



4. 指定FORWARD链上的默认策略为DROP,及使用通的机制,只放行允许的web服务和DNS服务的iptables规则
[root@fire ~]# iptables -P FORWARD DROP
[root@fire ~]# iptables  -A  FORWARD  -m multiport -p tcp --ports 53,80 -j ACCEPT
[root@fire ~]# iptables -A FORWARD -p udp --dport 53 -j ACCEPT
[root@fire ~]# iptables -A FORWARD -p udp --sport 53 -j ACCEPT
5. 用elinks在外网测试内部web是否可以访问
#elinks 172.16.20.33



6. 通过ip地址可以访问我们的内网web服务器了,接下来配置防火墙的NAT功能,使其能够使用我们的内网DNS服务器解析,www.magelinux.com。
7. DNAT功能需要实现的是,让来自外网202.102.224.0/24的ip在通过网关202.102.224.11访问内网dns服务器的时候,将目标地址从202.102.224.11解析为172.16.20.22(DNS服务器)(记得设置外网dns指向防火墙外网网关(202.102.224.11)
[root@fire ~]# iptables -t nat -A PREROUTING -d 202.102.224.11 -p tcp --dport 53 -j DNAT --to-destination 172.16.20.22
8. 将来自外网202.102.224.0/24的主机访问202.102.224.11:80端口时候,将目标地址从202.102.224.11:80解析为172.16.20.33(WEB服务器).
[root@fire ~]# iptables -t nat -A PREROUTING -d 202.102.224.11 -p tcp --dport 80 -j DNAT --to-destination 172.16.20.33
9. Ok,转发设置成功,成功实现外网访问内部DNS和web。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  防火墙 NAT iptables
相关文章推荐