一、简介

  工作在主机或网络边缘的,对进出的报文事先定义的规则进行检查,由软硬件两者协同工作,这就是防火墙。   

二、iptables常用选项

iptables命令:

iptables — administration tool for IPv4 packet filtering and NATSYNOPSIS   iptables [-t table] {-A|-C|-D} chain rule-specification   iptables [-t table] -I chain [rulenum] rule-specification   iptables [-t table] -R chain rulenum rule-specification   iptables [-t table] -D chain rulenum   iptables [-t table] -S [chain [rulenum]]   iptables [-t table] {-F|-L|-Z} [chain [rulenum]] [options...]   iptables [-t table] -N chain   iptables [-t table] -X [chain]   iptables [-t table] -P chain target   iptables [-t table] -E old-chain-name new-chain-name   rule-specification = [matches...] [target]   match = -m matchname [per-match-options]   target = -j targetname [per-target-options]

1)查看iptables,以数字形式显示,并且详细显示个参数 

iptables -L -n -v 或iptables -L -n -vv/iptables -L -n -vvv  

2)清除所有的规则,flush [chain],delete all the rule one by one  

iptables -F  

3)删除自定义的规则

iptables -F 

4)创建自定义的一个新链

iptables -N

5)链的记录清零   

iptables -Z   

 

6)常用的四表五链   

四表:


filter:过滤表    nat:网络地址转换    mangle:对报文进行重新的拆装    raw:关闭nat表上启用的连接追踪功能  

五链:


PREROUTING    INPUT    FORWARD    OUTPUT    POSTROUTING  

数据流向:

流入本机:PREROUTING-->INPUT

本机流出:OUTPUT-->POSTROUTING

转发:PREROUTING-->FORWARD-->POSTROUTING

三、实际操作

1)清除默认的链及其规则

iptables -F  iptables -X  iptables -Z 

2)配置允许ssh登录端口进入 

iptables -A INPUT -d 10.10.0.1 -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT  

iptables -A OUTPUT -s 10.1.0.1 -o eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT 

3)设置允许本机lo通信规则

iptables -A INPUT -i lo -j ACCEPT

iptables -A OUTPUT -o lo -j ACCEPT 

4、设置默认的防火墙禁止和允许规则

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP 

5、开启信任的网段

iptables -A INPUT -s 10.1.0.0/16 -p all -j ACCEPT 

6、允许业务服务对外提供访问

iptables -A INPUT -p tcp --dport 80 -j ACCEPT  

iptables -A INPUT -d 10.1.249.4 -p icmp --icmp-type 8 -m limit --limit 2/second --limit-burst 5 -m state NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT -s 10.1.249.4 -p icmp --icmp-type 0 -m state --state ESTABLISHED -j ACCEPT