Linux防火墙和iptables
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的更多相关文章
- Linux防火墙简介 – iptables配置策略
Linux防火墙简介 – iptables配置策略 Netfilter/iptables简介 要想真正掌握Linux防火墙体系,首先要搞清楚Netfilter和iptables的关系,Netfilte ...
- linux防火墙之iptables
linux防火墙之iptables 1.1.1 关于iptables简介 IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 ...
- Linux防火墙(iptables/firewalld)
Linux防火墙(iptables/firewalld) 目录 Linux防火墙(iptables/firewalld) 一.iptables 1. iptables概述 2. netfilter和i ...
- Linux防火墙配置(iptables, firewalld)
netfilter和底层实现 iptables firealld Linux中的防火墙 RHEL中有几种防火墙共存: iptables firewalld ip6tables ebtables 这些软 ...
- Linux防火墙:iptables禁IP与解封IP常用命令
在Linux服务器被攻击的时候,有的时候会有几个主力IP.如果能拒绝掉这几个IP的攻击的话,会大大减轻服务器的压力,说不定服务器就能恢复正常了. 在Linux下封停IP,有封杀网段和封杀单个IP两种形 ...
- linux防火墙相关 iptables
1. root用户查看防火墙状态(非root用户无权限查看) 查看防火墙状态: service iptables status 2.开启和关闭防火墙 //开启防火墙: service iptables ...
- Linux防火墙设置——iptables
防火墙用于监控往来流量,并根据用户定义的规则来过滤数据包以保证安全.iptables是Linux下设置防火墙规则的常用工具,它可以让你设置.维护以及查看防火墙的规则表.你可以定义多个表,每个表可以包含 ...
- Linux防火墙之iptables入门
一.防火墙的概念 什么是防火墙?防火墙是一台或一组设备,用以在网络间实施访问控制策略:事实上一个防火墙能够包含OSI模型中的很多层,并且可能会涉及进行数据包过滤的设备,它可以实施数据包检查和过滤,在更 ...
- Linux防火墙之iptables常用扩展匹配条件(二)
上一篇博文我们讲到了iptables的一些常用的扩展匹配模块以及扩展模块的一些选项的说明,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/12273755.htm ...
- Linux防火墙之iptables基本匹配条件和隐式扩展匹配条件
一.iptables的基本匹配条件 上一篇博文我们说到了iptables的基本工作原理.数据报文在内核的走向和管理链.管理规则.以及查看规则.导入和导出规则:回顾请参考https://www.cnbl ...
随机推荐
- 第七章 Rocketmq--消息驱动
今天咱们接着 上一篇第六章 Sleuth–链路追踪 继续写 SpringCloud Alibaba全家桶 , 第七章 Rocketmq--消息驱动,废话不多说,开始了 7.1 MQ简介 7.1.1 什 ...
- Kubernetes应用管理器OpenKruise之CloneSet
OpenKruise OpenKruise 是 Kubernetes 的一个标准扩展,它可以配合原生 Kubernetes 使用,并为管理应用容器.sidecar.镜像分发等方面提供更加强大和高效的能 ...
- C# 并发编程 (异步编程与多线程)
并发:同时做多件事情 多线程:并发的一种形式,它采用多个线程来执行程序. 并行处理:把正在执行的大量的任务分割成小块,分配给多个同时运行的线程.并行处理是多线程的一种,而多线程是并发的一种. 异步编程 ...
- webform中DropdownList绑定多个字段
说明 ListItem中有Attributes属性,手动创建一个自定义属性,赋值需要绑定的字段的值. 这样的话,前台js也可以获取到,能够显示到前台html,进行控制. 代码 foreach(Data ...
- 老吕教程--01后端Node.js框架搭建(安装调试KOA2)
今天开始从零搭建后端框架,后端框架基于Koa2,通过Typescript语言编写. 在写后端框架之前,自己也了解过Express,感觉Koa2更加灵活,由于有多年后端研发经验,所以采用Koa2,简单敏 ...
- 私有Maven仓库安装和使用
安装 这里选择安装的是windows平台,linux安装类似,下载可能要梯子 官网下载页 https://help.sonatype.com/repomanager2/download 下载链接 ht ...
- Solon 特性简集,相较于 Springboot 有什么区别?
Solon 是一个类似Springboot的微型开发框架,也是一个不基于Servlet的开发框架.项目从2018年启动以来,参考过大量前人作品:历时两年,3500多次的commit:内核保持0.1m的 ...
- double 转为long类型
System.out.println(new Double(234314.999999999).longValue());//234314 System.out.println(new Double ...
- java斐波纳契数列
//斐波纳契数列,又称黄金分割数列,指的是这样一个数列:1.1.2.3.5.8.13.21.-- 这个数列从第三项开始,每一项都等于前两项之和. public class DiGui { public ...
- ArrayList哪种循环效率更好你真的清楚吗
ArrayList简介 声明:以下内容都是基于jdk1.8的 ArrayList 是一个数组队列,相当于 动态数组.与Java中的数组相比,它的容量能动态增长.它继承于AbstractList,实现了 ...