CentOS7 执行 service iptables save 报错 The service command supports only basic L易做图 actions
CentOS7 执行 service iptables save 报错 The service command supports only basic L易做图 actions xxxxxx至于为什么要使用iptables 可能完全是个人习惯,毕竟熟悉新东西也耗费精力,关键结果区别还不是很大
[root@zzzyk.com ~]# service iptables save
The service command supports only basic L易做图 actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 daemon,原来管理系统启动和管理系统服务的相关命令全部由 systemctl 命令来代替。service 命令之保留了极少部分使用,大部分命令都要改用 systemctl 命令来使用。
在 RHEL 7 和 CentOS 7 中, firewalld 被引入来管理 iptables。
解决方案,首先停止防火墙:
systemctl stop firewalld
systemctl mask firewalld
在 CentOS 7 和 RHEL 7 中,没有 /etc/sysconfig/iptables 这个配置文件,也不能执行 service iptables restart 命令,需要通过安装 iptables-services 才有。
[root@yizuotu.net~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
[root@yizuotu.net~]# rpm -qa|grep iptables
iptables-1.4.21-28.el7.x86_64
[root@test ~]# yum -y install iptables-services
然后就可以使用 service iptables [start | stop | restart | save ....] 命令。
# 这样就可以保存防火墙规则了
[root@test ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
[root@test ~]# ll /etc/sysconfig/iptables
-rw-------. 1 root root 6479 Nov 7 04:00 /etc/sysconfig/iptables
# 或者 使用如下命令
[root@test ~]# /usr/libexec/iptables/iptables.init save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]