Unit iptables.service failed to load - RHEL 7/ CentOS 7/Fedora 中的防火墙

第一次使用 CentOS 7,配置防火墙的时候, iptables 服务不能用了,有的时候命令能成功,有的时候又不行,特别是那些写入的操作和服务相关的。在执行 service iptables start/stopservice iptables save 之类的服务命令时会出现 Failed to restart iptables.service: Unit iptables.service failed to load: No such file or directory. 的错误日志。原因是 CentOS 7 升级防火墙为 一个叫 firewalld 的库了。

下面就说一下如何在 Cent7 中像以前一样使用 iptables :

  • 首先关闭并卸载 firewalld
systemctl stop firewalld
systemctl mask firewalld
  • 安装iptables-services

yum install iptables-services

  • 设置开机启动:

systemctl enable iptables

  • 启动服务
systemctl stop iptables  
systemctl start iptables  
systemctl restart iptables  
systemctl reload iptables 
  • 保存设置:

service iptables save

开放某个端口 在/etc/sysconfig/iptables里添加 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

至于新的 fairwalld 的用法最主要有两条:

  • 开放端口

firewall-cmd --permanent --add-port=80/tcp

  • 查询端口是否开放

firewall-cmd --permanent --query-port=80/tcp

你可能感兴趣的:(笔记)