123
分类: LINUX
2013-03-02 14:58:39
原文地址:iptables 防火墙基础篇 作者:woshiginus
1.iptables 可以根据状态对数据包进行过虑
状态分为:ESTABLISH、INVALID、NEW、RELATED
2.对于数据包而言,数据包有几个流向
PREROUTING-->FORWARD-->POSTROUTING
PREROUTING-->INPUT-->本机OUTPUT-->POSTROUTING
3. 下面比较详细介绍IPTABLS是由什么组成
IPTABLES由三张表组成分别是:FILTERR、NAT、MANGEL
FILTER 就是常用的过虑表
NAT 就是地址转换时用的表喽
MANGEL 此表就于调协特殊的数据包跌幅标志的规则
IPTABLES有5条链组成,分别是:INPUT、OUTPUT、FORWORD、PREROUTING、POSTROUTING
INPUT:当一个数据包由内核中的路由计算确定为本地的LINUX系统后,它会通过INPUT链进行检查
OUTPUT:保留给系统自身生成的数据包
FORWORD:经过LINUX系统路由的数据包
PREROUTING:用于修改目标地址(DNAT)
POSTROUTING:用于修改源地址(SNAT)
4. iptables语法:
iptables [-t 表名] <-A|I|D|R> 链名 [规则编号] [-i|o网卡名称] [-p 协议类型] [-s源ip地址|源子网] [--sport源端口号][ -d 目标ip地址|目标子网] [--dport 目标端口号] <-j 动作>
5. 举一个最简单的桌面安装全的例子,(除用户外,其他外来主机无法对本机建立任何新的会话)
################ lo###########
iptables -t filter -A INPUT - i lo -j ACCPET
iptables -t filter -A OUTPUT -o lo -j ACCPET
#################INVALID#######
iptables -t filter -A INPUT -m state --state INVALID -j LOG --log-prefix "INVALID"
iptables -t filter -A OUTPUT -m state --state INVALID -j LOG --log-prefix "INVALID"
################TCP############
iptables -t filter -A OUTPUT -p tcp --syn -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
#################UDP###########################
iptables -t filter -A OUTPUT -p udp -m state --state NEW -j ACCEPT
iptables -t filter -A INPUT -p udp -m state --state RELATED -j ACCEPT
##################ICMP########################
iptables -t filter -A OUTPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
iptables -t filter -A INPUT -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT
6. 常用命令搭配的命令解释
iptables -F 清除预设表中所有链的规则
iptables -x 清除预设表中filter中所有自定义链的规则
iptables -P 默认链的规则
iptables -Z 计数器清零