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. tkinter + 爬虫 实现影视在线资源系统

    应吾爱朋友现公布代码如下: import tkinter as tk import requests,re,sys,asyncio from tkinter import scrolledtext,E ...

  2. Python面向对象:封装和多态

    一.封装 封装是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别. 封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进 ...

  3. vue-element-admin项目核心总结

    1.搭建项目 按照官方文档把整个项目下载下来,安装依赖包npm install, 然后npm run dev 启动项目. 2.项目自定义优化 删除不要的文件,启动项目登录后,发现里面有很多页面,对我们 ...

  4. [LeetCode]231. Power of Two判断是不是2\3\4的幂

    /* 用位操作,乘2相当于左移1位,所以2的幂只有最高位是1 所以问题就是判断你是不是只有最高位是1,怎判断呢 这些数-1后形成的数,除了最高位,后边都是1,如果n&n-1就可以判断了 如果是 ...

  5. mysql数据库连接java

    1 1.创建配置文件jdbc.properties 2 3 jdbc.driver=com.mysql.jdbc.Driver 4 jdbc.url=jdbc:mysql://localhost:33 ...

  6. centos7下mysql安装与卸载

    彻底卸载mysql 一.chak 是否有安装mysql a)      rpm -qa | grep -i mysql // 查看命令1 b)      yum list install mysql* ...

  7. SLA

    服务级别协议[编辑] 维基百科,自由的百科全书     跳到导航跳到搜索 本条目可参照外语维基百科相应条目来扩充. 若您熟悉来源语言和主题,请协助参考外语维基扩充条目.请勿直接提交机械翻译,也不要翻译 ...

  8. JavaScript同步模式,异步模式及宏任务,微任务队列

    首先JavaScript是单线程的语言,也就是说JS执行环境中,负责执行代码的线程只有一个.一次只能执行一个任务,如果有多个任务的话, 就要排队,然后依次执行,优点就是更安全,更简单.缺点就是遇到耗时 ...

  9. Linux 下 swap 分区及作用详解

    我们在安装系统的时候已经建立了 swap 分区.swap 分区是 Linux 系统的交换分区,当内存不够用的时候,我们使用 swap 分区存放内存中暂时不用的数据.也就是说,当内存不够用时,我们使用 ...

  10. U盘使用技巧篇 制作一般人删除不了的文件(宣传视频) (量产开卡)

    一. 视频制作成ISO ,放好 视频  图标文件 制作工具 : UltraISO 图标制作: 插入光盘状态:用autorun.inf格式:[autorun]open=Install.exe 点击光盘时 ...