通常状况下
iptables
只做为主机防火墙使用,可是在特殊状况下也可使用iptables
对整个网络进行流量控制和网络安全防御等功能,在本文中,咱们使用iptables
对三台服务器的安全进行安全防御linux
网络防火墙相比于主机防火墙而言,范围更大,不用对网络内的各主机各自设置防火墙规则就能够保证其安全性,可是必须在网络的进出口才能对出入数据包进行限制web
主机 | IP地址 | 功用 |
---|---|---|
fire.anyisalin.com | 192.168.2.2,192.168.1.112 | 控制整个网段的数据报文的流入流出及过滤 |
ns.anyisalin.com | 192.168.2.3 | 提供DNS服务 |
ftp.anyisalin.com | 192.168.2.5 | 提供FTP服务 |
www.anyisalin.com | 192.168.2.4 | 提供web服务 |
除了fire
主机,其余主机皆关闭SElinux
和iptables
安全
FTP
,WEB
,DNS
服务器安装配置这里就不写了,有兴趣的看我之前的博客AnyISalIn的文章bash
如下操做在192.168.1.103进行
服务器
dns
服务可以正常使用 网络
ftp
服务可以正常使用ssh
web
服务可以正常使用 tcp
咱们对
dns,web.ftp
服务器分别进行ping
,ssh
等操做 ide
你们应该够知道,服务器开放的端口越多就越危险,因此咱们在网络防火墙对其进行规则定义
测试
[root@fire ~]# iptables -P FORWARD DROP #设置FORWARD链默认策略为DROP
[root@fire ~]# modprobe nf_conntrack_ftp #装载追踪FTP被动链接模块
[root@fire ~]# iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
[root@fire ~]# iptables -A FORWARD -d 192.168.2.0/24 -p tcp -m multiport --dports 21,80 -m state --state NEW -j ACCEPT
[root@fire ~]# iptables -A FORWARD -d 192.168.2.3 -p udp --dport 53 -m state --state NEW -j ACCEPT
解释一下上面几条规则的做用
第一条规则将FORWARD
链的默认策略设置为DROP
,那么默认全部的数据包将不能经过FORWARD
的转发
第二条规则状态nf_conntrack_ftp
模块,使得iptables
可以追踪FTP
连接的状态,使数据链接得以创建
第三条意思是状态使ESTABLISHED
和RELATED
容许经过,指的是已创建连接或者追踪连接创建可以经过
第四条意思是容许访问目标地址为192.168.2.0
网段,端口为21/TCP
和80/TCP
状态为NEW能
够经过,指的是新的连接能经过
第五条是为DNS
查询而添加的规则,指的是容许访问目标地址为192.168.2.3的地址且目标端口为
53/UDP的
NEW`状态可以经过,同指新的连接可以经过
你们看!如今已经不能对服务器进行非法访问了
ftp
服务能正常访问
![]()
web
服务能正常访问![]()
dns
服务能正常访问
本文只作了一些简单的限制,不过足以限制用户只能访问”该访问”的服务,这固然不能运用于生产环境中,毕竟设计简陋,你们笑笑就好 做者:AnyISalIn 感谢:MageEdu