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相关推荐

  1. Linux防火墙与iptables命令

    Linux防火墙与iptables命令 防火墙概念 一.Firewalld与iptables简介 1.1Firewalld 1.2Firewalld.iptables 二.iptables 2.1四表 ...

  2. linux防火墙reject,Iptables 扩展动作 Reject Mark

    防火墙在做信息滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息滤表中,而这些表集成在Linux内核中.在信息滤表中,规则被分组放在我们所谓的链(Chain)中.Iptables组件是一种工具 ...

  3. linux 防火墙加固,Iptables 加固服务器安全

    防火墙在做信息滤决定时,有一套遵循和组成的规则,这些规则存储在专用的信息滤表中,而这些表集成在Linux内核中.在信息滤表中,规则被分组放在我们所谓的链(Chain)中.Iptables组件是一种工具 ...

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

    转载:https://www.baidu.com/link?url=SJWsJbXb_P8s9tK4BGIwdAJD5aH1c5_eq5IHIiiqW6kUBBmH4zmnx4BNqXdmuxWz1T ...

  5. Linux 防火墙之iptables

    文章目录 引言 一.iptables 概述 1.1 netfilter/iptables关系 1.2 iptables 的四表五链 二.iptables 配置 2.1 iptables 安装 2.2 ...

  6. 【Linux防火墙】iptables基础用法及高级用法

    文章目录 iptables命令简介 1.语法 2.iptables命令选项输入顺序 3.选项讲解 4.基础用法示例 1.清除规则相关操作 2.查看相关规则及序列号 3.通过查看后的序列号删除规则 4. ...

  7. Linux防火墙之iptables

    文章目录 一.什么是防火墙 二.防火墙分类 1.硬件防火墙 2.软件防火墙 三.iptables详解 1.netfilter和iptables(命令) 2.四表五链 3.iptables匹配过程 4. ...

  8. linux 防火墙: 从 iptables 到 ipset 的过滤ip

    一 iptables 了解 iptables,可以将规则组成一个列表,实现绝对详细的访问控制功能工作在用户空间中,定义规则的工具,本身并不算是防火墙.它们定义的规则,可以让在内核空间当中的netfil ...

  9. linux防火墙知识,Iptables防火墙 基础知识

    Iptables防火墙 基础知识 1 位置 使用vim /usr/sysconfig/iptables 2 启动.关闭.保存 service iptables stop service iptable ...

最新文章

  1. JS开发利器-IxEdit傻瓜式JavaScript开发工具(附下载、汉化版、视频教程)
  2. Manacher's algorithms(马拉车算法)最长回文子串
  3. 学习《apache源代码全景分析》之模块化体系结构摘录
  4. 浅谈对程序员的认识_浅谈IT界程序员大佬普遍对性的追求
  5. 组策略系列之四:《精典放送:组策略管理20点》
  6. python两数相加取_两数相加(Python3)
  7. UCloud基于Linux内核新特性的下一代外网网关设计及相关开源工作
  8. .NET Windows服务开发流程
  9. python cms api_python3 获取阿里云OSS 最新存储容量 SDK API
  10. Log4net 配置详解
  11. Linux系统下Postgresql数据库安装
  12. U盘文件被隐藏是怎么回事?怎样恢复被隐藏文件?
  13. 喜洋洋大战灰太狼(大结局)
  14. Wireshark抓包分析WLAN连接过程
  15. AJAX聊天室实现原理 JQuery+PHP 【转】
  16. 未能找到路径中的某个部分_未能找到路径“..”的一部分
  17. 鸿蒙跨屏协作实现原理,跨屏协作满足效率党 高效工作这几款手机必备
  18. sql2005 查询分析器 自动换行
  19. 全面解析Mybatis中参数处理
  20. webug 4.0 第四关 POST注入

热门文章

  1. Gradle自动化之自动打包并上传到fir测试网站
  2. 使用onenote记HTML笔记,如何在Windows 10中使用OneNote做笔记
  3. java全写_Java 写文件
  4. no scp yes 不提示_linux脚本实现scp命令自动输入密码和yes/no等确认信息
  5. 混沌系统 matlab仿真分析
  6. 2021-04-24 人工智能必读书单 Python
  7. block才会执行 mono_C-BLOCK录制《我要上春晚》,目测会上湖南分会场
  8. sp MySQL 导入_mysql数据导入redis
  9. @select注解模糊查询_mybatis @SelectProvider 注解, 打赌你没有用过
  10. CSS学习01之我的第一css程序