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

最新文章

  1. 透过byte数组简单分析Java序列化、Kryo、ProtoBuf序列化
  2. 结合NGUI做的手机拍照(可自定义相框)
  3. WP开发笔记——阻止Back后退键
  4. java中移位运算符:<<、>>和>>>之间的比较
  5. sql 将Null 值转化成空字符串
  6. C语言基本概念
  7. Enum in Java
  8. Redis 小白指南(三)- 事务、过期、消息通知、管道和优化内存空间
  9. DbGridEh根据某一个字段的值显示对应底色或字体变化
  10. C#编程风格
  11. jQuery.prop , jQuery.attr ,jQuery.data
  12. Codeforces 938G Shortest Path Queries [分治,线性基,并查集]
  13. (转载)关于java多线程web服务器 以及相关资料转载
  14. C# 创建精简版IIS
  15. emWin 使用 GUIBuilder 放置标题 TEXT 注意
  16. clear session on close of browser jsp
  17. java 使用正则判断是不是一个数字
  18. Laravel 根据任务的性质和要求决定处理的方式(Cron or Job)
  19. delphi TEncoding
  20. AndroidManifest.xml文件详解(activity)(四)

热门文章

  1. centos python2.6升级到2.7出现的问题
  2. JAVA Eclipse 教程
  3. UVALIVE 3307 Adventurous Driving
  4. 网络知识===cookie 、session、JSESSIONID的区别
  5. Bash Shell 下打开一个TCP / UDP SOCKET
  6. linux 环境变量设置方法总结(PATH/LD_LIBRARY_PATH)
  7. CSS边框属性
  8. python 多进程并发与多线程并发
  9. gaggd
  10. 分分钟搞定 JSP 技术