好记性不如铅笔头

linux, 操作系统

linux静态防火墙iptables

Iptables是Linux的静态防火墙。

CONTENTS

查看规则:

root@cstriker1407-ubuntu:~# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

默认的,当前只有三条规则链:INPUT、OUTPU、FORWARD

INPUT规则链包含进站数据包的规则。

OUTPUT规则链包含出站数据包规则

FORWARD规则链包含转发数据包到其它主机的规则。

Iptables大多数用来配置处理从网络进入Linux服务器的数据包,所以INPUT规则链经常会到用到。当有数据包通过Linux核心,下面几个指令会决定数据包被匹配之后如何处理。
ACCEPT: 数据包允许通过其到达目的地。
REJECT: 数据包被拒绝并返回给发数据包的主机一个简单的解释。
DROP: 数据包被拒绝不返回任何信息。

添加修改规则:

http://www.vpser.net/security/linux-iptables.html 】

http://www.cnblogs.com/JemBai/archive/2009/03/19/1416364.html 】

http://cert.sjtu.edu.cn/doc/linux/s1-fireall-ipt-act.html 】

最近被黑了,这里笔记下一份最简单的iptables配置:

参考

【 http://www.nigesb.com/setting-up-standard-web-server-iptables.html

【 http://zshou.is-programmer.com/posts/38730.html

iptables -F  #清除预设表filter中的所有规则链的规则
iptables -X  #清除预设表filter中使用者自定链中的规则

iptables -A FORWARD -p tcp --dport SSH端口 -j ACCEPT  #允许SSH端口数据转发,注意这里是dport
iptables -A INPUT -p tcp --dport SSH端口 -j ACCEPT    #允许SSH端口数据进入,注意这里是dport
iptables -A OUTPUT -p tcp --sport SSH端口 -j ACCEPT   #允许SSH端口数据发出,注意这里是sport

iptables -A FORWARD -p tcp --dport 80 -j ACCEPT     #允许WEB 80端口数据转发,注意这里是dport
iptables -A INPUT -p tcp --dport 80 -m limit --limit 500/minute --limit-burst 2000 -j ACCEPT  #允许WEB 80端口数据进入,注意这里是dport,并且进行限速处理
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT      #允许WEB 80端口数据发出,注意这里是sport

iptables -P FORWARD DROP  #默认转发数据全部DROP
iptables -P INPUT DROP    #默认进入数据全部DROP
iptables -P OUTPUT DROP   #默认发出数据全部DROP


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp --sport 53  -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p udp --dport 53  -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT 


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

 
iptables -A INPUT -i ppp+ -j ACCEPT
iptables -A OUTPUT -o ppp+ -j ACCEPT

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p 47 -j ACCEPT
iptables -A OUTPUT -p 47 -j ACCEPT

iptables -F FORWARD
iptables -A FORWARD -j ACCEPT

iptables -A POSTROUTING -t nat -o eth0 -j MASQUERADE
iptables -A POSTROUTING -t nat -o ppp+ -j MASQUERADE

service iptables save     #保存iptables
service iptables restart  #重启iptables,防止数据丢失

 

发表评论

11 + 13 =

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据