今天看了鸟哥的私房菜---防火墙这章,在此记个笔记。
防火墙过滤规则流程
“网络数据包规则比对结果符合规则1,此时这个网络数据包就会进行action1的动作,而不会会理后续的其他规则”。
iptables的表格(table)与链(chain)
table默认有三个,分别是:
1. Filter 主要跟进入Linux本机的数据包有关;
Filter有三条链,分别是:
①INPUT 主要与想要进入Linux本机的数据包有关;
②OUTPUT 主要与Linux本机索要送出的数据包有关;
③FORWARD 与Linux本机没有关系,与NAT的table相关性较高。
2. NAT 主要用来进行来源于目的地的IP或PORT的转换,与Linux本机无关,主要是与Linux主机后的局域网内的计算机有关;
3. Mangle 主要是与特殊的数据包的路由标志有关,用的较少。
iptables查看命令
1. iptables -L -n
2. 推荐:iptables-save 会列出完整的防火墙规则。
iptables清除命令
iptables -F 清除所有的已制订的规则
iptabloes -X 除掉所有用户“自定义”的chain
iptables -Z 将所有的chain的激素与流量统计都归零
定义默认策略(policy)
默认情况下chain的策略都是ACCEPT,即允许,如下图:
修改的话:iptables [-t table] -P [INPUT,OUTPUT,FORWARD] [ACCEPT,DROP]
举例:iptables -P INPUT DROP 将Filter表(默认)的INPUT链的策略(policy)设置为DROP 这样将导致外面发来的数据包经过滤规则之后的默认都被丢弃。
新增规则
iptable 【-A 链名】 【-i 网口】 【-p 协议】【-s 来源IP/网络】【-d 目的IP/网络】-j 【ACCEPT|DROP|REJECT|LOG】
举例:
iptables -A INPUT -i eth0 -j ACCEPT
--进来eth0网络的数据包都被接受
iptables -A INPUT -i eth0 -s 10.67.0.0/24 -j ACCEPT
--只接受来源IP是10.67.0网段的IP,其他网段的IP将被拒绝
iptables -A INPUT -i eth0 -p tcp -s 10.67.0.0/24 --dport 21 -j ACCEPT
--只接受来源IP是10.67.0网段的IP并且协议只是TCP,访问的目的端口是21,其他网段的IP将被拒绝。
还没有看完,先这样!
结束!!!