L8配置iptables防火墙(一)
- 格式:doc
- 大小:53.50 KB
- 文档页数:8
Linux命令高级技巧使用iptables命令进行防火墙配置Linux系统中,iptables是一个非常常用的命令,用于配置Linux操作系统的防火墙规则。
掌握iptables的高级技巧,可以帮助我们更好地保护系统安全和网络通信。
本文将介绍使用iptables命令进行防火墙配置的一些高级技巧,以帮助读者更好地理解和运用这个强大的工具。
一、什么是iptables命令iptables是一个在Linux内核中实现的防火墙工具,用于管理网络通信规则。
它允许我们定义输入、输出和转发数据包的规则,从而控制网络流量。
使用iptables命令,我们可以过滤和转发数据包,以及进行网络地址转换和端口转发等操作。
二、iptables配置文件在开始使用iptables命令之前,了解iptables的配置文件将有助于更好地理解和调整防火墙规则。
iptables的配置文件位于"/etc/sysconfig/iptables"路径下,可以使用文本编辑器打开进行编辑。
三、基本的iptables规则1. 允许特定IP地址访问若想允许特定IP地址访问服务器的某个端口,可以使用如下命令:```iptables -A INPUT -p tcp -s IP地址 --dport 端口号 -j ACCEPT```例如,若要允许IP地址为192.168.1.100的主机访问SSH端口(22),可以使用以下命令:```iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT```2. 允许特定IP地址范围访问如果要允许一个IP地址范围访问特定端口,可以通过指定源IP范围来实现。
例如,要允许192.168.1.0/24子网段中的主机访问SSH端口,可以执行如下命令:```iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT```此规则将允许192.168.1.0/24网段中的所有主机访问SSH端口。
iptables设置防火墙规则以iptables设置防火墙规则为标题,可以写一篇关于iptables防火墙规则的文章。
下面是一种可能的写作方式:标题:使用iptables设置防火墙规则保护网络安全导言:在当前的网络环境中,保护网络安全是至关重要的。
为了防止网络攻击和非法访问,我们可以使用iptables来设置防火墙规则。
本文将介绍iptables的基本概念和常用命令,并提供一些示例来帮助您理解如何使用iptables保护您的网络。
一、iptables简介iptables是一个在Linux系统上使用的防火墙工具,它可以监控和过滤网络流量,以及控制网络数据包的传输。
iptables可以根据预定义的规则集来允许或拒绝特定的网络连接。
二、iptables基本命令1. 添加规则:使用iptables的-A选项可以向规则链中添加新的规则。
例如,以下命令将允许从特定IP地址(192.168.1.100)访问SSH服务:iptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT2. 删除规则:使用iptables的-D选项可以从规则链中删除指定的规则。
例如,以下命令将删除允许从特定IP地址(192.168.1.100)访问SSH服务的规则:iptables -D INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT3. 查看规则:使用iptables的-L选项可以查看当前规则链中的规则。
例如,以下命令将显示INPUT规则链中的所有规则:iptables -L INPUT三、常用的防火墙规则示例1. 允许特定IP地址的访问:以下命令将允许来自192.168.1.100的IP地址访问HTTP服务:iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT2. 允许特定端口的访问:以下命令将允许所有IP地址访问SSH服务:iptables -A INPUT -p tcp --dport 22 -j ACCEPT3. 拒绝特定IP地址的访问:以下命令将拒绝来自192.168.1.200的IP地址访问FTP服务:iptables -A INPUT -s 192.168.1.200 -p tcp --dport 21 -j DROP4. 阻止所有对外部SSH服务的访问:以下命令将阻止所有对外部SSH服务的访问:iptables -A INPUT -p tcp --dport 22 -j DROP四、更高级的防火墙规则设置1. 限制连接速率:可以使用iptables的限速模块来限制特定IP地址的连接速率。
Linux命令高级技巧使用iptables和ipset进行高级网络防火墙配置在网络安全领域,配置高级网络防火墙是至关重要的。
Linux操作系统提供了一些强大的工具来实现这一目的,其中最常用的是iptables和ipset。
本文将介绍如何使用这两个工具来进行高级网络防火墙配置。
一、iptables简介iptables是一个功能强大的Linux防火墙工具,它允许管理员配置、管理和维护网络安全规则集。
iptables使用内核的netfilter框架来实现数据包过滤和转发。
它可以根据网络协议、源IP地址、目标IP地址、端口号等多个条件来过滤和控制数据包的流动。
下面是一些常用的iptables命令及其功能:1. iptables -A chain -p protocol --source address --destination address --dport port -j action:添加规则到指定链,根据指定条件决定数据包的操作(动作)。
2. iptables -D chain rule-number:从指定链中删除指定规则。
3. iptables -L:列出当前的防火墙规则集。
4. iptables -F chain:清空指定链中的所有规则。
5. iptables -P chain target:设置指定链的默认策略。
二、ipset简介ipset是一个用于管理大规模IP地址和端口的工具,它可以与iptables一起使用,提高防火墙规则的效率和性能。
ipset通过将IP地址和端口号存储在内存中的数据结构中,可以更快地匹配和过滤数据包。
ipset的一些常用命令如下:1. ipset create setname type:创建一个新的ipset。
2. ipset add setname entry:将条目添加到指定的ipset中。
3. ipset del setname entry:从指定的ipset中删除条目。
Linux命令高级技巧使用iptables和ufw命令进行网络防火墙配置Linux命令高级技巧:使用iptables和ufw命令进行网络防火墙配置在Linux操作系统中,网络防火墙是保护系统网络安全的重要组成部分。
通过合理配置网络防火墙规则,可以控制网络流量的进出,阻挡恶意攻击和未经授权的访问,确保系统的安全性。
本文将介绍Linux 中的两个重要命令iptables和ufw,以及使用它们进行网络防火墙配置的高级技巧。
一、iptables命令iptables是Linux中主要的防火墙工具,可以在内核级别对进出的网络流量进行过滤、转发和NAT(Network Address Translation)等操作。
下面是一些常用的iptables命令及其用法:1. 启用IP转发功能在做网络防火墙配置之前,需要确保系统开启了IP转发功能。
可以使用以下命令启用:```shellsysctl -w net.ipv4.ip_forward=1```此命令将系统的`net.ipv4.ip_forward`参数设置为1,即开启IP转发功能。
2. 基本规则设置使用以下命令创建一条基本的防火墙规则,允许本地主机的所有传入和传出流量:```shelliptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT```这些命令将INPUT、OUTPUT和FORWARD链的默认策略都设置为ACCEPT,即允许全部流量。
3. 添加规则可以使用iptables命令添加特定的防火墙规则,以允许或拒绝特定的流量。
例如,以下命令将允许来自192.168.1.100的主机的SSH连接:```shelliptables -A INPUT -s 192.168.1.100 -p tcp --dport 22 -j ACCEPT```此命令将在INPUT链中添加一条规则,允许源IP为192.168.1.100,目标端口为22的TCP连接。
linux iptables 防火墙添加规则《Linux iptables 防火墙添加规则》在Linux系统中,iptables是一种用于管理包过滤规则和网络地址转换的工具,也就是说,它是一个用于管理防火墙的工具。
通过iptables,用户可以对传入和传出的网络数据包进行过滤、转发、放行等操作,从而保护系统的安全性。
要添加iptables防火墙规则,首先需要了解一些基本概念。
规则由一系列规则链和规则组成,每个规则链对应于一个特定的包处理阶段,比如INPUT(入站数据包)、FORWARD(转发数据包)、OUTPUT(出站数据包)等。
而规则则定义了针对每个规则链的具体动作,比如允许、拒绝、转发等。
要添加规则,可以使用iptables命令,语法为:```iptables -A <chain> -p <protocol> --dport <port> -j <action>```具体来说,-A表示添加规则,<chain>表示规则链的名称,-p表示协议类型,--dport表示目标端口,-j表示动作。
比如,可以使用以下命令添加一条允许HTTP流量的规则:```iptables -A INPUT -p tcp --dport 80 -j ACCEPT```此外,还可以使用其他选项来指定IP地址、子网、MAC地址等,定制更精细的规则。
在添加规则之后,需要保存规则,以便系统重启后依然有效。
可以使用以下命令来保存规则:```iptables-save > /etc/iptables.rules```总的来说,通过学习iptables的基本概念和语法,用户可以灵活地配置防火墙规则,从而保护系统的安全。
毋庸置疑,良好的防火墙规则可以有效地提高系统的安全性,减少潜在的攻击风险。
文章编号:100721385(2008)022*******基于iptables的L inux防火墙的配置和实现宛 钺(沈阳航空工业学院网络中心,辽宁沈阳 110034)摘 要:目前防范外部网络攻击的有效的方式是在核心层上端采用与外网相连以达到网络防御的效果的各类硬件防火墙产品,但是添加硬件防火墙产品的同时也增加运营成本。
为此采用一台高配置的网络服务器进行防火墙的配置来实现上述功能,同时通过研究netfilter/i p table s信息包过滤系统以及配置相应的防火墙的策略,可以实现硬件防火墙的各项功能,在使用高配置的网络服务器的同时也降低了网络安全上的成本,并增加了其灵活性,同时也达到硬件防火墙的效果。
关键词:防火墙;信息包;过滤;规则中图分类号:TP393108文献标识码:A1 L inux防火墙的简介L inux因其健壮性、可靠性、灵活性以及无限范围的可定制性而在I T业界变得非常受欢迎。
L inux具有许多内置的能力,使开发人员可以根据自己的需要定制其工具、行为和外观,而无需昂贵的第三方工具。
如果L inux系统连接到因特网或LAN、服务器或连接LA N和因特网的代理服务器,所要用到的一种内置能力就是针对网络上L inux系统的防火墙设计和实现。
可以在netfil2 ter/iptables I P信息包过滤系统(它集成在 2.4.x 版本的Linux内核中)的帮助下运用这种能力。
则该系统有利于在L inux系统上更好地控制I P 信息包过滤和防火墙配置。
2 信息包过滤的原理和防火墙设计对于连接到网络上的L inux系统来说,防火墙是必不可少的防御机制,它只允许合法的网络流量进出系统,而禁止其它任何网络流量。
为了确定网络流量是否合法,防火墙依靠它所包含的由网络或系统管理员预定义的一组规则。
这些规则告诉防火墙某个流量是否合法以及对于来自某个源、至某个目的地或具有某种协议类型的网络流量要做些什么。
Linux下防⽕墙iptables⽤法规则详及其防⽕墙配置转:iptables规则规则--顾名思义就是规矩和原则,和现实⽣活中的事情是⼀样的,国有国法,家有家规,所以要遵纪守法的嘛。
当然在防⽕墙上的规则,在内核看来,规则就是决定如何处理⼀个包的语句。
如果⼀个包符合所有的条件,我们就⽤相应的处理动作来处理。
书写规则的语法格式为:iptables [-t table] command chains [creteria] -j action-t table就是表名,filter/nat/mangle三个表中的⼀个,默认是filter表command告诉程序如何做,⽐如:插⼊⼀个规则,还是删除等chains 链,有五个,PREROUTING POSTROUTING INPUT OUTPUT FORWARDaction 处理动作,有ACCEPT DENY DROP REJECT SNAT DNAT理⼀下思路下⾯⼀点点的说⼀、Tables选项-t⽤来指定⽤哪个表,它可以是下⾯的任何⼀个,默认的是filter表⼆、COMMANDScommand指定iptables对我们提交的规则要做什么样的操作。
这些操作可能是在某个表⾥增加或删除⼀些东西,或其他的动作。
⼀下是iptables可⽤的command(如不做说明,默认表是filter)和命令结合常⽤的选项三、chains简单说⼀下五个链的作⽤:PREROUTING 是在包进⼊防⽕墙之后、路由决策之前做处理POSTROUTING 是在路由决策之后,做处理INPUT 在包被路由到本地之后,但在出去⽤户控件之前做处理OUTPUT在去顶包的⽬的之前做处理FORWARD在最初的路由决策之后,做转发处理四、匹配条件4.1 基本匹配4.2 隐含扩展匹配这种匹配操作是⾃动的或隐含的装⼊内核的。
例如使⽤-p tcp时,不需要再装⼊任何东西就可以匹配只有IP包才有的特点。
隐含匹配针对三种不同的协议,即TCP UDP ICMP。
iptables防火墙只允许指定ip连接指定端口怎么设置防火墙借由监测所有的封包并找出不符规则的内容,可以防范电脑蠕虫或是木马程序的快速蔓延。
这篇文章主要介绍了iptables防火墙只允许指定ip连接指定端口、访问指定网站,需要的朋友可以参考下方法步骤需要开80端口,指定IP和局域网下面三行的意思:先关闭所有的80端口开启ip段192.168.1.0/24端的80口开启ip段211.123.16.123/24端ip段的80口# iptables -I INPUT -p tcp --dport 80 -j DROP# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT# iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT以上是临时设置。
1.先备份iptables# cp /etc/sysconfig/iptables /var/tmp2.然后保存iptables# service iptables save3.重启防火墙#service iptables restart以下是端口,先全部封再开某些的IPiptables -I INPUT -p tcp --dport 9889 -j DROPiptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9889 -j ACCEPT如果用了NAT转发记得配合以下才能生效iptables -I FORWARD -p tcp --dport 80 -j DROPiptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -jACCEPT常用的IPTABLES规则如下:只能收发邮件,别的都关闭iptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -j DROPiptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p udp --dport 53 -j ACCEPTiptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 25 -j ACCEPTiptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 110 -j ACCEPTIPSEC NAT 策略iptables -I PFWanPriv -d 192.168.100.2 -j ACCEPTiptables -t nat -A PREROUTING -p tcp --dport 80 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:80 iptables -t nat -A PREROUTING -p tcp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723 iptables -t nat -A PREROUTING -p udp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723 iptables -t nat -A PREROUTING -p udp --dport 500 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:500 iptables -t nat -A PREROUTING -p udp --dport 4500 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:4500 FTP服务器的NATiptables -I PFWanPriv -p tcp --dport 21 -d 192.168.100.200 -j ACCEPTiptables -t nat -A PREROUTING -p tcp --dport 21 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:21 只允许访问指定网址iptables -A Filter -p udp --dport 53 -j ACCEPTiptables -A Filter -p tcp --dport 53 -j ACCEPTiptables -A Filter -d -j ACCEPTiptables -A Filter -d -j ACCEPTiptables -A Filter -j DROP开放一个IP的一些端口,其它都封闭iptables -A Filter -p tcp --dport 80 -s 192.168.100.200 -d -j ACCEPTiptables -A Filter -p tcp --dport 25 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 109 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 110 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 53 -j ACCEPTiptables -A Filter -p udp --dport 53 -j ACCEPTiptables -A Filter -j DROP多个端口iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT连续端口iptables -A Filter -p tcp -m multiport --source-port 22,53,80,110 -s 192.168.20.3 -j REJECT iptables -A Filter -p tcp --source-port 2:80 -s 192.168.20.3 -j REJECT指定时间上网iptables -A Filter -s 10.10.10.253 -m time --timestart 6:00 --timestop 11:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROP iptables -A Filter -m time --timestart 12:00 --timestop 13:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPTiptables -A Filter -m time --timestart 17:30 --timestop 8:30 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT禁止多个端口服务iptables -A Filter -m multiport -p tcp --dport 21,23,80 -j ACCEPT将WAN 口NAT到PCiptables -t nat -A PREROUTING -i $INTERNET_IF -d $INTERNET_ADDR -j DNAT --to-destination 192.168.0.1 将WAN口8000端口NAT到192。
如何使用iptables命令在Linux中配置防火墙和网络转发由于网络安全的重要性日益凸显,配置防火墙和网络转发成为Linux系统管理员必备的技能之一。
在Linux系统中,iptables命令提供了灵活的方式来配置防火墙规则和网络转发设置。
本文将介绍如何使用iptables命令来完成这些任务。
一、什么是iptables命令iptables是Linux操作系统中一个非常强大的防火墙工具,它可以通过管理网络数据包的流动来控制网络访问权限。
iptables命令可以根据预先定义的规则集过滤网络数据包,拒绝无效或危险的连接,从而保护系统的安全性。
二、基本概念与术语在开始使用iptables命令之前,我们需要了解一些基本的概念和术语。
1. 表(Table):iptables命令使用表来组织和管理规则。
常用的表有:filter、nat和mangle等。
2. 链(Chain):每个表都包含多个链,链是规则的组合。
常用的链有:INPUT、FORWARD和OUTPUT等。
3. 规则(Rule):规则是iptables命令的基本单位,它定义了针对网络数据包的动作和匹配条件。
4. 动作(Action):动作定义了对匹配到的数据包的处理方式,常见的动作有:ACCEPT、DROP和REJECT等。
5. 匹配条件(Match):匹配条件定义了规则在应用到数据包时需要满足的条件。
常见的匹配条件有:source、destination和protocol等。
三、配置防火墙规则配置防火墙规则是保护系统安全的第一步。
使用iptables命令可以轻松地添加、修改和删除防火墙规则。
1. 查看当前防火墙规则首先,我们需要查看当前的防火墙规则,可以使用以下命令:```iptables -L```该命令将列出当前的防火墙规则,包括表、链、规则和动作等信息。
2. 添加规则要添加一个防火墙规则,可以使用以下命令:```iptables -A INPUT -s 192.168.0.0/24 -p tcp --dport 22 -j ACCEPT```该命令将允许来自192.168.0.0/24网段的TCP连接访问本地的SSH 服务。
iptables配置语句1. 配置iptables防火墙的命令如下:```iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT```这条命令的作用是允许来自192.168.1.0/24网段的主机通过SSH 连接到本机的22端口。
2. 另一个常见的配置是限制特定IP地址的访问:```iptables -A INPUT -s 192.168.1.100 -j DROP```这条命令会阻止IP地址为192.168.1.100的主机访问本机的任何服务。
3. 如果想要允许特定IP地址范围的访问,可以使用以下命令:```iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT```这条命令允许来自192.168.1.100到192.168.1.200之间的主机访问本机。
4. 如果想要禁止特定端口的访问,可以使用以下命令:```iptables -A INPUT -p tcp --dport 80 -j DROP```这条命令会阻止任何主机访问本机的80端口,即禁止HTTP访问。
5. 另一种常见的配置是允许本机访问外部服务:```iptables -A OUTPUT -d 8.8.8.8 -p udp --dport 53 -j ACCEPT```这条命令允许本机访问Google Public DNS服务器的53端口,用于DNS解析。
6. 如果想要配置端口转发,可以使用以下命令:```iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080```这条命令会将来自80端口的TCP流量重定向到本机的8080端口。
7. 如果想要配置防火墙日志,可以使用以下命令:```iptables -A INPUT -j LOG --log-prefix "Firewall: "```这条命令会将所有进入本机的流量打上前缀为"Firewall: "的日志。
配置iptables防火墙(一)
1Linux防火墙基础
1.1 Iptables的规则表和链结构
1.1.1规则表
Filter表:包含三条规则链input ,forward,output
Nat表: 包含三条规则链prerouting,postrouting,output
Mangle表包含五条规则链prerouting,postrouting,input,output,forward Raw表包含两条规则链output,prerouting
1.1.2规则链
Input 链
Output链
Forward链
Prerouting链
Postrouting链
2管理和设置iptables规则
2.1 管理iptables规则
1.添加及插入规则
在filter表的input链的末尾添加一条防火墙规则
iptables -t filter -A INPUT -p tcp -j ACCEPT
在filter表的input链中插入一条防火墙规则(此处省略了”-t filter”选项,按默认处理filter表)
iptables -I INPUT -p udp -j ACCEPT
在filter表的input链中插入一条防火墙规则(作为链中的第二条规则) iptables -I INPUT 2 -p icmp -j ACCEPT
2. 查看规则表
查看filter表INPUT链中所有规则,同时显示各条规则的顺序号iptables -L INPUT --line-numbers
查看filter表各链中所有规则的详细信息,同时以数字形式显示地址和端口信息。
使用数字形式可以减少地址解析的环节,在一定程度上加快命令执行的速度
iptables -vnL //注意-L选项放最后,否则会将vn当成链名3.删除,清空规则链
删除filter表INPUT链中的第2条规则
iptables -D INPUT 2
清空filter表,nat表,mangle表各链中的所有规则
iptables -F
iptables -t nat -F
iptables -t mangle -F
4.设置规则链的默认策略
将filter表中FORW ARD规则链的默认策略设为DROP
iptables -t filter -P FORW ARD DROP
将filter表中FORW ARD规则链的默认策略设为ACCEPT iptables -P OUTPUT ACCEPT
5. 获得iptables相关选项用法的帮助信息
查看iptables命令中关于icmp协议的帮助信息
iptables -p icmp -h
6. 新增,删除自定义规则链
在raw表中新增一条自定义的规则链,链名为TCP_PACKETS iptables -t raw -N TCP_PACKETS
iptables -t raw -L //查看raw表中的所有规则链相关信息清空raw表中用户自定义的所有规则链
iptables -t raw -x
2.2 条件匹配
2.2.1通用条件匹配
2.2.1.1 协议匹配
拒绝进入防火墙的所有icmp协议数据包
iptables -I INPUT -p icmp -j REJECT
允许防火墙转发除icmp协议以外的所有数据包
iptables -A FORW ARD -p ! icmp -j ACCEPT
iptables -L FORW ARD
2.2.1.2 地址匹配
拒绝转发来自192.168.1.11主机的数据,允许转发来自192.168.0.0/24网段的数据
iptables -A FORW ARD -s 192.168.1.11 -j REJECT iptables -A FORW ARD -s 192.168.0.0/24 -j ACCEPT
2.2.1.3 网络接口匹配
丢弃从外网接口(eth1)进入防火墙本机的源地址为私网地址的数据包
iptables -A INPUT -i eth1 -s 192.168.0.0/16 -j DROP iptables -A INPUT -i eth1 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i eth1 -s 10.0.0.0/8 -j DROP
管理员在网关服务器上检测到来自某个IP网段(如10.20.30.0/24)的频繁扫描,希望设置iptables规则封堵该IP地址段,两小时后解封Iptables -I INPUT -s 10.20.30.0/24 -j DROP //设置封堵策略
Iptables -I FORW ARD -s 10.20.30.0/24 -j DROP
at now +2 hours
at > iptables -D INPUT 1
at > iptables -D FORW ARD 1
at> //此处按Ctrl+D组合键
2.2.2隐含条件匹配
2.2.2.1 端口匹配
仅允许系统管理员从202.13.0.0/16网段使用SSH方式远程登录防火墙主机
iptables -A INPUT -p tcp --dport 22 -s 202.13.0.0/16 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP
允许本机开放从TCP端口20~1024提供的应用服务
iptables -A INPUT -p tcp --dport 20:1024 -j ACCEPT iptables -A OUTPUT -p tcp --sport 20:1024 -j ACCEPT 作为网关使用时,允许转发来自192.168.0.0/24局域网段的DNS解析请求数据包
iptables -A FORW ARD -s 192.168.0.0/24 -p udp --dport 53 -j ACCEPT
iptables -A FORW ARD -d 192.168.0.0/24 -p udp --sport 53 -j ACCEPT
拒绝从外网接口(eth1)直接访问放火墙本机的数据包,但是允许响应防火墙TCP请求的数据包进入
iptables -p INPUT DROP
iptables -I INPUT -I eth1 -p tcp --tcp-flags SYN,RST,ACK SYN –j REJECT
iptables -I INPUT -i eth1 -p tcp --tcp-flags ! –syn -j ACCEPT
2.2.3显式条件匹配
2.2.
3.1 M AC 地址匹配
禁止转发来自MAC地址为00:0C:29:27:55:3F的主机的数据包iptables –A FORW ARD -m mac --mac-source 00:0C:29:27:55:3F -j DROP
2.2.
3.2 多端口匹配
允许防火墙本机对外开放TCP端口20,21,25,110以及被动模式FTP 端口1250~1280
iptables -A INPUT -p tcp -m multiport --dport 20,21,25,110,1250:1280 -j ACCEPT
禁止转发源IP地址为192.168.1.20~192.168.1.99的TCP数据包iptables -A FORW ARD -p tcp -m iprange --src-range 192.168.1.20-192.168.1.99 -j
DROP
2.2.
3.4 状态匹配
禁止转发与正常TCP连接无关的非—syn请求数据包(如网络中可能存在的一些非法攻击数据包)
iptables -A FORW ARD -m state --state NEW -p tcp ! --syn -j DROP
拒绝访问防火墙的新数据包,但允许响应连接或与已有连接相关的数据包
iptables -A INPUT -p tcp -m state --state NEW -j DROP
iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
2.3 数据包控制
对于尝试通过SSH方式登录防火墙主机的访问数据,记录日志信息并禁止其访问
iptables -I INPUT -p tcp --dport 22 -j DROP
iptables -I INPUT -p tcp --dport 22 -j LOG
2.3.1用户自定义链
自定义一个新的链MyLAN1,转发自192.168.1.0/24网段的数据包均交给该链中的规则处理
iptables -t filter -N MyLAN1
iptables -A FORW ARD -s 192.168.1.0/24 -j MyLAN1 iptables -A FORW ARD -d 192.168.1.0/24 -j MyLAN1 iptables -A MyLAN1 -p icmp -j DROP。