配置iptables遇到的疑惑,希望高手能帮忙解答一下。
设计方案:
主机 A: 网关 (防火墙)
主机 B: Web 服务器
主机 C: 邮件服务器
主机 D: 数据库服务器
主机 E: 远程登录服务器 (SSH)
主机 F: 文件服务器 (开发)
终端 X: 工作站
终端 Y: 工作站
终端 Z: 工作站
应该考虑安全性, DMZ,...。
终端机器能够通过80,443端口访问internet.
主机B-F可以做任何事情.
给出主机A上防火墙iptable的简单设置。
根据需求分析,主机A需配三块NIC,其余服务器网卡数量没有特殊要求,现规划如下:
主机 A: 网关 (防火墙)
eth0:直接接入到公网;
eth1:IP地址为:10.10.0.254/24,与服务器所处同一网络;
eth2:IP地址为: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;
主机B、C、D、E、F所处DMZ区,客户机所处内网
拓扑如图所示:
现主机A既防火墙配置如下:
一、
首先将主机A设置为网关
1、
将主机A的eth0与Internet相连;
2、
将主机A的eth1接口IP设置为10.10.0.254/24;
3、
将主机A的eth2接口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
希望高手能帮忙指正一下错误,并帮以改正,谢谢。
主机 A: 网关 (防火墙)
主机 B: Web 服务器
主机 C: 邮件服务器
主机 D: 数据库服务器
主机 E: 远程登录服务器 (SSH)
主机 F: 文件服务器 (开发)
终端 X: 工作站
终端 Y: 工作站
终端 Z: 工作站
应该考虑安全性, DMZ,...。
终端机器能够通过80,443端口访问internet.
主机B-F可以做任何事情.
给出主机A上防火墙iptable的简单设置。
根据需求分析,主机A需配三块NIC,其余服务器网卡数量没有特殊要求,现规划如下:
主机 A: 网关 (防火墙)
eth0:直接接入到公网;
eth1:IP地址为:10.10.0.254/24,与服务器所处同一网络;
eth2:IP地址为: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;
主机B、C、D、E、F所处DMZ区,客户机所处内网
拓扑如图所示:
拓扑图.jpg (71.71 KB, 下载次数: 11)
现主机A既防火墙配置如下:
一、
首先将主机A设置为网关
1、
将主机A的eth0与Internet相连;
2、
将主机A的eth1接口IP设置为10.10.0.254/24;
3、
将主机A的eth2接口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
希望高手能帮忙指正一下错误,并帮以改正,谢谢。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
希望高人能帮帮忙,自己先顶起来!
nat的效果会好一些。
楼主的防火墙规则很强悍啊!
没搞过这么严格的规则。
感觉到很多问题,试问一句:楼主的规则已经应用了吗?
#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了。。 估计用不起来吧。。
在/etc/sysctl.conf中net.ipv4.ip_forward = 0
修改0为1,重启就#echo 1 > /proc/sys/net/ipv4/ip_forward不用了
楼主的规则好严格,只允许http和443
我还没有应用,不摘掉都什么地方有问题,希望指正一下!
我在全局下都DROP了,但是我用规则设置成允许了,这样不可以吗?
在/etc/sysctl.conf中net.ipv4.ip_forward = 0
修改0为1,重启就#echo 1 > /proc/sys/net/ipv4/ip_forward不用了
楼主的规则好严格,只允许http和443
我试一下,谢谢了先!
修改/etc/sysctl.conf确实是好方法!
(记得以前使用echo写1入/proc/sys/net/ipv4/ip_forward一直没成功,耗了我四天时间)
假设你外网IP为1.2.3.4
至于楼主要求设置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 编辑 ]
不好意思九楼的兄弟,我没有看明白你表达的意思,能再详细的指导一下吗?