iptables笔记
一、内核转发
*永久开启转发
sysctl -w net.ipv4.ip_forward=1
*查看当前
cat /proc/sys/net/ipv4/ip_forward
*
暂时开启
echo 1 > /proc/sys/net/ipv4/ip_forward
二、规则相关

所谓规则是由 “匹配条件” + “执行动作” 组成,匹配条件主要是用于选择需要进行处理的数据包,
当一个数据包满足“匹配条件”时,linux会对该数据包“执行动作”。
常使用的表:nat、filter,顾名思义,nat表主要用于NAT;filter用于过滤数据包。
nat表中又包括了PREROUTING、OUTPUT、POSRTROUTING三个链,而filter表包括了INPUT、OUTPUT、FORWARD三个链。
1,查看规则
iptables -t nat -L [OUTPUT / POSTROUTING / PREROUTING] [—line-number] [-n] #通过-t nat 指定为nat表
iptables -L [INPUT / OUTPUT / FORWARDING] [—line-number] [-n] #默认为filter表
2,删除规则
iptables -t nat -D [OUTPUT / POSTROUTING / PREROUTING] $number
iptables -D [INPUT / OUTPUT / FORWARDING] $number
3,添加规则
iptables -t nat -A [OUTPUT / POSTROUTING / PREROUTING] $规则
iptables -A [INPUT / OUTPUT / FORWARDING] $规则
4,更改默认策略
iptables -P INPUT DROP
-p 协议(protocol)
- 指定规则的协议,如tcp, udp, icmp等,可以使用all来指定所有协议。
- 如果不指定-p参数,则默认是all值。这并不明智,请总是明确指定协议名称。
- 可以使用协议名(如tcp),或者是协议值(比如6代表tcp)来指定协议。映射关系请查看/etc/protocols
- 还可以使用–protocol参数代替-p参数
-s 源地址(source)
- 指定数据包的源地址
- 参数可以使IP地址、网络地址、主机名
- 例如:-s 192.168.1.101指定IP地址
- 例如:-s 192.168.1.10/24指定网络地址
- 如果不指定-s参数,就代表所有地址
- 还可以使用–src或者–source
-d 目的地址(destination)
- 指定目的地址
- 参数和-s相同
- 还可以使用–dst或者–destination
-j 执行目标(jump to target)
- -j代表”jump to target”
- -j指定了当与规则(Rule)匹配时如何处理数据包
- 可能的值是ACCEPT, DROP, QUEUE, RETURN
- 还可以指定其他链(Chain)作为目标
-i 输入接口(input interface)
- -i代表输入接口(input interface)
- -i指定了要处理来自哪个接口的数据包
- 这些数据包即将进入INPUT, FORWARD, PREROUTE链
- 例如:-i eth0指定了要处理经由eth0进入的数据包
- 如果不指定-i参数,那么将处理进入所有接口的数据包
- 如果出现! -i eth0,那么将处理所有经由eth0以外的接口进入的数据包
- 如果出现-i eth+,那么将处理所有经由eth开头的接口进入的数据包
- 还可以使用–in-interface参数
-o 输出(out interface)
- -o代表”output interface”
- -o指定了数据包由哪个接口输出
- 这些数据包即将进入FORWARD, OUTPUT, POSTROUTING链
- 如果不指定-o选项,那么系统上的所有接口都可以作为输出接口
- 如果出现! -o eth0,那么将从eth0以外的接口输出
- 如果出现-i eth+,那么将仅从eth开头的接口输出
- 还可以使用–out-interface参数
+++++++++++++++++++++++++++++++++++++++++++++++++++
–-sport 源端口(source port)针对 -p tcp 或者 -p udp
- 缺省情况下,将匹配所有端口
- 可以指定端口号或者端口名称,例如”–sport 22″与”–sport ssh”。
- /etc/services文件描述了上述映射关系。
- 从性能上讲,使用端口号更好
- 使用冒号可以匹配端口范围,如”–sport 22:100″
- 还可以使用”–source-port”
–-dport 目的端口(destination port)针对-p tcp 或者 -p udp
- 参数和–sport类似
- 还可以使用”–destination-port”
-–tcp-flags TCP标志针对-p tcp
- 可以指定由逗号分隔的多个参数
- 有效值可以是:SYN, ACK, FIN, RST, URG, PSH
- 可以使用ALL或者NONE
-–icmp-type ICMP类型针对-p icmp
- –icmp-type 0 表示Echo Reply
- –icmp-type 8 表示Echo
iptables笔记的更多相关文章
- 一文讲明白K8S各核心架构组件
目录 一.写在前面 二.K8S为我们提供了怎样的能力 三.架构 3.1.MasterNode 3.2.WorkerNode 四.核心组件 4.1.ApiServer 4.1.1.概述 4.1.2.是集 ...
- Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]
Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...
- Linux下iptables学习笔记
Linux下iptables学习笔记 在Centos7版本之后,防火墙应用已经由从前的iptables转变为firewall这款应用了.但是,当今绝大多数的Linux版本(特别是企业中)还是使用的6. ...
- 【转】IPtables学习笔记
写在前面,大家测试玩iptables时要记得自己配置了那些东西,测试完成后记得删除啊,博主忘了删除一个input REJECT链的一条记录,后续测试搭建了apache服务器,始终无法访问,最后抓包发现 ...
- CentOS学习笔记--防火墙iptables
Linux 的防火墙:iptables iptables是封包过滤软件,Linux内核2.6以上都是这款软件.本节节选自 鸟哥的 Linux 私房菜 -- 服务器架设篇 第九章.防火墙与 NAT 服 ...
- 鸟哥私房菜笔记:Iptables:数据包过滤软件
数据包进入流程:规则顺序的重要性 iptables利用的是数据包过滤机制,所以它会分析数据包的包头数据.根据包头数据与定义的规则来决定该数据包是否可以进入主机或者是被丢弃.也就是说,根据数据包的分析资 ...
- Linux学习笔记总结--配置iptables防火墙
将原有的iptables 文件保存一份 cp -p /etc/sysconfig/iptables /etc/sysconfig/iptables.bak 清空现有的规则 iptables -F ip ...
- iptables学习笔记
为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3812510.html ...
- Linux学习笔记 --iptables防火墙配置
iptables防火墙配置 一.防火墙简介 1.功能: 1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IP,MAC来确定数据包是否可以通过防火墙 2)分割内网和外网[附带的路由器的 ...
随机推荐
- flask 部署
学习 Flask,写完一个 Flask 应用需要部署的时候,就想着折腾自己的服务器.根据搜索的教程照做,对于原理一知半解,磕磕碰碰,只要运行起来了,谢天谢地然后不再折腾了,到下一次还需要部署时,这样的 ...
- Cache As Ram
1. Why need Cache? Cache又称之为高速缓存,是为了弥补CPU和主存之间逐渐增大的速度上的差距 而被迫在两者之间加入的一个小的SRAM.现代处理器上通常都会有三级或者是四级缓存,这 ...
- LeetCode687----最长同值路径
给定一个二叉树,找到最长的路径,这个路径中的每个节点具有相同值. 这条路径可以经过也可以不经过根节点. 注意:两个节点之间的路径长度由它们之间的边数表示. 示例 1: 输入: 5 / \ 4 5 / ...
- JS各循环的差别
1.最普通的for循环: for(var i=0;i<arr.length;i++){ } 特点:只能针对数组循环,不能引用于非数组对象 2.for(var i in obj){ } 特点:用于 ...
- ActiveMQ的作用总结(应用场景及优势)以及springboot+activeMq 实战
业务场景说明: 消息队列在大型电子商务类网站,如京东.淘宝.去哪儿等网站有着深入的应用, 队列的主要作用是消除高并发访问高峰,加快网站的响应速度. 在不使用消息队列的情况下,用户的请求数据直接写入 ...
- Sqlite轻量级数据库
SQLite,是一款轻量型的数据库,是遵守ACID(原子性.一致性.隔离性.持久性)的关联式数据库管理系统,多用于嵌入式开发中. SQLite的数据类型:Typelessness(无类型), 可以保 ...
- vue 面试题(文章末尾还有其他链接)
https://segmentfault.com/a/1190000016344599
- 部署Hadoop-3.0-高性能集群
一.Hadoop概述: Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop的框 ...
- File Zilla连接Ubuntu 失败
一.SFTP方式连接失败 站点配置 连接失败 二.FTP连接方式失败 站点配置 连接失败
- jenkins中使用shell脚本必须切换jenkins用户
https://blog.csdn.net/cdnight/article/details/81078191 安装这篇解决的 正确使用脚本的方式: 1.脚本必须使用jenknins用户,且所有命令必须 ...