博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RHEL/CentOS 7中的iptables.service与firewalld.service概述
阅读量:4179 次
发布时间:2019-05-26

本文共 2784 字,大约阅读时间需要 9 分钟。

在RHEL/CentOS 7中,曾经的iptables.service/ip6tables.service已经被firewalld.service所替代。但两者在本质上是一致的,都是通过iptables工具操作Linux kernel的netfilter,实现对IP数据包的过滤。两者只是在实现上有如下不同:

  • iptables/ip6tables的配置默认存储到/etc/sysconfig/iptables,/etc/sysconfig/ip6tables文件;而firewalld的配置存储到/usr/lib/firewalld/和/etc/firewalld/目录下的若干个XML文件。
  • iptables/ip6tables的配置改变后,需要重新加载所有规则,这会造成当前的连接全部中断;而firewalld可以在运行时加载配置的改变,而不会丢失当前的连接。

虽然iptables.service/ip6tables.service已经无效,但是他们还存在,只是没有被启用。查看其状态如下:

[root@myhost ~]# systemctl status iptables * iptables.service - IPv4 firewall with iptables   Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)   Active: inactive (dead)[root@myhost ~]# systemctl status ip6tables* ip6tables.service - IPv6 firewall with ip6tables   Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; disabled; vendor preset: disabled)   Active: inactive (dead)

而firewalld.service的状态如下:

[root@myhost ~]# 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 Fri 2019-05-10 09:05:38 CEST; 2 days ago     Docs: man:firewalld(1) Main PID: 784 (firewalld)    Tasks: 2   Memory: 39.1M   CGroup: /system.slice/firewalld.service           `-784 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid...

对于多数熟悉iptables/ip6tables的开发人员,不习惯使用firewall-cmd配置系统的防火墙,仍然怀念直接使用iptables/ip6tables的日子。在RHEL/CentOS 7中,也提供了这样的过渡实现,示例如下:

首先,如果iptables.service/ip6tables.service真的没有安装,则yum install iptables-services先安装服务。

1. 禁用FirewallD

systemctl disable firewalldsystemctl stop firewalld

2.启用iptables/ip6tables service

systemctl start iptablessystemctl enable iptablessystemctl start ip6tablessystemctl enable ip6tables

3. 查看iptables/ip6tables service

[root@myhost ~]# systemctl status ip6tables* ip6tables.service - IPv6 firewall with ip6tables   Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; enabled; vendor preset: disabled)   Active: active (exited) since Thu 2019-04-04 09:52:58 CEST; 2 minutes ago Main PID: 29101 (code=exited, status=0/SUCCESS)   CGroup: /system.slice/ip6tables.serviceApr 04 09:52:58 myhost systemd[1]: Starting IPv6 firewall with ip6tables...Apr 04 09:52:58 myhost ip6tables.init[29101]: ip6tables: Applying firewall rules: [  OK  ]Apr 04 09:52:58 myhost systemd[1]: Started IPv6 firewall with ip6tables.

注意,虽然启动了iptables/ip6tables service,但是其状态为active(exited),这是因为该服务只是作为对防火墙的配置,在启动时执行脚本,而无需作为后台进程常驻服务。

出于对RHEL/CentOS 6的兼容,我们还可以通过service操作iptables/ip6tables service,如保存运行时对防火墙的修改如下:

[root@myhost ~]# service iptables saveiptables: Saving firewall rules to /etc/sysconfig/iptable[  OK  ][root@myhost ~]# service ip6tables saveip6tables: Saving firewall rules to /etc/sysconfig/ip6table[  OK  ]

 

转载地址:http://ihlai.baihongyu.com/

你可能感兴趣的文章
(转载)linux命令之二十八df 命令
查看>>
(转载)linux命令之二十九du 命令
查看>>
cesium调用天地图服务
查看>>
objTo3d-tiles:将obj模型文件转换为三维瓦片
查看>>
Linux查看硬件信息命令
查看>>
.obj 和 .mtl文件格式
查看>>
CentOS6.5 添加开机自启动脚本
查看>>
Access 和vc6.0 相连,在我indows64 位系统中,出现找不到Microsoft Access Driver(*.mdb) ODBC驱动程序的安装例程。请重新安装驱动
查看>>
Spring框架的基本概念
查看>>
Spring Bean的配置方式及标注(Annotation)配置
查看>>
Spring框架事务管理之一:JavaEE事务与Spring事务
查看>>
java.lang.IllegalArgumentException: FacesContext must not be null 错误分析及解决
查看>>
Spring框架事务管理之四:Spring编程式事务
查看>>
JOSSO入门指南及其与WildFly AS 10的集成
查看>>
为WildFly AS 10中的Liferay Portal 6.2配置JOSSO Agent
查看>>
Spring ORM与Hibernate的集成开发详解
查看>>
WildFly AS 10中基于PicketLink的SAML SSO实现
查看>>
Spring AOP概述
查看>>
Apache Maven入门指南
查看>>
Apache Maven的插件概述
查看>>