iptables原理规则及常用实例
2022-11-24 17:45:18 2 举报
iptables原理设置规则及常用实例
作者其他创作
大纲/内容
Roulting(Destination=localhost?)
-A
在指定链在末尾添加(append)一条新规则
-D
删除(delete)指定两旁各中某一条规则,可以按规则序号和内容删除
-I
在指定链中插入(insert)一条新的规则,默认在第一行添加
-R
修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L
列出(list)指定链中所有的规则进行查看
-E
重命名用户定义的链,不改变链本身
-F
清空(flush)
-N
新建(new-chain)一条用户自己定义的规则链
-X
删除指定表中用户自定义的规则 链(delete-chain)
-P
设置指定链的默认策略(policy)
-Z
将所有表的所有链的字节和数据包计数器清零
-n
使用数字形式(numeric)显示输出结果
-v
查看规则表详细信息(verbose)的信息
-V
查看版本(version)
-h
获取帮助(help)
nat表(网络地址转换)
出站
chain
POSTOUTING链(用于源地址转换(SNAT))
table[-t]
流出数据包
filter表(默认表,过滤数据包)
Raw表(数据跟踪处理)
INPUT链(处理输入数据包)
流入数据包
Roulting(路由决策?)
OUTPUT链(处理输出数据包)
PREROUTING链(用于目标地址转换DNAT)
常用的 Linux iptables 规则
ACCEPT
允许数据包通过
DROP
直接丢弃数据包,不给任何回应信息
REJECT
拒绝数据包通过,必要时可以给客户端发磅一个相应的信息,客户端的请求就会收到拒绝的信息
SNAT
源地址转换,解决内网用户用同一个公网上网的问题
MASQUERADE
是SNAT的一种特殊形式,适用于动态的,临时会谈的IP上
DNAT
目标地址转换
REDIRECT
在本机做端口映射
LOG
在/var/log/messages文件中记录信息,然后将数据 包传递给下一条规则
是(入站)
NETWORK
mangle表(包重构(修改))
iptables规则(基本语法格式:iptables [-t 表名] 命令选项 [链名] [条件匹配] [-j 目标动作或跳转])
iptables原理:(四表(表及执行优先级):Raw表->mangle表->nat表->filter表)五链:PREROUTING链、INPUT链、OUTPUT链、FORWARD链、POSTOUTING链、
链名
说明
PREROUING
用于目标地址转换DNAT
INPUT
处理输入数据包
OUTPUT
处理输出数据包
FORWARD
处理转发数据包
POSTOUTING
用于源地址转换SNAT
FORWARD链(处理转发数据包)
parameter
表名
raw表
数据跟踪处理
mangle表
包重构(修改)
nat表
网络地址转换
filter表
默认表,过滤数据包
11. 对进来的 HTTPS 流量做负载均衡#iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 0 -j DNAT --to-destination 192.168.1.101:443#iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 1 -j DNAT --to-destination 192.168.1.102:443#iptables -A PREROUTING -i eth0 -p tcp --dport 443 -m state --state NEW -m nth --counter 0 --every 3 --packet 2 -j DNAT --to-destination 192.168.1.103:44312. 从内部向外部 Pingiptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPTiptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT13. 从外部向内部 Pingiptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPTiptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT14. 允许环回(loopback)访问iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT15. 允许 packets 从内网访问外网if eth1 is connected to external network (internet)if eth0 is connected to internal network (192.168.1.x)iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
command
target[-j]
否(转发)
参数
。TCP。UDP。ICMP #ping命令。A protocol name from /etc/protocols。all
-s/-d
。network name。Hostname。Subnet(192.168.0.0/24;192.168.0.0/255.255.255.255.0)。IP address
-i/-o
。interface name(eth0)。interface name ends in a \"+\"(eth+)
--sport/--dport
。Service name。port number。 port range(1024:65535)
mangle(包重构(修改))
0 条评论
下一页