1. CentOS

查看防火墙状态

systemctl status firewalld

firewall-cmd --state

启停防火墙

# 开启
systemctl start firewalld # 重启
systemctl restart firewalld # 关闭
systemctl stop firewalld # 开机自启
systemctl enable firewalld # 取消开机自启
systemctl disable firewalld

查看防火墙规则

firewall-cmd --list-all

开放端口

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

关闭端口

firewall-cmd --permanent --remove-port=80/tcp
firewall-cmd --reload

查询端口是否开放

firewall-cmd --query-port=80/tcp

2. Ubuntu

查看防火墙状态:

 ufw status

启停防火墙:

# 启动、并开机自启

ufw enable

# 关闭、并关闭开机自启
ufw disable

ufw 命令似乎没什么 luan 用:UFW(iptables)规则的匹配基于规则出现的顺序,一旦匹配到某个规则,检查便会停止。

直接在 /etc/ufw/before.rules 文件中添加规则即可。

...
# End required lines # 开放 80 端口
-A ufw-before-input -p tcp --dport 80 -j ACCEPT # 关闭 8080 端口
-A ufw-before-input -p tcp --dport 8080 -j DROP # 拒绝主机 222.201.187.189 的访问
-A ufw-before-input -s 222.201.187.189 -j DROP # 拒绝子网 222.201.187.0/24 中的主机的访问
-A ufw-before-input -s 222.201.187.0/24 -j DROP

重新加载配置信息:

ufw reload

3. iptables

主要用法
iptables [-t table] {-A|-C|-D} chain rule-specification
iptables [-t table] -D chain rulenum
iptables [-t table] -I chain [rulenum] rule-specification
iptables [-t table] {-F|-L} [chain]
iptables [-t table] -P chain target
iptables [-t table] -R chain rulenum rule-specification
  • table:在指定的表上执行操作。当前有 filter (默认)、nat、mangle、raw、security 五张表。
  • chain:每张表上都有多条规则链,目前有 PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD 五条链。
    • filter表3条链:INPUT、FORWARD、OUTPUT
    • nat表3条链:PREROUTING、POSTROUTING、OUTPUT
    • mangle表5条链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
    • raw表2条链:OUTPUT、PREROUTING
    • security表3条链:INPUT、FORWARD、OUTPUT
  • -A:在链的末尾追加一条规则。
  • -C:查看是否存在指定的规则。
  • -D:删除指定的规则。
  • -I:在指定位置(默认为链头)插入一条规则。
  • -F:清空指定的链;
  • -L:列出链中的所有规则。
  • -P:修改链的默认 target。
  • -R:替换某条规则。

target

  • ACCEPT:接受数据包。
  • DROP:丢弃数据包,不做任何响应。

常用的条件匹配

  • -p protocol:指定协议。
  • -s source:指定源地址。
  • -d destination:指定目的地址。
  • -i interface:指定进入的接口。
  • -o interface:指定出去的接口。
  • --sport port:指定源端口。
  • --dport port:指定目的端口。
  • -m match:使用其他扩展匹配。

支持取反操作 !,如,! -p icmp 即非 ICMP 协议。

# 默认丢弃所有数据包
iptables -P INPUT DROP # 在链头插入规则
iptables -I INPUT 1 -s 192.168.1.1 -j ACCEPT # 替换规则
iptables -R INPUT 1 -p icmp -s 222.201.189.0/24 -j DROP # 指定多个端口
iptables -A INPUT -p tcp -m multiport --dport 20,21,25,110,1250:1280 -j ACCEPT # 指定多个IP地址
iptables -A FORWARD -p tcp -m iprange --src-range 192.168.1.20-192.168.1.99 -j DROP

清空所有规则:

iptables -F

保存、恢复规则:

# 保存
iptables-save > iptables.txt # 恢复
iptables-restore < iptables.txt

参考资料

https://www.cnblogs.com/xxoome/p/7115614.html

https://www.cnblogs.com/zhaojingyu/p/11458744.html

https://www.cnblogs.com/metoy/p/4320813.html

Linux防火墙和iptables的更多相关文章

  1. Linux防火墙简介 – iptables配置策略

    Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...

  2. linux防火墙之iptables

    linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...

  3. Linux防火墙(iptables/firewalld)

    Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...

  4. Linux防火墙配置(iptables, firewalld)

    netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...

  5. Linux防火墙:iptables禁IP与解封IP常用命令

    在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...

  6. linux防火墙相关 iptables

    1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...

  7. Linux防火墙设置——iptables

    防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...

  8. Linux防火墙之iptables入门

    一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更 ...

  9. Linux防火墙之iptables常用扩展匹配条件(二)

    上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...

  10. Linux防火墙之iptables基本匹配条件和隐式扩展匹配条件

    一.iptables的基本匹配条件 上一篇博文我们说到了iptables的基本工作原理.数据报文在内核的走向和管理链.管理规则.以及查看规则.导入和导出规则:回顾请参考https://www.cnbl ...

随机推荐

  1. 第七章 Rocketmq--消息驱动

    今天咱们接着 上一篇第六章 Sleuth–链路追踪 继续写 SpringCloud Alibaba全家桶 , 第七章 Rocketmq--消息驱动,废话不多说,开始了 7.1 MQ简介 7.1.1 什 ...

  2. Kubernetes应用管理器OpenKruise之CloneSet

    OpenKruise OpenKruise 是 Kubernetes 的一个标准扩展,它可以配合原生 Kubernetes 使用,并为管理应用容器.sidecar.镜像分发等方面提供更加强大和高效的能 ...

  3. C# 并发编程 (异步编程与多线程)

    并发:同时做多件事情 多线程:并发的一种形式,它采用多个线程来执行程序. 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程.并行处理是多线程的一种,而多线程是并发的一种. 异步编程 ...

  4. webform中DropdownList绑定多个字段

    说明 ListItem中有Attributes属性,手动创建一个自定义属性,赋值需要绑定的字段的值. 这样的话,前台js也可以获取到,能够显示到前台html,进行控制. 代码 foreach(Data ...

  5. 老吕教程--01后端Node.js框架搭建(安装调试KOA2)

    今天开始从零搭建后端框架,后端框架基于Koa2,通过Typescript语言编写. 在写后端框架之前,自己也了解过Express,感觉Koa2更加灵活,由于有多年后端研发经验,所以采用Koa2,简单敏 ...

  6. 私有Maven仓库安装和使用

    安装 这里选择安装的是windows平台,linux安装类似,下载可能要梯子 官网下载页 https://help.sonatype.com/repomanager2/download 下载链接 ht ...

  7. Solon 特性简集,相较于 Springboot 有什么区别?

    Solon 是一个类似Springboot的微型开发框架,也是一个不基于Servlet的开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,3500多次的commit:内核保持0.1m的 ...

  8. double 转为long类型

    System.out.println(new Double(234314.999999999).longValue());//234314  System.out.println(new Double ...

  9. java斐波纳契数列

    //斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.-- 这个数列从第三项开始,每一项都等于前两项之和. public class DiGui { public ...

  10. ArrayList哪种循环效率更好你真的清楚吗

    ArrayList简介 声明:以下内容都是基于jdk1.8的 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了 ...