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

转载于:https://www.cnblogs.com/lgh344902118/p/7169006.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值