15
2019
03
10:25:55

centos7 iptables和firewalld学习记录

centos7系统使用firewalld服务替代了iptables服务,但是依然可以使用iptables来管理内核的netfilter

但其实iptables服务和firewalld服务都不是真正的防火墙,只是用来定义防火墙规则功能的管理工具,将定义好的规则交由内核中的netfilter(网络过滤器来读取)从而实现真正的防火墙功能

在iptables命令中设置数据过滤或处理数据包的策略叫做规则,将多个规则合成一个链。

常见的控制类型

ACCEPT 允许通过

LOG  记录日志信息,然后传给下一条规则继续匹配

REJECT  拒绝通过,必要时给出提示

DROP  直接丢弃,不给出任何回应。

规则链则依据处理数据包的位置不同而进行分类

PREROUTING进行路由选择前处理数据包

INPUT  处理入站数据包

OUTPUT  处理出站数据包

FORWARD  处理转发的数据包

POSTROUTING  在进行路由选择后处理数据包

iptables中的规则表是用于容纳规则链,规则表默认是允许状态的,那么规则链就是设置被禁止的规则,而反之如果规则表是禁止状态的,那么规则链就是设置被允许的规则。

raw表:确定是否对该数据包进行状态跟踪

mangle表:为数据包设置标记

nat表:修改数据包中的源,目标IP地址或端口

filter表:确定是否放行该数据包(过滤)

规则表的先后顺序:raw-mangle-nat-filter

 规则链的先后顺序:

入站顺序:PREROUTING-INPUT

出站顺序:OUTPUT-POSTROUTING

转发顺序:PREROUTING-FORWARD-POSTROUTING

注意事项

没有指定规则表则默认指filter表。

不指定规则链则指表内所有的规则链。

在规则链中匹配规则时会依次检查,匹配即停止(LOG规则除外),若没匹配项则按链的默认状态处理。

基本的命令参数

iptables命令用于管理防火墙的规则策略,格式为:“iptables [-t 表名] 选项[链名][条件]  [-j 控制类型]”不指定表,默认netfilter

 

禁止所有的ping操作

iptables -I INPUT -p icmp -j DROP

firewalld防火墙

区域规则

 

firewall-cmd

很多人因为防火墙的设置太繁杂,所以经常直接systemctl stop firewalld关闭防火墙。

其实这样是不安全的,关闭防火墙之后,不法分子就可以轻易的攻击服务器了。

下面我以开启http为例子,展示如何让http能通过防火墙

firewall-cmd --list-all获取当前的防火墙规则

我的是dmz

firewall-cmd --add-service=http

如果是success,那么服务器上的http服务就能通过防火墙了。但是只是暂时的。

firewall-cmd --permanent --zone=dmz --add-service=http

如果是开放某个端口

firewall-cmd --permanent --zone=dmz --add-port=xxx/tcp




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/350.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: