防火墙:工作在网络的边缘,对进出网络的报文按照预先定义的规则进行检查并根据规则进行处理的一套操作组件,防火墙可以是硬件也可以是软件。
规则:包含匹配标准及处理措施。
默认规则:对于不满足任意一条自定义规则的数据报文的处理方法,对于服务器默认为关闭。
演进:
linux 2.0:ipfw/firewall
linux 2.2:ipchain/firewall
linux 2.4:iptables/netfilter
规则链(hook function)
INPUT
OUTPUT
PREROUTING
POSTROUTING
FORWAERD
表:
filter
nat
raw
mangle
用法:iptables [-t table] COMMAND CHAIN [num] 匹配条件 j 处理动作
匹配条件
通用匹配
-s 源地址
-d 目标地址
-p {tcp|udp|icmp} 协议
-I 指定数据流入网卡
-o 指定数据流出网卡
扩展匹配
显式:使用额外的条件匹配机制
-m 扩展名称 --扩展选项如:-m state --{NEW,ESTABLISHED,INVALID,RELATED}
-m multiports --souce-ports|--destination-ports|--ports
隐式
-p tcp 支持--sport - -dport
COMMAND
-A 在链尾增加一条规则
-I CHAIN num 插入一条规则
-D CHAIN num删除一条规则
-R CHAIN num替换一条规则
-F [CHAIN] 清空(指定链)上的规则
-P CHAIN {ACCEPT|DROP|REJECT} 指定默认策略
-N 自定义链
-X 删除自定义空链
-E 重命名自定义链
-Z 置零指定练所有规则计数器
-L 显示指定表中的所有规则
-n 以数字格式显示主机地址和端口号
-v, -vv ,-vvv 显示详细信息
-x 显示计数器的精确值
--line-numbers 显示规则号
动作(target)
ACCEPT放行
DROP丢弃
REJECT拒绝
SNAT源地址转换
DNAT目标地址转换
REDIRECT端口重定向
MASQUERADE地址伪装(属于源地址转换)
LOG记录日志
MARK打标记
NAT 网络地址转换Network Address Translation
DNAT: iptables -t nat -A PREROUTING-d 172.16.100.7 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.22
DNAT: iptables -t nat -A PREROUTING-d 172.16.100.7 -p tcp --dport 80 -j DNAT --to-destination 192.168.10.22:8080
原文地址:http://xdwqs.blog.51cto.com/4758880/1627046