netfilter/iptables 指南

本文深入探讨了Linux内核中的netfilter和iptables模块,详细介绍了其历史演变、基本概念、核心组件及其操作方法。通过具体实例展示了如何启用、停用和管理各种表与链,为系统管理员提供了宝贵的实践指导。

netfilter/iptables

简述历史

  • kernel 2.0.x IPfwadm
  • kernel 2.2.x IPchains
  • kernel 2.4.x Netfilter
  • kernel 3.13.x NFtables

iptables基础

netfilter/iptables 分别是内核态模块和用户态工具,管理员通过iptables给netfilter变更规则

netfilter/iptables 预设的表和链

  • 内置了五个表,分别是 filter, nat, mangle, raw, security 分别对应的内核模块是 /lib/modules/x.x.x/kernel/net/ipv4/netfilter/ 目录下的

<pre> iptable_filter.ko iptable_nat.ko iptable_mangle.ko iptable_raw.ko iptable_security.ko </pre>

  • 预设了五个chain 分别是 POSTROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING 可以用通过 iptable -t table_name -L 来查看,详见 man iptables

iptables 的启用与停用

以 默认的filter为例

<pre> 启用filter表:modprobe iptable_filter 启用filter表:modprobe -r iptable_filter </pre>

命令基本格式

iptables 语法分成三部分:

命令动作条件准则处置方式
iptables-AINPUT -p tcp --dport 22-j ACCEPT
  • iptables的基本操作

<pre> (iptable 命令默认约定 如果 -t 参数不指定 默认是 -t filter ) iptables -t filter -L # 列出filter表所有chain的规则 iptables -t filter -F # 清除所有默认 chain的规则 iptables -t filter -N # 新增自定义的chain iptables -t filter -X # 清除自定义的chain的以及对应的规则 iptables -t filter -P # </pre>

  • 查看规则 iptables-save

<pre> # Generated by iptables-save v1.4.12 on Tue Apr 22 14:55:51 2014 *filter :INPUT ACCEPT [1689:106559] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [1608:154769] -A INPUT -s 192.168.1.0/32 -p tcp -m multiport --dports 80 -j ACCEPT -A INPUT -p tcp -m multiport --dports 80 -j DROP COMMIT # Completed on Tue Apr 22 14:55:51 2014 # Generated by iptables-save v1.4.12 on Tue Apr 22 14:55:51 2014 *raw :PREROUTING ACCEPT [2498:166654] :OUTPUT ACCEPT [2298:219551] COMMIT # Completed on Tue Apr 22 14:55:51 2014 </pre>

转载于:https://my.oschina.net/u/877567/blog/225102

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值