CentOS 7 默认的防火墙使用的是 firewalld,不是iptables。当你还在尝试运行 iptables 的一些常用命令会报错误提示:例如The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.

centos7.jpg

如果想在 CentOS 7 系统中安装使用 iptables,首先应该停用默认的 firewalld,然后重新安装 iptables 服务,并且开启80/3306/22等常用端口。

重新启用iptables方法

1、先关闭防火墙

systemctl stop firewalld 

2、安装或更新服务

yum install iptables-services 

3、编辑iptables防火墙配置文件

运行命令 vi /etc/sysconfig/iptables

下边是一个完整的配置文件:

# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

输入 :wq 保存退出

systemctl start iptables.service      #开启iptables防火墙
systemctl restart iptables.service      #重启iptables防火墙使配置生效
systemctl enable iptables.service      #设置iptables防火墙开机启动
iptables -L      #查看防火墙规则,默认的是-t filter,如果是nat表查看,即iptables -t nat -L

4、关闭SELINUX

运行命令 vi /etc/selinux/config

#SELINUX=enforcing      #注释掉
#SELINUXTYPE=targeted      #注释掉
SELINUX=disabled      #增加
setenforce 0      #使配置立即生效
Last modification:November 19th, 2020 at 09:02 pm
觉得文章有用,请随意赞赏