加载中...

Iptables 详解


一、IPtables简介
IPtables的表,链结构

规则链

规则的作用:对数据包进行过滤处理

链的作用:容纳各种防火墙规则

链的分类依据:处理数据包的不同时机

默认包括5中规则链

INPUT:处理入站数据包

OUTPUT:处理出站数据包

FORWARD:处理转发数据包

POSTROUTING:在进行路由选择后处理数据包

PREROUTING:在进行路由选择前处理数据包

规则表

表的作用:容纳各种规则链

表的划分依据:防火墙规则的作用相似

默认的4个规则表

raw表:确定是否对数据包进行跟踪

mangle表:为数据包设置标记

nat表:修改数据包的源,目标IP地址或端口

filter表:确定是否放行该数据包(过滤)


二、参数详解

-F 清空规则链 iptables -F
-L 查看规则链 iptables -L
-A 追加规则 iptables -A INPUT
-D 删除规则 iptables -D INPUT 1
-R 修改规则 iptable -R INPUT 1 -s 192.168.120.0 -j DROP
-I 在头部插入规则 iptables -I INPUT 1 --dport 80 -j ACCEPT
-L 查看规则 iptables -L INPUT
-N 新的规则 iptables -N allowed
-V 查看iptables版本 iptables -V
-p 协议(tcp/udp/icmp) iptables -A INPUT -p tcp
-s 匹配原地址,加" ! "表示除这个IP外 iptables -A INPUT -s 192.168.1.1
-d 匹配目的地址 iptables -A INPUT -d 192.168.12.1
--sport 匹配源端口流入的数据 iptables -A INPUT -p tcp --sport 22
--dport 匹配目的端口流出的数据 iptables -A INPUT -p tcp --dport 22
-i 匹配入口网卡流入的数据 iptables -A INPUT -i eth0
-o 匹配出口网卡流出的数据 iptables -A FORWARD -o eth0
-j 要进行的处理动作:DROP(丢弃)REJECT(拒绝)ACCEPT(接受)SANT(基于原地址的转换) iptable -A INPUT 1 -s 192.168.120.0 -j DROP
--to-source 指定SANT转换后的地址 iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SANT --to-source 172.16.100.1
-t 表名(raw、mangle、nat、filter) iptables -t nat
-m 使用扩展模块来进行数据包的匹配(multiport/tcp/state/addrtype) iptables -m multiport

三、案例参考

在链的末尾追加一条规则

iptables -A INPUT -p tcp -j ACCEPT

在链的开头(或指定序号)插入一条规则

iptables -I INPUT 2 -p icmp -j ACCEPT

删除链内指定序号(或内容)的一条规则

iptables -D INPUT 3

清空所有规则

iptables -F

SNAT源地址转换

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source 218.29.30.31

MASQUERADE 地址伪装

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

DNAT目标地址转换

iptables -t nat -A PREROUTING -i eth0 -d 218.29.30.31 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.6

修改端口转换

iptables -t nat -A PREROUTING -i eth0 -d 192.168.11.11 -p tcp --dport 2346 -j DNAT --to-destination 192.168.1.11:22

文章作者: huhuhahei
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 huhuhahei !
评论
  目录