一、Iptables防火墙

----------

**三表五链:**

三表:




五链:






filter:默认使用INPUT FORWARD OUTPUT链

NAT:默认PREROUTING OUTPUT POSTROUTING链

Mangle:五个链

一般:从内网---->外网 可控的

INPUT链使用最多

匹配动作:

允许(ACCEPT)

拒绝(REJECT)--->看到你的信息 拒绝扔掉 --->告诉你

登记(LOG)

不理睬(DROP)--->看到信息不理你(把你的消息扔掉)

**基本的命令参数:**

**iptables命令一般根据源地址 目的地址 协议 服务类型等**

iptables五链 为什么会出现 docker iptables 3表5链_linux

![这里写图片描述](https://s2.51cto.com/images/blog/202310/20182645_653255e515c8f37149.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

例如设置INPUT默认为DROP拒绝,

iptables -P INPUT DROP

此时远程ssh连接会断开,并且无法Ping通该服务器IP

允许ICMP流量放行和SSH 22

执行:iptables -I INPUT --p icmp -j ACCEPT 则可以Ping通该服务器IP

执行:iptables -I INPUT -p tcp --dport 22 -j ACCEPT 则可以远程SSH连接

二、firewalld
-----------

RHEL7默认的防火墙管理工具

基于CLI 也可以基于GUI

支持动态更新技术 加入区域zone概念

区域---->策略

规则

1.在家中允许所有服务

2.办公室允许文件共享服

3.咖啡厅只能浏览网页规则:常见区域:默认区域public

区域 默认规则策略

iptables五链 为什么会出现 docker iptables 3表5链_重启_02

![这里写图片描述](https://s2.51cto.com/images/blog/202310/20182645_653255e55978745380.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

**firewalld命令**




iptables五链 为什么会出现 docker iptables 3表5链_重启_03

![这里写图片描述](https://s2.51cto.com/images/blog/202310/20182645_653255e5dda4b8783.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

**使用firewalld配置的防火墙策略--->默认运行模式 Runtime模式,当前生效模式--系统重启会失效**

**永久模式 Permanent--->需要参数 --permanent**

**设置的策略必须经过重启才生效**

**立刻生效 --reload**

事例:把原本访问本机的888端口的流量转发到 22端口 要求当前和长期都有效

iptables五链 为什么会出现 docker iptables 3表5链_重启_04

![这里写图片描述](https://s2.51cto.com/images/blog/202310/20182646_653255e61b81114911.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)

Firewall优先级最高!!!
--------

**SNT--为了解决ip地址缺乏**
服务的访问控制列表
TCP Wrappers 是THEL7 默认启用的流量监控系统
根据主机地址 和本机的目标服务
两个原则
1.编写拒绝规则时 填写的是服务名称 不是协议名称
2.建议先写拒绝

Iptables--firewall--->软件层次 数据层次
-------------------------------

Selinux--->Linux内核
------------------

**Selinux--->Linux内核保护**
**Setenforce 改变运行状态**
**Getenforce 获取selinux状态**
**状态:**
**Enforcing--记录警告 并且阻止**
**Permissive--允许 记录警告但是不阻止**
**Disabled--禁用**
**RHEL、CentOS 、Fedora 默认是Enforcing**
**其余是Permissive**