目录
一、使用 iptables
方式
1、安装 iptables-services
(如果没有安装的话)
yum install iptables-services
设置开机启动
systemctl enable iptables
2、关闭 firewall
# 关闭并屏蔽 firewalld
systemctl stop firewalld
systemctl mask firewalld
# 解除 iptables 的屏蔽
systemctl unmask iptables
3、开放 8080 端口
iptables -A INPUT -m tcp -p tcp --dport 8080 -j ACCEPT
或者编辑配置文件:
vim /etc/sysconfig/iptables
# 添加一条
-A INPUT -m tcp -p tcp --dport 8080 -j ACCEPT
4、保存配置
service iptables save
5、重启 iptables
systemctl restart iptables
以下是 iptables
的一些命令,停止/启动/重启 防火墙
# 使用 systemctl 操作
systemctl [stop|start|restart] iptables
# 使用 service 操作
service iptables [stop|start|restart]
启动成功之后,查看 iptables 的运行状态,如果为 active
表示运行成功,为 inactive
则表示未启动:
[user@localhost home]$ systemctl status iptables
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
Active: active (exited) since Tue 2022-03-01 16:12:22 CST; 14min ago
Process: 9061 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS)
Process: 9068 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
Main PID: 9068 (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CGroup: /system.slice/iptables.service
二、使用 firewalld
方式(推荐)
1、安装 firewalld
(如果没有安装的话)
yum install firewalld
设置开机自动启动:
systemctl enable firewalld
3、启动 firewalld
systemctl start friewalld
如果之前启动了 iptables
,可以按以下方式切换
# 关闭并屏蔽 iptables
systemctl stop iptables
systemctl mask iptables
# 解除 firewalld 的屏蔽
systemctl unmask friewalld
启动成功之后,查看 firewalld 的运行状态,如果为 active
表示运行成功,为 inactive
则表示未启动:
[user@localhost home]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2022-03-01 16:40:53 CST; 4s ago
Docs: man:firewalld(1)
Main PID: 10206 (firewalld)
Tasks: 2
Memory: 30.0M
CGroup: /system.slice/firewalld.service
└─10206 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
4、开放 8080 端口
firewall-cmd --add-port=8080/tcp --permanent
5、重启 firewall
firewall-cmd --reload
PS:如果使用的是阿里云的ECS服务器,需要在服务器的安全组规则配置规则添加开放端口:
- 端口范围为:8080/808
- 授权对象为:0.0.0.0/0
firewalld
常用命令
查看防火墙状态:
systemctl status firewalld
firewall-cmd --state
开启、关闭、重启防火墙:
systemctl start|stop|restart firewalld
开启、关闭开机自动启动:
systemctl enable|disable firewalld
重新载入配置(比如添加规则之后,需要执行此命令):
firewall-cmd --reload
列出支持的 zone
:
firewall-cmd --get-zones
列出支持的服务:
firewall-cmd --get-services
查看 ftp
服务是否支持(返回 yes 或者 no):
firewall-cmd --query-service ftp
临时开放 ftp
服务:
firewall-cmd --add-service=ftp
永久开放 ftp
服务:
firewall-cmd --add-service=ftp --permanent
永久移除 ftp
服务:
firewall-cmd --remove-service=ftp --permanent
永久添加8080端口:
firewall-cmd --add-port=8080/tcp --permanent
永久移除8080端口:
firewall-cmd --remove-port=8080/tcp --permanent
查看开启的服务:
firewall-cmd --permanent --zone=public --list-services
查看已开发的端口:
firewall-cmd --permanent --zone=public --list-ports
查看端口是否生效:
firewall-cmd --zone=public --query-port=8080/tcp