Linux 防火墙工具--iptables
iptables介绍
iptables是基于内核的防火墙,功能非常强大,iptables内置了“三表五链”
三张表
1.filter 定义允许或者不允许的
2.nat 定义地址转换的
3.mangle 修改报文原数据
五个规则链
1.PREROUTING (路由前)
2.INPUT (数据包流入口)
3.FORWARD (转发管卡)
4.OUTPUT(数据包出口)
5.POSTROUTING(路由后)
对于filter来讲只能做在3个链上:INPUT ,FORWARD ,OUTPUT
对于nat来讲只能做在3个链上:PREROUTING ,OUTPUT ,POSTROUTING
对于mangle来讲5个链都可以做:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
iptables写法及参数
iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 动作或跳转]
所有链名必须大写,表名必须小写,动作必须大写,条件匹配必须小写
常用参数:
-A 向规则链中添加一条规则,默认被添加到末尾
-T 指定要操作的表,默认是filter
-D 从规则链中删除规则,可以指定序号或者匹配的规则来删除
-R 进行规则替换
-I 插入一条规则,默认被插入到首部
-F 清空所选的链,重启后恢复
-N 新建用户自定义的规则链
-X 删除用户自定义的规则链
-p 用来指定协议可以是tcp,udp,icmp等也可以是数字的协议号,
-s 指定源地址
-d 指定目的地址
-i 进入接口(网卡)
-o 流出接口(网卡)
-m 多状态
-j 采取的动作,accept,drop,snat,dnat,masquerade
--sport 源端口
--dport 目的端口,端口必须和协议一起来配合使用
触发动作:(-j后面)
ACCEPT 允许数据包通过
DROP 丢弃数据包
REJECT 拒绝数据包通过
LOG 将数据包信息记录到syslog日志
DNAT 目标地址转换
SNAT 源地址转换
MASQUERADE 地址欺骗
REDIRECT 重定向
iptables示例
基本操作
iptables -L 列出iptables规则
iptables -F 清除iptables内置规则
iptables -X 清除iptables自定义规则
配置ssh登录规则
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
只允许192.168.0.100的机器进行SSH连接
iptables -A INPUT -s 192.168.0.100 -p tcp --dport 22 -j ACCEPT
目的地址转换,映射内部地址
iptables -t nat -A PREROUTING -i eth0 -p tcp --dprot 81 -j DNAT --to 192.168.0.2:80
源地址转换,隐藏内部地址
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 1.1.1.1
开启转发功能
iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT 只允许已建连接及相关链接对内转发
ptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 允许对外转发
过滤某个MAC
iptables -A FORWARD -m mac --mac -source MAC地址 -j DROP
数据包整流
iptables -A FORWARD -d 192.168.0.1 -m limit --limit 50/s -j ACCEPT
iptables -A FORWARD -d 192.168.0.1 -j DROP
一次匹配多个端口
iptables -A INPUT -p tcp -m muliport --dport 21,22,25,80,110 -j ACCEPT
丢弃非法连接
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables-A FORWARD -m state --state INVALID -j DROP
实例
1 将192.168.0.1主机发送给本机22端口的所有数据记录到messages日志中
iptables -I INPUT -s 192.168.0.1 -p tcp --dport 22 -j LOG
2 允许任何机器通过eth1访问本机80端口
iptables -I INPUT -i eth1 -p tcp --dport 80 -j ACCEPT
3 公司192.168.0.0/24网段通过128.166.122.1连接外网
echo "net.ipv4.ip_forward = 1" /etc/sysctl.conf
sysctl -p 加载配置
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 128.166.122.1
4 一个公有IP128.166.122.1对外开放,要求内部web服务器192.168.0.1可以被访问
iptables -t nat -I POSTROUTING -d 128.166.122.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.0.1
5 数据包过大,被分切为多个片发送,保证数据接收后可以组合在一起用-f
iptables -A OUTPUT -f -d 192.168.1.2 -j DROP (丢弃发送到192.168.1.2上)
6 限制某个时间段内数据包的个数,超过则拒绝
iptables -I INPUT -m limit --limit 500/sec -j ACCEPT
iptables -P INPUT DROP
7 拒绝转发含有某些关键字的数据连接 --string 拒绝qq的数据包
iptables -I FORWARD -m string --algo bm --string "qq" -j REJECT
8 转发某个IP段的数据包
iptables -A FORWARD -m iprange --src-range 192.168.0.1-192.168.0.10 -p tcp --dport 80 -j ACCEPT
转载于:https://blog.51cto.com/superleedo/1886999
Linux 防火墙工具--iptables相关推荐
- Linux防火墙与iptables命令
Linux防火墙与iptables命令 防火墙概念 一.Firewalld与iptables简介 1.1Firewalld 1.2Firewalld.iptables 二.iptables 2.1四表 ...
- linux防火墙reject,Iptables 扩展动作 Reject Mark
防火墙在做信息滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息滤表中,而这些表集成在Linux内核中.在信息滤表中,规则被分组放在我们所谓的链(Chain)中.Iptables组件是一种工具 ...
- linux 防火墙加固,Iptables 加固服务器安全
防火墙在做信息滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息滤表中,而这些表集成在Linux内核中.在信息滤表中,规则被分组放在我们所谓的链(Chain)中.Iptables组件是一种工具 ...
- Linux防火墙:iptables禁IP与解封IP常用命令
转载:https://www.baidu.com/link?url=SJWsJbXb_P8s9tK4BGIwdAJD5aH1c5_eq5IHIiiqW6kUBBmH4zmnx4BNqXdmuxWz1T ...
- Linux 防火墙之iptables
文章目录 引言 一.iptables 概述 1.1 netfilter/iptables关系 1.2 iptables 的四表五链 二.iptables 配置 2.1 iptables 安装 2.2 ...
- 【Linux防火墙】iptables基础用法及高级用法
文章目录 iptables命令简介 1.语法 2.iptables命令选项输入顺序 3.选项讲解 4.基础用法示例 1.清除规则相关操作 2.查看相关规则及序列号 3.通过查看后的序列号删除规则 4. ...
- Linux防火墙之iptables
文章目录 一.什么是防火墙 二.防火墙分类 1.硬件防火墙 2.软件防火墙 三.iptables详解 1.netfilter和iptables(命令) 2.四表五链 3.iptables匹配过程 4. ...
- linux 防火墙: 从 iptables 到 ipset 的过滤ip
一 iptables 了解 iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能工作在用户空间中,定义规则的工具,本身并不算是防火墙.它们定义的规则,可以让在内核空间当中的netfil ...
- linux防火墙知识,Iptables防火墙 基础知识
Iptables防火墙 基础知识 1 位置 使用vim /usr/sysconfig/iptables 2 启动.关闭.保存 service iptables stop service iptable ...
最新文章
- JS开发利器-IxEdit傻瓜式JavaScript开发工具(附下载、汉化版、视频教程)
- Manacher's algorithms(马拉车算法)最长回文子串
- 学习《apache源代码全景分析》之模块化体系结构摘录
- 浅谈对程序员的认识_浅谈IT界程序员大佬普遍对性的追求
- 组策略系列之四:《精典放送:组策略管理20点》
- python两数相加取_两数相加(Python3)
- UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
- .NET Windows服务开发流程
- python cms api_python3 获取阿里云OSS 最新存储容量 SDK API
- Log4net 配置详解
- Linux系统下Postgresql数据库安装
- U盘文件被隐藏是怎么回事?怎样恢复被隐藏文件?
- 喜洋洋大战灰太狼(大结局)
- Wireshark抓包分析WLAN连接过程
- AJAX聊天室实现原理 JQuery+PHP 【转】
- 未能找到路径中的某个部分_未能找到路径“..”的一部分
- 鸿蒙跨屏协作实现原理,跨屏协作满足效率党 高效工作这几款手机必备
- sql2005 查询分析器 自动换行
- 全面解析Mybatis中参数处理
- webug 4.0 第四关 POST注入
热门文章
- Gradle自动化之自动打包并上传到fir测试网站
- 使用onenote记HTML笔记,如何在Windows 10中使用OneNote做笔记
- java全写_Java 写文件
- no scp yes 不提示_linux脚本实现scp命令自动输入密码和yes/no等确认信息
- 混沌系统 matlab仿真分析
- 2021-04-24 人工智能必读书单 Python
- block才会执行 mono_C-BLOCK录制《我要上春晚》,目测会上湖南分会场
- sp MySQL 导入_mysql数据导入redis
- @select注解模糊查询_mybatis @SelectProvider 注解, 打赌你没有用过
- CSS学习01之我的第一css程序