Linux系统日常管理-Linux防火墙

11.Linux的防火墙
(1)selinux
关闭selinux的方法执行命令“SELINUX=disabled”,默认为enforcing。配置文件为/etc/selinux/config,修改配置文件后,重启Linux方可生效。临时关闭selinux命令为“setenforce 0”,可以使用“getenforce”查看selinux状态。

(2)iptables
iptables -nvL
iptables -F
-nvL选项表示查看规则,-F选项表示清除规则,但清除只是临时的,重启系统或者重启iptables服务后还会加载已经保存的规则,所以需要使用“/etc/init.d/iptables save”保存一下规则。
(A)iptables的3个表
filter:这个表用于过滤包,是系统预设的表,内建3个链。
INPUT–作用于进入本机的包;
OUTPUT–作用于本机送出的包;
FORWARD–作用于那些跟本机无关的包;

nat:这个表主要用于网络地址转换,内建3个链。
PREROUTING–作用是在包刚到达防火墙时改变它的目的地址;
OUTPUT–作用是改变本地产生的包的目的地址;
POSTROUTING–作用是在包即将离开防火墙之前改变其源地址;

mangle:这个表主要用于给数据包做标记,然后根据标记去操作相应的包。

(B)iptables基本语法
iptables -t nat -nvL
-t选项后面跟表名,-nvL表示查看该表的规则,其中-n表示不针对IP反解析主机名,-L表示列出,-v表示列出的信息更加详细。如果不加-t选项则打印filter表的相关信息。

iptables -F
iptables -Z
-F表示把所有规则全部清删除,-Z表示把包及流量计数器置零。

(C)iptables选项
-A/-D:表示增加/删除一条规则。
-I:表示插入一条规则,其实效果跟-A一样。
-p:表示制定协议,可以使tcp、udp或者icmp。
–dport:跟-p一起使用,表示指定目标端口。
–sport:跟-p一起使用,表示指定源端口。
-s:表示指定源IP(可以使一个IP段)。
-d:表示指定目的IP(可以使一个IP段)。
-j:后面跟动作,其中ACCEPT表示允许包,DROP表示丢弃包,REJECT表示拒绝包。
-i:表示指定网卡。
-P:表示预设策略,后跟链,再跟动作。

iptables -I INPUT -s 1.1.1.1 -j DROP
iptables -D INPUT -s 1.1.1.1 -j DROP
iptables -I INPUT -s 2.2.2.2 -p tcp –dport 80 -j DROP

有时候服务器上的iptables过多了,想删除某一条规则,但又不容易掌握创建时的规则。其实有一种比较简单的方法,先查看iptables规则,如iptables -nvL –line-numbers

然后删除某一条规则,如
iptables -D INPUT 1
这里-D后面依次跟链名、规则num。这个num就是查看iptables规则时的第1列的值。

关于icmp的包有一个比较常见的应用,如
iptables -I INPUT -p icmp –icmp-type 8 -j DROP
这里–icmp-type选项要跟-p icmp一起使用,后面指定类型编号。这个“8”指的是能在本机ping通其他机器,而其他机器不能ping通本机。

(3)保存和备份iptables规则
services iptables save;
iptables-save > file;
iptables-restore < file;

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页