Linux 防火墙iptables概念Iptalbes(IP包过滤器管理)是用来设置、维护和检查Linux内核的IP包过滤规则的。可以定义不同的表,每个表都包含几个内部的链,也能包含用户定义的链。每个链都是一个规则列表,对对应的包进行匹配:每条规则指定应当如何处理与之相匹配的包。这被称作""""target""""(目标),也可以跳向同一个表内的用户定义的链。通过使用用户空间,可以构建自己的定制规则,这些规则存储在内核空间的信息包过滤表中。这些规则具有目标,它们告诉内核对来自某些源、前往某些目的地或具有某些协议类型的信息包做些什么。如果某个信息包与规则匹配,那么使用目标 ACCEPT 允许该信息包通过。还可以使用目标 DROP 或 REJECT 来阻塞并杀死信息包。对于可对信息包执行的其它操作,还有许多其它目标。根据规则所处理的信息包的类型,可以将规则分组在链中。处理入站信息包的规则被添加到 INPUT 链中。处理出站信息包的规则被添加到 OUTPUT 链中。处理正在转发的信息包的规则被添加到 FORWARD 链中。这三个链是基本信息包过滤表中内置的缺省主链。另外,还有其它许多可用的链的类型(如 PREROUTING 和 POSTROUTING),以及提供用户定义的链。每个链都可以有一个策略,它定义“缺省目标”,也就是要执行的缺省操作,当信息包与链中的任何规则都不匹配时,执行此操作。建立规则并将链放在适当的位置之后,就可以开始进行真正的信息包过滤工作了。这时内核空间从用户空间接管工作。当信息包到达防火墙时,内核先检查信息包的头信息,尤其是信息包的目的地。我们将这个过程称为路由。如果信息包源自外界并前往系统,而且防火墙是打开的,那么内核将它传递到内核空间信息包过滤表的 INPUT 链。如果信息包源自系统内部或系统所连接的内部网上的其它源,并且此信息包要前往另一个外部系统,那么信息包被传递到 OUTPUT 链。类似的,源自外部系统并前往外部系统的信息包被传递到 FORWARD 链。
iptables实例1: #!/bin/sh# 禁止系统的转发包功能echo 0 > /proc/sys/net/ipv4/ip_forward# 清楚iptables原有规则,并设置iptables默认规则iptables -t nat -F POSTROUTINGiptables -t nat -F PREROUTINGiptables -t nat -F OUTPUTiptables -Fiptables -P INPUT DROPiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPT# 在input规则中需要打开的tcp、upd端口iptables -A INPUT -j ACCEPT -p tcp --dport 80iptables -A INPUT -j ACCEPT -p tcp --dport 22iptables -A INPUT -j ACCEPT -p tcp --dport 25iptables -A INPUT -j ACCEPT -p tcp --dport 1352iptables -A INPUT -p udp --destination-port 53 -j ACCEPT# 在input规则中状态为:STATE RELATED 的包都接受iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT# 启用系统ip转发功能echo 1 > /proc/sys/net/ipv4/ip_forward< --end-- >
iptables实例2: 注:这个实例中,只需要设置tcp、udp端口和服务器网络段ip范围即可,其他已经默认设置好。#!/bin/sh# make:yongzhang# time:2004-06-18# e-mail: yongzhang@wiscom.com.cnPATH=/sbin:/bin:/usr/sbin:/usr/bin##tcp allow portsTPORTS="80 22"##udp allow portsUPORTS="53"##internal server_ip rangeSERVER_IP="172.18.10.0/24"##disable forwardingecho 0 > /proc/sys/net/ipv4/ip_forward##reset default policiesiptables -P INPUT ACCEPTiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPTiptables -t nat -P PREROUTING ACCEPTiptables -t nat -P POSTROUTING ACCEPTiptables -t nat -P OUTPUT ACCEPT##del all iptables rulesiptables -F INPUTiptables -F FORWARDiptables -F OUTPUT##clean all non-default chainsiptables -Xiptables -t nat -X##iptables default rulesiptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT##allow ping packetsiptables -A INPUT -p ICMP -s 0/0 --icmp-type 0 -j ACCEPTiptables -A INPUT -p ICMP -s 0/0 --icmp-type 3 -j ACCEPTiptables -A INPUT -p ICMP -s 0/0 --icmp-type 5 -j ACCEPTiptables -A INPUT -p ICMP -s 0/0 --icmp-type 8 -j ACCEPTiptables -A INPUT -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT#iptables -A INPUT -p ICMP -s 0/0 --icmp-type 11 -m limit --limit 5/s -j ACCEPTiptables -A FORWARD -p ICMP -j ACCEPT##enable forwardingiptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT##STATE RELATED for routeriptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT##accept internal packets on the internal i/fiptables -A INPUT -s $SERVER_IP -p tcp -j ACCEPT##open ports on router for server/services##TCP PORTSfor ATP in $TPORTSdoiptables -A INPUT ! -s $SERVER_IP -d $SERVER_IP -p tcp --destination-port $ATP -j ACCEPTiptables -A FORWARD -p tcp --destination-port $ATP -j ACCEPTdone##UDP PORTSfor AUP in $UPORTSdoiptables -A INPUT -p udp --destination-port $AUP -j ACCEPTiptables -A FORWARD -p udp --destination-port $AUP -j ACCEPTdone##bad_packets chain##drop INVALID packets immediatelyiptables -A INPUT -p ALL -m state --state INVALID -j DROP##limit SYN flood#iptables -A INPUT -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT##deny all ICMP packets,eth0 is external net_eth#iptables -A INPUT -i eth0 -s 0.0.0.0/0 -p ICMP -j DROP##allow loopbackiptables -A INPUT -i lo -p all -j ACCEPTiptables -A OUTPUT -o lo -p all -j ACCEPT##enable forwardingecho 1 > /proc/sys/net/ipv4/ip_forward< --end-- >
| 【内容导航】 |
| 第1页:iptables | 第2页:ipchains类型防火墙 |
Linux下绑定IP及MAC地址 防范ARP欺骗病毒CentOS Linux防火墙配置及关闭相关资讯 IpTables Linux服务器 Linux安全
- CentOS Samba 服务器 Iptables 和 (今 07:14)
- iptables超全详解 (09月01日)
- Iptables防火墙 基础知识 (08月19日)
| - Iptables工作原理使用详解 (09月06日)
- iptables中NAT表 (08月25日)
- Linux 为FTP 服务器添加iptables规 (08月11日)
|
本文评论 查看全部评论 (0)