linux防火墙包含两部分:netfilter和iptables。netfilter位于内核空间,一般做用是容许数据表过滤函数挂载到系统内核中。因为用户一般没法接触和修改内核,因而有了iptables这样的一个命令行的用户工具,供用户添加、管理具体的过滤规则。linux
四表tcp
filter表:过滤规则表
nat表:地址转换规则表
mangle表:修改数据标记位规则表
raw表:跟踪数据表规则表ide
五链函数
input:入站数据过滤
output:出站数据过滤
forward:转发数据过滤
prerouting:路由前过滤
postrouting:路由后过滤工具
外部进入通过input和prerouting链post
内部出去通过output和postroutinf链命令行
路由转发通过prerouting、forward和postrouting链rest
iptables默认操做表为filter表,若须要操做其余表。使用-t 参数code
iptables -t 【表名】
查看nat表全部规则blog
# iptables -t nat -nL
清空filter全部规则
# iptables -F
filter表新增入站规则,丢弃192.168.0.1发送给防火墙的数据包
# iptables -A INPUT -s 192.168.0.1 -j DROP
filiter表插入一规则,拒绝192.168.0.1ping防火墙
# iptables -I INPUT -s 192.168.0.1 -p icpm -j REJECT
容许任何主机从eth0接口访问防火墙的80端口
# iptables -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT
查看filter表中防火墙规则并显示编号
# iptables -nL --line-number
删除filiter表INPUT链第一条规则
# iptables -D INPUT 1
# iptables save >/etc/sysconfig/iptables # iptables-restore < /etc/sysconfig/iptables # iptables-save>firewall.bak # iptables-restore < firewall.bak