防火墙iptables

防火墙iptables

四表五链:

iptables:应用层内置控制防火墙的工具
netfilter:防火墙功能的具体实现,是内核空间的功能模块
通过iptables工具设置规则,netfilter根据该规则进行匹配并执行动作

四表:

raw
mangle
nat
filter

五链:

PREROUTING
INPUT
OUTPUT
FORWORD
POSTROUTING

iptables用法

iptbales –t table command CHINA rule-specification [optional] –j TARGET

command:

-A 在尾部插入规则
-I [rulenum] 在指定行插入规则,默认第一行
-D rulenum 删除指定行规则
-R rulenum 替换指定行规则
-F [CHINA] 清除指定链规则,默认filter
-P china target 设置链的默认规则
-L 查看规则
-n 不做地址解析,以数字形式显示
-v 显示详细信息
-vv
-x 精确显示
--line-numbers 显示行号

标准匹配

显示匹配:

-p tcp
--dport
--sport
-p icmp
--icmp-type 8 receive 0 request
-i eth0 配合INPUT
-o eth0 配合OUTPUT

隐示匹配:

-m state
--state NEW 新请求
ESTABLISHED 已建立的链接
INVALID 非法链接
RELATED 相关联的链接,比如ftp

example:ftp

iptables –A INPUT –p tcp –dport 21 –m state --state NEW,ESTABLISHED
iptables –A INPUT –p tcp –m state --state ESTABLISHED,RELATED
主动链接通过放行21端口,被动链接通过state模块的related
注意:需要加载ip_nat_ftp ip_conntrack_ftp 两个模块

-m multiport

--source-ports
--destination-ports 用逗号分割,:表示连续,如果不使用该模块,则逗号表示连续,无法表示分割

-m range 用来表示连续的ip段

--src-range ...-...
--dst-range

-m connlimit 满足该条件则执行动作

--connlimit-above n 连接数上限为n

-m limit

--limit rate 连接速率 mintute/seconds
--limit-burst 流量上限

-m recent 限制单位时间内单ip的请求次数

--set 表示记录 --name NAME 记录到NAME模块
--seconds n 单位时间 --hitcount 单位时间次数 --name 读取某模块

链引用

iptables –N 新建链
iptbales –I INPUT –j 链名 引用链
iptbales –X 删除链

target

SNAT、DNAT

--to-source 指定转换的源地址
--to-destination 指定转换的目标地址
iptables –t nat –A POSTROUTING –s ... -j SNAT –to-source 外网ip
iptables –t nat –A PREROUTING –d 外网ip -–j DNAT –to-destination 目标内网ip +端口

posted @ 2020-05-31 08:56  zoer  阅读(264)  评论(0)    收藏  举报