防火墙设置
简介
防火墙是整个数据包进入主机前的第一道关卡。是一种位于内部网络与外部网络之间的网络安全系统,是一项信息安全的防护系统,依照特定的规则,允许或是限制传输的数据通过。防火墙主要通过Netfilter与TCPwrappers两个机制来管理的.
管理防火墙的两种方式 :
(1)firewalld 管理火墙的工具,相对简单
(2)iptables 复杂,功能强大
Linux中有两种防火墙软件,ConterOS7.0以上使用的是firewall,ConterOS7.0以下使用的是iptables,本文将分别介绍两种防火墙软件的使用。
firewalld
- 查看firewall服务状态
shell
systemctl status firewalld
#出现Active: active (running)切高亮显示则表示是启动状态。
#出现 Active: inactive (dead)灰色表示停止,看单词也行。
- 查看firewall的状态
shell
firewall-cmd --state
- 开启、重启、关闭、firewalld.service服务
shell
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
- 查看防火墙规则
shell
firewall-cmd --list-all
- 查询、开放、关闭端口
text
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
Iptables
- 安装
由于CenterOS7.0以上版本并没有预装Iptables,我们需要自行装。
安装前先关闭firewall防火墙
shell
systemctl stop firewalld
- 安装iptables:
shell
yum install iptables
- 安装iptables-services:
shell
yum install iptables-services
- 开启防火墙:
shell
systemctl start iptables.service
- 关闭防火墙:
shell
systemctl stop iptables.service
- 查看防火墙状态:
shell
systemctl status iptables.service
7. 设置开机启动:
shell
systemctl enable iptables.service
- 禁用开机启动:
shell
systemctl disable iptables.service
- 查看filter表的几条链规则(INPUT链可以看出开放了哪些端口):
shell
iptables -L -n
- 查看NAT表的链规则:
shell
iptables -t nat -L -n
- 清除防火墙所有规则:
shell
iptables -F
iptables -X
iptables -Z
- 给INPUT链添加规则(开放8080端口):
shell
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
- 查找规则所在行号:
shell
iptables -L INPUT --line-numbers -n
- 根据行号删除过滤规则(关闭8080端口):
shell
iptables -D INPUT 1