iptables介绍iptables和netfilter

iptables小弟学富五车,手拿生死簿,记载了乱臣贼子的具体情况,netfilter大哥就是按照生死簿的记载检查每个数据包,以辨忠奸。

生死簿内所载内容分为四个章节:raw、mangle、nat、filter

raw、mangle记载了极高深的内容,正所谓曲高和寡,平常极少用到。filter里记录了过滤规则;nat表记录了地址转换和端口映射相关规则。

iptables [-t tablename] {-A|-D|-I|-F|-L|-Z|-P} 链名 rule-specification

触发动作:

filter表是最常被使用的表,是iptables命令默认修改的表。它包含了3条链,分别是input、forward和output,分别用来制定进入本机、转发和离开本机的数据包规则。

使用iptables -P命令修改默认规则,例如:

建议在input链最后添加DROP规则,例如:

这样即使清空规则后也不会断网。

使用-A在链尾增加规则;使用-I可以指定添加规则的位置,如不指定位置序号,则在开头增加,例如除了22端口以外,禁止连接本机的端口:

使用-D可以删除某条规则,例如删除某一条规则

扩展规则分为显式扩展和隐式扩展,显式扩展是指使用-m参数;隐式扩展是指在-p参数后可以省略-m参数。

隐式扩展包括的参数有:

-p tcp
-p udp
-p icmp

显式扩展包括的参数有:

-m multiport

以离散或连续的
方式定义多端口匹配条件,最多15个;

port[,port|,port:port]…:指定多个目标端口;

-m iprange

以连续地址块的方式来指明多IP地址匹配条件;

-m time

以时间或日期作为包过滤条件

-m string

以字符串为条件过滤数据包

-m connlimit

限制每个IP连接服务器的连接数

-m limit

限制连接速率

-m state

“state”扩展是对”conntrack”子模块的扩展。 “state”扩展可以依照连接的状态过滤数据包。

[!] –state state

INVALID, ESTABLISHED, NEW, RELATED or
UNTRACKED.

state扩展:

内核模块装载:

手动装载:

追踪到的连接:

调整可记录的连接数量最大值:

调整超时时长:

4 处理动作(跳转目标)

简单target:

扩展target:

REJECT

LOG

5保存和载入规则:

五 nat表规则

iptables不仅可以实现数据包过滤,还可以实现网络地址转换,这项功能是通过修改nat表实现的。nat表一般作用在PREROUTING和POSTRONTING链上,然后通过FORWARD链过滤流经的数据包。

示例:将流经网关的数据包的源地址改为192.168.10.254

如果是拨号地址,那么可以用MASQUERADE参数

示例:将流入网关80端口的数据包转发给192.168.10.2

Original: https://www.cnblogs.com/javalinux/p/16433312.html
Author: hellodev
Title: iptables介绍iptables和netfilter

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/8642/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部
最近整理资源【免费获取】:   👉 程序员最新必读书单  | 👏 互联网各方向面试题下载 | ✌️计算机核心资源汇总