Centos 7使用firewalld代替了原来的iptables
- 查看已经开放的端口
firewall-cmd --list-ports
- 开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
- 重启
firewall-cmd --reload
- 停止firewall
systemctl stop firewalld.service
-
禁止firewall开机启动
systemctl disable firewalld.service -
查看防火墙状态
systemctl status firewalld
[root@localhost ~]# 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 四 2019-05-16 19:29:12 CST; 14h ago
Main PID: 87662 (firewalld)
CGroup: /system.slice/firewalld.service
└─87662 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
5月 16 19:29:11 localhost.localdomain systemd[1]: Starting firewalld - dynam...
5月 16 19:29:12 localhost.localdomain systemd[1]: Started firewalld - dynami...
Hint: Some lines were ellipsized, use -l to show in full.
dynamic
英 [daɪ'næmɪk] 美 [daɪ'næmɪk]
adj. 动态的;动力的;动力学的;有活力的
n. 动态;动力
-
开关启防火墙
systemctl start firewalld
systemctl stop firewalld -
查看当前firewall状态
firewall-cmd --state -
重启firewall
firewall-cmd --reload -
禁止开机启动
systemctl disable firewalld.service
开户端口
查看已经开放的端口:
firewall-cmd --list-ports
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
开启断绝口后需要重启防火墙
在dos中输入
telnet 服务器ip 端口
Firewalld
firewall-cmd 是 firewalld 的命令行管理工具,firewalld 是 CentOS 7 的一大特性。
firewalld 自身并不具备防火墙的功能,而是和 iptables 一样需要通过内核的 netfilter 来实现,也就是说 firewalld 和 iptables 一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的 netfilter,只不过 firewalld 和 iptables 的结构以及使用方法不一样罢了。
使用
systemctl enable firewalld && systemctl start firewalld
# 获取传入的相关联 ip,
if [[ "" == $1 ]]; then
echo "====>>> error:多个 ip 以英文下逗号间隔"
exit 0
fi
# 获取到 ip
ipArrStr=$1
# 分割 ip
ipArr=(${ipArrStr//,/ })
for ip in ${ipArr[@]};
do
# 开放所有端口到指定ip
firewall-cmd --add-rich-rule="rule family='ipv4' source address='$ip' port protocol='tcp' port='0-65535' accept" --permanent
done
# 开放 80 端口
firewall-cmd --add-service=http --permanent
# 开放 443 端口 https服务
firewall-cmd --add-service=https --permanent
# 开放 RabbitMQ 服务端口
firewall-cmd --add-port=5672/tcp --permanent
# 统一重新加载防火墙
firewall-cmd --reload