乔柘云智能建站,互联网协会是干嘛的,网站做直播,优秀的网页模板网站iptables 基本命令使用举例 一、链的基本操作 1、清除所有的规则。1#xff09;清除预设表filter中所有规则链中的规则。# iptables -F -F, --flush [chain]Flush the selected chain (all the chains in the table if none is given). This is equivalent to deleting all …iptables 基本命令使用举例 一、链的基本操作 1、清除所有的规则。1清除预设表filter中所有规则链中的规则。# iptables -F -F, --flush [chain]Flush the selected chain (all the chains in the table if none is given). This is equivalent to deleting all the rules one by one. 2清除预设表filter中使用者自定链中的规则。 #iptables -X -X 是删除使用者自订 table 项目一般使用 iptables -N xxx 新增自订 chain 后可以使用 iptables -X xxx 删除之。 -X, --delete-chain [chain]Delete the optional user-defined chain specified. There must be no references to the chain. If there are, you must delete or replace the referring rules before the chain can be deleted. If no argument is given, it will attempt to delete every nonbuiltin chain in the table. 2、设置链的默认策略。一般有两种方法。1首先允许所有的包然后再禁止有危险的包通过放火墙。#iptables -P INPUT ACCEPT#iptables -P OUTPUT ACCEPT#iptables -P FORWARD ACCEPT2首先禁止所有的包然后根据需要的服务允许特定的包通过防火墙。#iptables -P INPUT DROP#iptables -P OUTPUT DROP#iptables -P FORWARD DROP3、列出表/链中的所有规则。默认只列出filter表。#iptables -L4、向链中添加规则。下面的语句用于开放网络接口#iptables -A INPUT -i lo -j ACCEPT#iptables -A OUTPUT -o lo -j ACCEPT#iptables -A INPUT -i eth0 -j ACEPT#iptables -A OUTPUT -o eth1 -j ACCEPT#iptables -A FORWARD -i eth1 -j ACCEPT#iptables -A FORWARD -0 eth1 -j ACCEPT注意:由于本地进程不会经过FORWARD链因此回环接口lo只在INPUT和OUTPUT两个链上作用。5、使用者自定义链。#iptables -N custom#iptables -A custom -s 0/0 -d 0/0 -p icmp -j DROP#iptables -A INPUT -s 0/0 -d 0/0 -j DROP二、设置基本的规则匹配1、指定协议匹配。1匹配指定协议。#iptables -A INPUT -p tcp2匹配指定协议之外的所有协议。#iptables -A INPUT -p !tcp2、指定地址匹配。1指定匹配的主机。#iptables -A INPUT -s 192.168.0.182指定匹配的网络。#iptables -A INPUT -s 192.168.2.0/243匹配指定主机之外的地址。#iptables -A FORWARD -s !192.168.0.194匹配指定网络之外的网络。#iptables -A FORWARD -s ! 192.168.3.0/243、指定网络接口匹配。1指定单一的网络接口匹配。#iptables -A INPUT -i eth0#iptables -A FORWARD -o eth02指定同类型的网络接口匹配。#iptables -A FORWARD -o ppp4、指定端口匹配。1指定单一端口匹配。#iptables -A INPUT -p tcp --sport www#iptables -A INPUT -p udp –dport 532匹配指定端口之外的端口。#iptables -A INPUT -p tcp –dport !223匹配端口范围。#iptables -A INPUT -p tcp –sport 22:804匹配ICMP端口和ICMP类型。#iptables -A INOUT -p icmp –icimp-type 85指定ip碎片。每个网络接口都有一个MTU最大传输单元这个参数定义了可以通过的数据包的最大尺寸。如果一个数据包大于这个参数值时系统会将其划分成更小的数据包称为ip碎片来传输而接受方则对这些ip碎片再进行重组以还原整个包。这样会导致一个问题当系统将大数据包划分成ip碎片传输时第一个碎片含有完整的包头信息IPTCP、UDP和ICMP但是后续的碎片只有包头的部分信息如源地址、目的地址。因此检查后面的ip碎片的头部象有TCP、UDP和ICMP一样是不可能的。假如有这样的一条规则#iptables -A FORWARD -p tcp -s 192.168.1.0/24 -d 192.168.2.100 –dport 80 -j ACCEPT并且这时的FORWARD的policy为DROP时系统只会让第一个ip碎片通过而余下的碎片因为包头信息不完整而无法通过。可以通过—fragment/-f 选项来指定第二个及以后的ip碎片解决上述问题。#iptables -A FORWARD -f -s 192.168.1.0/24 -d 192.168.2.100 -j ACCEPT注意现在有许多进行ip碎片攻击的实例如DoS攻击因此允许ip碎片通过是有安全隐患的对于这一点可以采用iptables的匹配扩展来进行限制。三、设置扩展的规则匹配举例已忽略目标动作1、多端口匹配。1匹配多个源端口。#iptables -A INPUT -p tcp -m multiport –sport 22,53,80,1102匹配多个目的端口。#iptables -A INPUT -p tcp -m multiport –dpoort 22,53,803匹配多端口(无论是源端口还是目的端口#iptables -A INPUT -p tcp -m multiport –port 22,53,80,1102、指定TCP匹配扩展使用 –tcp-flags 选项可以根据tcp包的标志位进行过滤。#iptables -A INPUT -p tcp –tcp-flags SYN,FIN,ACK SYN#iptables -A FROWARD -p tcp –tcp-flags ALL SYN,ACK上实例中第一个表示SYN、ACK、FIN的标志都检查但是只有SYN匹配。第二个表示ALLSYNACKFINRSTURGPSH的标志都检查但是只有设置了SYN和ACK的匹配。#iptables -A FORWARD -p tcp --syn选项—syn相当于”--tcp-flags SYN,RST,ACK SYN”的简写。3、limit速率匹配扩展。1指定单位时间内允许通过的数据包个数单位时间可以是/second、/minute、/hour、/day或使用第一个子母。#iptables -A INPUT -m limit --limit 300/hour2 )指定触发事件的阀值。#iptables -A INPUT -m limit –limit-burst 10 用来比对一次同时涌入的封包是否超过10个超过此上限的包将直接丢弃。3同时指定速率限制和触发阀值。#iptables -A INPUT -p icmp -m limit –-limit 3/m –limit-burst 3表示每分钟允许的最大包数量为限制速率本例为3加上当前的触发阀值burst数。任何情况下都可保证3个数据包通过触发阀值burst相当于允许额外的包数量。 4基于状态的匹配扩展连接跟踪每个网络连接包括以下信息源地址、目标地址、源端口、目的端口称为套接字对socket pairs协议类型、连接状态TCP协议和超时时间等。防火墙把这些信息称为状态stateful。状态包过滤防火墙能在内存中维护一个跟踪状态的表比简单包过滤防火墙具有更大的安全性命令格式如下 iptables -m state –-state [!]state [,state,state,state]其中state表是一个逗号分割的列表用来指定连接状态4种NEW: 该包想要开始一个新的连接重新连接或连接重定向RELATED:该包是属于某个已经建立的连接所建立的新连接。举例FTP的数据传输连接和控制连接之间就是RELATED关系。ESTABLISHED该包属于某个已经建立的连接。INVALID:该包不匹配于任何连接通常这些包被DROP。例如1在INPUT链添加一条规则匹配已经建立的连接或由已经建立的连接所建立的新连接。即匹配所有的TCP回应包。#iptables -A INPUT -m state –state RELATED,ESTABLISHED2在INPUT链链添加一条规则匹配所有从非eth0接口来的连接请求包。#iptables -A INPUT -m state -–state NEW -i !eth0又如对于ftp连接可以使用下面的连接跟踪1被动Passiveftp连接模式。#iptables -A INPUT -p tcp --sport 1024: --dport 1024: -m state –-state ESTABLISHED -j ACCEPT#iptables -A OUTPUT -p tcp --sport 1024: --dport 1024: -m state -–state ESTABLISHED,RELATED -j ACCEPT2主动Activeftp连接模式#iptables -A INNPUT -p tcp --sport 20 -m state –-state ESTABLISHED,RELATED -j ACCEPT#iptables -A OUTPUT -p tcp –OUTPUT -p tcp –dport 20 -m state --state ESTABLISHED -j ACCEPT转载于:https://www.cnblogs.com/lilidun/p/5547829.html