iptables 配置防火墙

iptables 操作3个表,各有若干个子链。

mangle表, nat表,filter表。


防火墙使用filter表,也是最常用的一个表,有3个子链:INPUT, OUTPUT, FORWARD.


显示命令:

iptables -L -n -v --line-numbers

Chain INPUT (policy ACCEPT 3002 packets, 138K bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 3051 packets, 1606K bytes)
num   pkts bytes target     prot opt in     out     source               destination         

如果要针对特殊的表,使用-t参数 -t <mangle | nat | filter> 默认使用filter表


清空命令:

iptables -F


创建用户自定义链:

iptables -N 

删除用户自定义的链:

iptables -X


规则, 添,改, 删:

Usage: iptables -[ACD] chain rule-specification [options]
       iptables -I chain [rulenum] rule-specification [options]
       iptables -D chain rulenum [options]


在INPUT链中添加一个drop规则

iptables -A INPUT -s 74.125.71.103 -j DROP
这个时候所有来自74.125.71.103的包都将被丢弃,

所以你从本机去ping的话,也收不到74.125.71.103的响应。

# ping 74.125.71.103 

好吧,删除刚才这个拒绝规则

iptables -D INPUT 1
现在可以ping通了。

如果添加的是接受规则,那么也是可ping通

iptables -A INPUT -s 74.125.71.103 -j ACCEPT




一个常用的防火墙策略, 入站关闭,转发和输出拒绝

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state NEW,ESTABLISHED -j ACCEPT

-m 表示匹配状态,--state指定匹配哪些状态


禁止外部机器172.16.73.25来连接8000端口

iptables -A INPUT -p tcp -s 172.16.73.25 --dport 8000 -j DROP

禁止请求外部某个网站74.125.71.108

iptables -A OUTPUT -p tcp -d 74.125.71.103  -j DROP

打开端口序列7000:7010

iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 7000:7010 -j ACCEPT

禁止特定mac地址的访问

iptables -A INPUT -m mac --mac-source 00:0F:EA:91:04:08 -j DROP 


参考文献:

http://cloud.csdn.net/a/20120117/310905.html

http://os.51cto.com/art/201103/249398.htm

你可能感兴趣的:(防火墙,filter,iptables)