防火墙
firewall-cmd
安装
yum install -y firewalld
1
# 开启服务
systemctl start firewalld
# 关闭防火墙
systemctl stop firewalld
# 开机自动启动
systemctl enable firewalld
# 关闭开机制动启动
systemctl disable firewalld
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
常用命令
# 查看版本
firewall-cmd --version
# 查看帮助
firewall-cmd --help
# 显示状态(关闭-notrunning,开启-running)
firewall-cmd --state
# 查看防火墙规则
# 只显示/etc/firewalld/zones/public.xml中防火墙策略
firewall-cmd --list-all
# 显示/etc/firewalld/zones/下的所有策略
firewall-cmd --list-all-zones
# 更新防火墙规则
firewall-cmd --reload
# 查看区域信息
firewall-cmd --get-active-zones
# 查看指定接口所属区域
firewall-cmd --get-zone-of-interface=eth0
# 拒绝所有包
firewall-cmd --panic-on
# 取消拒绝状态
firewall-cmd --panic-off
# 查看是否拒绝
firewall-cmd --query-panic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
帮助
# 查看帮助
man firewall-cmd | grep query-port
# 列出支持的zone
firewall-cmd --get-zones
# 支持的服务
firewall-cmd --get-services
1
2
3
4
5
6
2
3
4
5
6
参数解释
- –permanent #永久生效,没有此参数重启后失效
- –zone #作用域
- –add-service #添加的服务
- –add-port=80/tcp #添加端口,格式为:端口/通讯协议
端口
# 查看所有打开的端口 [--permanent] [--zone=zone] --list-ports
firewall-cmd --list-ports
firewall-cmd --permanent --list-ports
# 开启端口-永久
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --permanent --zone=public --add-port=8080-8082/tcp
# 删除端口
firewall-cmd --permanent --zone=public --remove-port=3306/tcp
firewall-cmd --permanent --zone=public --remove-port=8080-8082/tcp
# 重新载入配置
firewall-cmd --reload
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
服务
# 查看所有打开的服务 [--permanent] [--zone=zone] --list-services
firewall-cmd --list-services
# 开启服务
firewall-cmd --permanent --zone=public --add-service=http
# 删除服务
firewall-cmd --permanent --zone=public --remove-service=smtp
# 设置某个ip访问某个端口
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="172.18.0.0/16" port port="3306" protocol="tcp" accept'
# 删除配置
firewall-cmd --permanent --remove-rich-rule 'rule family=ipv4 source address=172.18.0.0/16 port port=80 protocol=tcp accept'
# 设置某个ip访问某个服务
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'
# 删除配置
firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.0.4/24" service name="http" accept'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
iptables(Centos7以下版本)
1.开放8080端口
/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
1
2.保存
/etc/rc.d/init.d/iptables save
1
3.查看打开的端口
chkconfig --list
/etc/init.d/iptables status
1
2
3
2
3
4.关闭防火墙
# 永久性生效,重启后不会复原
# 开启
chkconfig iptables on
# 关闭
chkconfig iptables off
# 即时生效,重启后复原
# 开启
service iptables start
# 关闭
service iptables stop
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11