免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 12255 | 回复: 34

配置iptables遇到的疑惑,希望高手能帮忙解答一下。 [复制链接]

论坛徽章:
0
发表于 2009-03-16 13:33 |显示全部楼层
设计方案:

主机 A: 网关 (防火墙)
主机 B: Web 服务器
主机 C: 邮件服务器
主机 D: 数据库服务器
主机 E: 远程登录服务器 (SSH)
主机 F: 文件服务器 (开发)
终端 X: 工作站
终端 Y: 工作站
终端 Z: 工作站


应该考虑安全性, DMZ,...。
终端机器能够通过80,443端口访问internet.
主机B-F可以做任何事情.


给出主机A上防火墙iptable的简单设置。



根据需求分析,主机A需配三块NIC,其余服务器网卡数量没有特殊要求,现规划如下:
主机 A: 网关 (防火墙)
eth0:直接接入到公网;
eth1IP地址为:10.10.0.254/24,与服务器所处同一网络;
eth2IP地址为:192.168.0.254/24,与服务器所处同一网络;
主机 B: Web 服务器IP地址为:192.168.0.1/24
主机 C: 邮件服务器IP地址为:192.168.0.2/24
主机 D: 数据库服务器IP地址为:192.168.0.3/24
主机 E: 远程登录服务器 (SSH) IP地址为:192.168.0.4/24
主机 F: 文件服务器 (开发)IP地址为:192.168.0.5/24

主机BCDEF所处DMZ区,客户机所处内网

拓扑如图所示:
拓扑图.jpg




现主机A既防火墙配置如下:

一、
首先将主机A设置为网关

1、
将主机Aeth0Internet相连;

2、
将主机Aeth1接口IP设置为10.10.0.254/24

3、
将主机Aeth2接口IP设置为192.168.0.254/24

4、
#echo 1 > /proc/sys/net/ipv4/ip_forward *此更改在重新启动之后将被还原成默认值,所以为了固化配置需将/proc/sys/net/ipv4/ip_forward文件内容修改为1(为什么不让修改,在什么模式下可以修改其值)

二、设置防火墙参数:
1、将主机A的防火墙的默认级别改为DROP

#iptables –P INPUT DROP
#iptables –P OUTPUT DROP
#iptables –P FORWARD DROP
#iptables –t nat –P PREROUTING DROP
#iptables –t nat –P POSTROUTING DROP
#iptables –t nat –P OUTPUT DROP

2、设置DMZ区域:

#iptables –t nat –A PREROUTING –s 0.0.0.0/0 –d 192.168.0.1 –p tcp –dport 80 –j DNAT --to-destination 192.168.0.254
#iptables –t nat –A PREROUTING –s 0.0.0.0/0 –d 192.168.0.1 –p tcp –dport 443 –j DNAT --to-destination 192.168.0.254
#iptables –t nat –A PREROUTING –s 0.0.0.0/0 –d 192.168.0.2 –p tcp –dport 25 –j DNAT --to-destination 192.168.0.254
#iptables –t nat –A PREROUTING –s 0.0.0.0/0 –d 192.168.0.3 –p tcp –dport 3306 –j DNAT --to-destination 192.168.0.254
#iptables –t nat –A PREROUTING –s 0.0.0.0/0 –d 192.168.0.4 –p tcp –dport 22 –j DNAT --to-destination 192.168.0.254
#iptables –t nat –A PREROUTING –i eth1 –s 10.10.0.0/24 –d 192.168.0.5 –p tcp –dport 21 –j DNAT --to-destination 192.168.0.254

3、设置内网访问外网规则

#iptables –A FORWARD –i eth1 –s 10.10.0.0/24 –o eth0 –d 0.0.0.0/0 –p tcp –dport 80 –j SNAT --to-destination 10.0.0.254
#iptables –A FORWARD –i eth1 –s 10.10.0.0/24 –o eth0 –d 0.0.0.0/0 –p tcp –dport 443 –j SNAT --to-destination 10.0.0.254
#iptables –t nat –A POSTROUTING –s 10.10.0.0/24 –o eth0 –d 0.0.0.0/0 –p tcp –dport 80 –j SNAT --to-destination 10.0.0.254
#iptables –t nat –A POSTROUTING –s 10.10.0.0/24 –o eth0 –d 0.0.0.0/0 –p tcp –dport 443 –j SNAT --to-destination 10.0.0.254

在第3步骤的时候弄不清楚内网访问外网是用NAT好一点还是用forward好一些,哪个更安全,还是两个必须都得用上更安全。其他的不知道还需要配置什么吗?

四、保存对防火墙的设置并重新启动防火墙
#service iptables save
#service iptables restart
希望高手能帮忙指正一下错误,并帮以改正,谢谢。


论坛徽章:
0
发表于 2009-03-16 13:49 |显示全部楼层

回复 #1 ji.hf_space 的帖子

希望高人能帮帮忙,自己先顶起来!

论坛徽章:
0
发表于 2009-03-16 13:53 |显示全部楼层
nat的效果会好一些。
楼主的防火墙规则很强悍啊!
没搞过这么严格的规则。

感觉到很多问题,试问一句:楼主的规则已经应用了吗?

论坛徽章:
0
发表于 2009-03-16 13:57 |显示全部楼层
#iptables –P INPUT DROP
#iptables –P OUTPUT DROP
#iptables –P FORWARD DROP
#iptables –t nat –P PREROUTING DROP
#iptables –t nat –P POSTROUTING DROP
#iptables –t nat –P OUTPUT DROP

..全部都drop了。。 估计用不起来吧。。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
发表于 2009-03-16 14:00 |显示全部楼层
在/etc/sysctl.conf中net.ipv4.ip_forward = 0
修改0为1,重启就#echo 1 > /proc/sys/net/ipv4/ip_forward不用了
楼主的规则好严格,只允许http和443

论坛徽章:
0
发表于 2009-03-16 14:01 |显示全部楼层

回复 #3 marsaber 的帖子

我还没有应用,不摘掉都什么地方有问题,希望指正一下!

论坛徽章:
0
发表于 2009-03-16 14:03 |显示全部楼层

回复 #4 lth0721 的帖子

我在全局下都DROP了,但是我用规则设置成允许了,这样不可以吗?

论坛徽章:
0
发表于 2009-03-16 14:05 |显示全部楼层

回复 #5 chenyx 的帖子

在/etc/sysctl.conf中net.ipv4.ip_forward = 0
修改0为1,重启就#echo 1 > /proc/sys/net/ipv4/ip_forward不用了
楼主的规则好严格,只允许http和443


我试一下,谢谢了先!

论坛徽章:
0
发表于 2009-03-16 14:06 |显示全部楼层
修改/etc/sysctl.conf确实是好方法!
(记得以前使用echo写1入/proc/sys/net/ipv4/ip_forward一直没成功,耗了我四天时间)

假设你外网IP为1.2.3.4
#!/bin/bash
/sbin/iptables -F
/sbin/iptables -t nat -F
/sbin/iptables -X
/sbin/iptables -t nat -X
/sbin/iptables -P INPUT DROP
/sbin/iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 21 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
/sbin/iptables -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to 192.168.0.1:80
/sbin/iptables -A PREROUTING -d 1.2.3.4 -p tcp --dport 25 -j DNAT --to 192.168.0.2:25
/sbin/iptables -A PREROUTING -d 1.2.3.4 -p tcp --dport 443 -j DNAT --to 192.168.0.1:443
/sbin/iptables -A PREROUTING -d 1.2.3.4 -p tcp --dport 3306 -j DNAT --to 192.168.0.3:3306
/sbin/iptables -A PREROUTING -d 1.2.3.4 -p tcp --dport 22222 -j DNAT --to 192.168.0.4:22


至于楼主要求设置DMZ区,而又想实现10.10.0.0/24访问192.168.0.5,那就将192.168.0.5改成10.10.0.0/24内的IP吧!这里显然楼主不知道DMZ区的作用。

[ 本帖最后由 marsaber 于 2009-3-16 14:11 编辑 ]

论坛徽章:
0
发表于 2009-03-16 14:15 |显示全部楼层

回复 #9 marsaber 的帖子

不好意思九楼的兄弟,我没有看明白你表达的意思,能再详细的指导一下吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP