防火墙是整个数据包进入主机前的第一道关卡。防火墙主要通过 Netfilter 与 TCPwrappers 两个机制来管理的。

1.Netfilter:数据包过滤机制

2.TCP Wrappers:程序管理机制

关于数据包过滤机制有两个软件:firewalld 与 iptables

iptables 通过控制端口来控制服务,而 firewalld 则是通过控制协议来控制端口。

本文将简要列出 firewalld 防火墙与先前版本中 iptables 防火墙的常用操作命令。

一、iptables 使用教程

1.安装iptables-services软件包

yum install iptables-services

2.在引导时启用iptables服务

systemctl enable iptables

3、启动iptables服务

systemctl start iptables

4、添加规则

防火墙的规则 其实就是保存在 /etc/sysconfig/iptables 可以打开文件查看或编辑

iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

参数说明:

  • -A 参数就看成是添加一条 INPUT 的规则

  • -p 指定是什么协议 我们常用的tcp 协议,当然也有udp 例如53端口的DNS

  • 到时我们要配置DNS用到53端口 大家就会发现使用udp协议的

  • 而 –dport 就是目标端口 当数据从外部进入服务器为目标端口

  • 反之 数据从服务器出去 则为数据源端口 使用 –sport

  • -j 就是指定是 ACCEPT 接收 或者 DROP 不接收

5.对iptables服务进行保存:

service iptables save

6.重启iptables服务:

service iptables restart

二、firewalld 使用教程

1、开启防火墙

systemctl start firewalld.service

2、查看端口

firewall-cmd --list-ports

3、添加端口

firewall-cmd --add-port=5001/tcp --permanent

4、关闭端口

firewall-cmd --remove-port=5001/tcp --permanent

5、重启防火墙 ( 添加、关闭 端口后均需重启防火墙使新的规则生效 )

firewall-cmd --reload

6、关闭防火墙

systemctl stop firewalld.service