配置iptables遇到的疑惑,希望高手能帮忙解答一下。

发布于 2022-09-18 19:04:54 字数 17400 浏览 38 评论 0

设计方案:

主机 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 (71.71 KB, 下载次数: 11)

下载附件

2009-03-16 13:33 上传






现主机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
希望高手能帮忙指正一下错误,并帮以改正,谢谢。


如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

緦唸λ蓇 2022-09-25 19:04:54

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

絕版丫頭 2022-09-25 19:04:54

nat的效果会好一些。
楼主的防火墙规则很强悍啊!
没搞过这么严格的规则。

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

寂寞花火° 2022-09-25 19:04:54

#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了。。 估计用不起来吧。。

[浮城] 2022-09-25 19:04:54

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

美人迟暮 2022-09-25 19:04:54

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

感情废物 2022-09-25 19:04:54

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

没︽人懂的悲伤 2022-09-25 19:04:54

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

我试一下,谢谢了先!

烂人 2022-09-25 19:04:54

修改/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 编辑 ]

ま昔日黯然 2022-09-25 19:04:54

不好意思九楼的兄弟,我没有看明白你表达的意思,能再详细的指导一下吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文