CentOS 7 安装配置iptables

CentOS 7 默认使用的是firewall作为防火墙, iptables用于过滤数据包,属于网络层防火墙.firewall能够允许哪些服务可用,那些端口可用,属于更高一层的防火墙。firewall的底层是使用iptables进行数据过滤,建立在iptables之上。习惯了iptables还是继续用吧~

CentOS 7 开始service命令不推荐使用了,提供了新的systemctl工具,为了向后兼容,旧的service命令仍然可用,但会重定向所有命令到新的systemctl工具。systemctl 是管理服务的主要工具,整合了chkconfig与service的功能。

systemctl的用法

systemctl is-enabled iptables.service
systemctl is-enabled iptables.service #查询服务是否开机启动
systemctl enable iptables.service #开机运行服务
systemctl disable iptables.service #取消开机运行
systemctl start iptables.service #启动服务
systemctl stop iptables.service #停止服务
systemctl restart iptables.service #重启服务
systemctl reload iptables.service #重新加载服务配置文件
systemctl status iptables.service #查询服务运行状态
systemctl --failed #显示启动失败的服务

1、关闭firewall

systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

2、安装iptables

yum install iptables-services #安装

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 RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

3、启动iptables

systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动