一、iptables工作原理分类
主机防火墙:主要是用来防范单台主机的进出报文;——-filter表·
网络防火墙: 能够实现对进出本网络的所有主机报文加以防护——nat表
raw mangle nat filter
========================================================================================
iptables缺点:
(1)防火墙虽然可以过滤互联网的数据包,但却无法过滤内部网络的数据包。因此若有人从内部网络攻击时,防火墙没有作用。
(2)电脑本身的操作系统亦可能因一些系统漏洞,使入侵者可以利用这些漏洞绕过防火墙过滤,从而入侵电脑。
(3)防火墙无法有效阻挡病毒攻击,尤其是隐藏在数据中的病毒。
1.1、iptables 表
1.2、iptables 链
1.3、表和链的关系
二、iptables 命令常用的参数详解
三、 iptables和firewalld的区别
3.1、相同点:
firewalld 与 iptables 都是 linux 中防火墙的管理程序,但其实其角色主要为对于防火墙策略的管理,真正的防火墙执行者是位于内核中的netfilter
3.2、不同点:
iptables 仅能通过命令行进行配置;而 firewalld 提供了图形接口,类似windows防火墙的操作方式
iptables 每一个单独更改意味着清除所有旧的规则,并从 /etc/sysconfig/iptables 中读取所有新的规则;而 firewalld 在有规则变动后,可以仅仅运行规则中的不同之处,即在 firewalld 运行时间内,改变设置时可以不丢失现行链接
iptables 的配置文件在 /etc/sysconfig/iptables 中;而 firewalld 的配置文件在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件中
iptables 没有守护进程,并不能算是真正意义上的服务;而 firewalld 有守护进程
iptables 通过控制端口来控制服务,而 firewalld 则是通过控制协议来控制端口
3.3、区别
1,firewalld可以动态修改单条规则,动态管理规则集,允许更新规则而不破坏现有会话和连接。而iptables,在修改了规则后必须得全部刷新才可以生效;
2,firewalld使用区域和服务而不是链式规则;
3,firewalld默认是拒绝的,需要设置以后才能放行。而iptables默认是允许的,需要拒绝的才去限制;
4,firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现。也就是说,firewalld和iptables一样,它们的作用都用于维护规则,而真正使用规则干活的是内核的netfilter。只不过firewalld和iptables的结果以及使用方法不一样!
firewalld是iptables的一个封装,可以让你更容易地管理iptables规则。它并不是iptables的替代品,虽然iptables命令仍可用于firewalld,但建议firewalld时仅使用firewalld命令。
四、firewalld 的命令
配置firewalld-cmd查看版本:firewall-cmd --version查看帮助:firewall-cmd --help显示状态:firewall-cmd --state查看所有打开的端口:firewall-cmd --zone=public --list-ports更新防火墙规则:firewall-cmd --reload端口开放添加:firewall-cmd --zone=public --add-port=80/tcp --permanent重新载入:firewall-cmd --reload删除:firewall-cmd --zone= public --remove-port=80/tcp --permanent
4.1、指定IP与端口访问
查看转发的端口:firewall-cmd —list-forward-ports
其实一个服务对应一个端口,每个服务对应/usr/lib/firewalld/services下面一个xml文件。 firewall-cmd —list-services
查看还有哪些服务可以打开 firewall-cmd —get-services
查看所有打开的端口: firewall-cmd —zone=public —list-ports
更新防火墙规则: firewall-cmd —reload
4.2、public默认网络的区域

