1、介绍

在CentOS里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。

firewalld跟iptables比起来至少有两大好处:

1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;

2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。

firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。

firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。

从Cent7以后,iptables服务的启动脚本已被忽略。请使用firewalld来取代iptables服务。

2、firewalld

启动: systemctl start firewalld

查看状态: systemctl status firewalld

停止: systemctl disable firewalld

禁用: systemctl stop firewalld

查看版本: firewall-cmd --version

查看帮助: firewall-cmd --help

显示状态: firewall-cmd --state

查看所有打开的端口: firewall-cmd --zone=public --list-ports

更新防火墙规则: firewall-cmd --reload

查看区域信息:  firewall-cmd --get-active-zones

查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0

拒绝所有包:firewall-cmd --panic-on

取消拒绝状态: firewall-cmd --panic-off

查看是否拒绝: firewall-cmd --query-panic

3、iptables

一直用的iptables来管理规则,iptables更熟悉一些。

linux的防火墙由netfilter和iptables组成。用户空间的iptables制定防火墙规则,内核空间的netfilter实现防火墙功能。

用户空间的iptables制定相应的规则策略控制内核空间的netfilter处理相应的数据访问控制。

iptables有四表五链(其实有五表,是后来加进来的),四表分别是下图的的raw,mangle,nat,filter表。五链分别是PREROUTING,INPUT,OUTPUT,FORWARD,POSTROUTING链。表有什么用?链又有什么用呢?其实表决定了数据报文处理的方式,而链则决定了数据报文的流经哪些位置。

你可以从图中看出规则表的优先级:raw-->mangle-->nat-->filter。

5表:

命令结构: iptables [ -t 表名 ] 管理选项 [ 链名 ] [ 条件匹配 ] [ -j 目标动作或跳转 ]

不指定表名时默认是filter表,

 -L, --list [chain]:列出规则;

-F:清除所有规则

 -v, --verbose:详细信息; 

 -vv 更详细的信息

 -n, --numeric:数字格式显示主机地址和端口号;

 -x, --exact:显示计数器的精确值,而非圆整后的数据;

 --line-numbers:列出规则时,显示其在链上的相应的编号;

-A, --append chain rule-specification:追加新规则于指定链的尾部; 

-I, --insert chain [rulenum] rule-specification:插入新规则于指定链的指定位置,默认为首部;

-D,删除一条规则

-p 指定规则协议,tcp udp icmp all

-s 指定数据包的源地址,ip hostname

-d 指定目的地址

-i 输入接口

-o 输出接口                                              

! 取反

多端口,一次不能超过15个

 iptables -I INPUT -d 172.16.100.7 -p tcp -m multiport --dports 22,80 -j ACCEPT

 iptables -I OUTPUT -s 172.16.100.7 -p tcp -m multiport --sports 22,80 -j ACCEPT

设置ip范围

   iptables -A INPUT -d 172.16.100.7 -p tcp --dport 23 -m iprange --src-range 172.16.100.1-172.16.100.100 -j ACCEPT

    iptables -A OUTPUT -s 172.16.100.7 -p tcp --sport 23 -m iprange --dst-range 172.16.100.1-172.16.100.100 -j ACCEPT

设定过滤时间、对应用层数据进行正则过滤、限定速率、状态

规则设置实例

1.放行sshd服务

1

2

 iptables -t filter -A INPUT -s 192.168.0.0/24 -d 192.168.0.1 -p tcp --dport 22 -j ACCEPT

 iptables -t filter -A OUTPUT -s 192.168.0.1  -p tcp --sport 22 -j ACCEPT

  1.  2.放行httpd/nginx服务

1

2

 iptables -I OUTPUT -s 192.168.0.1 -p tcp --sport 80 -j ACCEPT

 iptables -I INPUT -d 192.168.0.1 -p tcp --dport 80 -j ACCEPT

  1. 3.放行本机端的流入流出

1

2

3

  iptables -A  INPUT  -s 127.0.0.1 -d 127.0.0.1 -i lo -j ACCEPT

  iptables -A  OUTPUT  -s 127.0.0.1 -d 127.0.0.1 -o lo -j ACCEPT

  #不放行本机的流入与流出,访问本机的httpd服务,网页会出现Error establishing a database connection。

  1. 4.限制ping 192.168.0.1主机的数据包数,平均2/s个,最多不能超过3个

1

iptables -A INPUT -i ens33 -d 192.168.0.1 -p icmp --icmp-type 8 -m limit --limit 2/second --limit-burst 3 -j ACCEPT

iptables -D INPUT 2     根据规则编号来删除规则

禁ping:iptables -I INPUT -p icmp -j REJECT

参考链接:https://blog.51cto.com/xjsunjie/1902993

https://www.cnblogs.com/makeinchina/p/8032899.html

https://www.cnblogs.com/frankb/p/7427944.html

https://blog.51cto.com/xiaozhuang/874244

Linux防火墙设置详解相关推荐

  1. linux服务器3306端口,linux系统对外开放3306、8080等端口,防火墙设置详解

    linux系统对外开放3306.8080等端口,防火墙设置详解 发布时间:2020-10-10 23:08:49 来源:脚本之家 阅读:141 作者:julielele 栏目:服务器 我们很多时候在l ...

  2. Windows 7防火墙设置详解(三)

    Windows 7防火墙设置详解(三) 一.如何禁用或启用规则 方法:只需要在需要禁用或启动的规则上,鼠标右键选择启用或禁止规则即可,或点击右侧的操作栏进行规则启用或禁止. 二.入站规则和出站规则 由 ...

  3. Windows 7防火墙设置详解(一)

    Windows 7防火墙设置详解(一) 本文介绍Windows 7防火墙的设置方法,自从Vista开始,Windows的防火墙功能已经是越加臻于完善.今非昔比了,系统防火墙已经成为系统的一个不可或缺的 ...

  4. Windows 7防火墙设置详解(二)

    Windows 7防火墙设置详解(二) 一.高级安全Windows 防火墙MMC 依次点击"计算机"--"控制面板"--"Windows防火墙&quo ...

  5. Linux网络设置详解

    文章目录 前言 云计算 一:查看网络接口信息 1.1使用ifconfig 命令查看网络接口地址 1.2网卡介绍 1.3查看主机名称hostname 1.4查看路由表route 1.5查看网络连接情况n ...

  6. linux网卡设置详解,史上最详细的Linux网卡ifcfg-eth0配置详解

    经过查资料与工做中的进行一下总结:服务器 DEVICE="eth1"                           网络 网卡名称 NM_CONTROLLED="y ...

  7. linux网卡设置详解

    centos7安装之后是需要在网卡配置文件中开始网络连接 onboot =yes 刚开始时网卡获取IP模式是dhcp 你会发现ifconfig不能用,猜测是废弃了,你要yum install net- ...

  8. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

  9. suse linux双网卡绑定,suse linux双网卡绑定设置详解

    <suse linux双网卡绑定设置详解>由会员分享,可在线阅读,更多相关<suse linux双网卡绑定设置详解(2页珍藏版)>请在人人文库网上搜索. 1.suse linu ...

最新文章

  1. 无边框窗体和用户控件以及权限
  2. re.split()用法详解
  3. python3实现mysql导出excel
  4. 输入几个数字,用逗号隔开系列例题
  5. 关于return的用法
  6. 面试题目_总结面试中 promise 相关题目的套路
  7. AngularJS(三):重复HTML元素、数据绑定
  8. linux xorg.0.log,Red Hat无法登录,Cannot open log file /var/log/Xorg.0.log
  9. js如何监听元素事件是否被移除_JS移除事件监听的方法 .removeEventListener( )
  10. [前端漫谈] 做一个四则计算器
  11. 第 6 章 本地方法接口
  12. 网页打不开显示php探针,phpinfo被禁用,可用php探针
  13. 安装Windows刷机adb环境手册
  14. STM32开源代码——TM1637四位数码管
  15. 吴恩达深度学习笔记(五)
  16. 如果你有想珍惜的人,一定要送TA这个礼物!绝美又有内涵
  17. 用计算机算四分位数间距,数据不满足正态分布——如何计算中位数(四分位数间距)...
  18. Java版 猜数字小游戏
  19. 无需设置权限您照样可以访问OBS桶中的数据?
  20. 解决一个国际化标准库的问题

热门文章

  1. 什么叫冷备用状态_在电力设备运行中有:运行、热备用、冷备用、检修四中状态,请问什么是热备用、冷备用?...
  2. 生产管理之班组长(经典)
  3. uni-app 高德地图报 INVALID_USER_SCODE
  4. ex1-linearRegression
  5. wind mysql 5.7 msi安装_mysql5.7安装
  6. 地形剖面图、纬度高度剖面图如何绘制
  7. QPushButton菜单设置
  8. python物流数据集
  9. 2020,前端主流框架和主题,以及下一个十年的技术趋势
  10. fft(快速傅里叶变换)学习草稿,逆dft证明