Linux6 防火墙配置
linux防火墙规则路径

linux防火墙规则路径Linux防火墙规则路径一、概述Linux防火墙是保护计算机网络安全的重要组成部分,它可以通过配置防火墙规则来限制网络流量的进出,从而提高网络的安全性。
本文将介绍Linux防火墙规则的路径以及相关的配置方法。
二、防火墙规则路径Linux防火墙规则的路径通常位于/etc目录下的iptables或firewalld文件夹中,具体取决于使用的防火墙工具。
1. iptables工具Iptables是Linux上最常用的防火墙工具之一,其规则路径为/etc/sysconfig/iptables。
在该文件中,可以配置入站和出站规则,以及网络地址转换(NAT)规则等。
可以使用文本编辑器(如vi或nano)打开该文件进行配置。
2. firewalld工具Firewalld是CentOS 7及以上版本中默认的防火墙管理工具,其规则路径为/etc/firewalld。
在该文件夹中,有多个配置文件,如zones和services等。
zones文件夹中存放了不同区域(zone)的防火墙规则,而services文件夹中存放了各个服务的规则。
可以使用firewall-cmd命令或文本编辑器修改这些配置文件。
三、防火墙规则配置方法Linux防火墙规则的配置方法取决于所使用的防火墙工具。
1. iptables工具配置方法要配置iptables工具的防火墙规则,可以按照以下步骤进行操作:a. 打开终端窗口,使用root用户登录。
b. 进入/etc/sysconfig/iptables目录。
c. 使用文本编辑器打开iptables文件。
d. 在文件中添加所需的规则,如设置允许或禁止特定端口或IP地址等。
e. 保存文件并退出编辑器。
f. 重启iptables服务使配置生效。
2. firewalld工具配置方法要配置firewalld工具的防火墙规则,可以按照以下步骤进行操作:a. 打开终端窗口,使用root用户登录。
Linux下设置防火墙白名单方法是什么

Linux下设置防火墙白名单方法是什么防火墙借由监测所有的封包并找出不符规则的内容,可以防范电脑蠕虫或是木马程序的快速蔓延。
下面小编就为大家带来一篇Linux 下设置防火墙白名单(RHEL 6和CentOS 7)的步骤。
小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
一起跟随小编过来看看吧方法步骤进入Linux 命令行,编辑防火墙规则配置文件 iptablesvi /etc/sysconfig/iptables下面是一个白名单设置的例子:# Firewall configuration written by system-config-securitylevel# Manual customization of this file is not recommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]:RH-Firewall-1-INPUT - [0:0]-N whitelist-A whitelist -s 10.202.106.1 -j ACCEPT-A whitelist -s 10.202.106.2 -j ACCEPT-A whitelist -s 10.202.106.3 -j ACCEPT-A whitelist -s 10.202.106.4 -j ACCEPT-A whitelist -s 10.202.106.5 -j ACCEPT-A whitelist -s 10.202.106.6 -j ACCEPT-A whitelist -s 10.202.106.7 -j ACCEPT-A INPUT -j RH-Firewall-1-INPUT-A FORWARD -j RH-Firewall-1-INPUT-A RH-Firewall-1-INPUT -i lo -j ACCEPT-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT-A RH-Firewall-1-INPUT -p 51 -j ACCEPT-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 4750 -j ACCEPT-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j whitelist-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibitedCOMMIT其中设置白名单的部分为:-N whitelist-A whitelist -s 10.202.106.1 -j ACCEPT-A whitelist -s 10.202.106.2 -j ACCEPT-A whitelist -s 10.202.106.3 -j ACCEPT-A whitelist -s 10.202.106.4 -j ACCEPT-A whitelist -s 10.202.106.5 -j ACCEPT-A whitelist -s 10.202.106.6 -j ACCEPT-A whitelist -s 10.202.106.7 -j ACCEPT使用白名单规则使用 j 参数指定:-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp--dport 3306 -j whitelist补充阅读:防火墙主要使用技巧一、所有的防火墙文件规则必须更改。
Linux命令高级技巧使用iptables和ufw命令进行网络防火墙配置

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 firewall 防火墙出入规则 -回复

linux firewall 防火墙出入规则-回复Linux防火墙出入规则详解引言:在网络安全中,防火墙是一种重要的安全防护设备。
它可以监控和控制网络流量的传入和传出,以保护网络和系统免受潜在的安全威胁。
Linux操作系统广泛使用iptables作为防火墙工具,允许管理员定义出入规则以实现对网络流量的精确控制。
本文将详细介绍Linux防火墙出入规则的配置和使用。
第一步:了解iptablesiptables是Linux系统上的防火墙控制工具。
它允许管理员定义不同的规则集,细化网络流量的传入和传出控制。
在开始防火墙规则配置之前,我们需要了解iptables的基本命令和工作原理。
1.1 iptables基本命令:- iptables -L: 列出当前防火墙规则集- iptables -A: 添加一条新的防火墙规则- iptables -D: 删除指定的防火墙规则- iptables -P: 设置默认防火墙策略- iptables -F: 清空当前所有的防火墙规则1.2 iptables工作原理:iptables通过在内核中的netfilter框架中进行操作,实现对网络流量的过滤和修改。
当网络流量进入系统时,内核会检查该流量是否符合任何防火墙规则。
如果匹配到一条规则,内核会执行该规则指定的操作,如允许或拒绝该流量。
管理员可以使用iptables命令添加,删除和修改防火墙规则,以适应网络流量的需求。
第二步:配置出入规则在开始配置出入规则之前,我们需要了解出入规则的概念和分析方法。
2.1 出入规则概念:出入规则指定了防火墙对网络流量的处理方式。
一条出入规则包含一个或多个匹配条件和一个操作。
当网络流量与匹配条件相符时,防火墙会执行相应的操作。
2.2 出入规则分析方法:分析出入规则时,我们通常需要考虑以下几个方面:- 流量传入或传出的方向:规定流量是从外部进入系统(入站)还是从系统发送到外部(出站)。
- 流量的源和目的地址:规定流量的源地址和目的地址范围。
Linux防火墙的配置与管理:防火墙的包过滤功能设置

Linux防火墙的配置与管理为了保护校园网的安全,需要使用防火墙。
防火墙位于网络边界,用于保护局域网(LAN)内网和DMZ区,免受来自因特网(WAN)的攻击。
防火墙的工作实质是报文过滤。
一、项目简介(一)含有DMZ区的防火墙概述防火墙通常有三个接口(端口),分别是WAN、LAN和DMZ。
如图表3-1所示。
图3-1 防火墙拓扑结构图在网络中,非军事区(DMZ)是指为不信任系统提供服务的孤立网段,其目的是把敏感的内部网络和其他提供访问服务的网络分开,阻止内网和外网直接通信,以保证内网安全。
含有DMZ的网络,包括六条访问控制策略。
1、内网可以访问外网内网的用户可以自由地访问外网。
因此防火墙需要进行源地址转换。
2、内网可以访问DMZ内网用户使用和管理DMZ中的服务器。
3、外网不能访问内网由于内网中存放的是公司内部数据,这些数据不允许外网的用户进行访问。
4、外网可以访问DMZDMZ中的服务器本身就是要给外界提供服务的,所以外网必须可以访问DMZ。
同时,外网访问DMZ需要由防火墙完成对外地址到服务器实际地址的转换。
5、DMZ不能访问内网很明显,如果违背此策略,则当入侵者攻陷DMZ时,就可以进一步进攻到内网的重要数据。
6、DMZ不能访问外网此条策略也有例外,比如DMZ中放置邮件服务器时,就需要访问外网,否则将不能正常工作。
(二)Linux防火墙简介Linux下的防火墙是iptables/netfilter。
iptables是一个用来指定netfilter规则和管理内核包过滤的工具,它为用户配置防火墙规则提供了方便。
与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换NAT等功能。
1、netfilter的组成netfilter主要包括三个表(table):filter、nat和mangle,分别用于实现报文过滤、网络地址转换和报文重构。
Linux下防火墙iptables用法规则详及其防火墙配置

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。
centos6配置iptables规则

centos6配置iptables规则iptables是Linux系统中的一个防火墙工具,可以帮助我们配置网络规则,限制网络访问。
CentOS 6的iptables配置主要包括以下几个步骤:1.安装iptables;2.查看当前iptables规则;3.添加新的iptables规则;4.保存iptables规则;5.开启iptables服务。
具体流程如下:1.安装iptables在CentOS 6中,iptables是默认安装好的,您无需再进行安装。
2.查看当前iptables规则要查看当前系统中的iptables规则,可以使用以下命令:```iptables -L```这个命令会列出当前的iptables规则,包括已经添加的规则。
3.添加新的iptables规则要添加新的iptables规则,可以使用以下命令:```iptables -A INPUT -p tcp --dport端口号-j ACCEPT```其中,INPUT是规则所属的链;-p tcp是指定协议为TCP;--dport端口号是指定要开放的端口;-j ACCEPT是指定接受该规则的动作。
你可以根据需要修改这些参数。
4.保存iptables规则如果要将新的iptables规则保存下来,可以使用以下命令:```service iptables save```这个命令会将当前的iptables规则保存到/etc/sysconfig/iptables文件中,以便在下次系统启动时自动加载。
5.开启iptables服务要开启iptables服务,可以使用以下命令:```service iptables start```这个命令会启动iptables服务,并加载之前保存的规则。
以上就是在CentOS 6中配置iptables规则的基本步骤。
你可以根据自己的需求,添加不同的规则,例如限制访问某个IP地址、允许特定端口或协议等。
总结:iptables是一个非常强大的防火墙工具,能够帮助我们保护服务器的安全。
如何在Linux终端中配置和管理防火墙

如何在Linux终端中配置和管理防火墙防火墙在计算机网络安全中起着非常重要的作用。
它是用于保护计算机系统免受未经授权访问、网络威胁和恶意攻击的关键组件。
在Linux操作系统中,我们可以使用终端命令来配置和管理防火墙,本文将介绍在Linux终端中如何配置和管理防火墙。
1. 确认防火墙状态在开始配置和管理防火墙之前,我们首先需要确认防火墙的当前状态。
使用以下命令来查看:```sudo systemctl status firewalld```如果防火墙处于激活状态,继续进行下面的步骤。
如果防火墙没有安装或处于非激活状态,可以使用以下命令安装并激活防火墙:```sudo apt-get install firewalldsudo systemctl start firewalldsudo systemctl enable firewalld```2. 配置防火墙规则防火墙规则控制着允许或拒绝进入和离开计算机系统的网络流量。
我们可以根据实际需求进行配置。
以下是一些常用的防火墙配置示例:- 允许特定端口的流量通过:```sudo firewall-cmd --permanent --add-port=80/tcpsudo firewall-cmd --reload```上述命令允许TCP协议的80端口流量通过防火墙,并将配置保存。
- 允许某个IP地址的流量通过:```sudo firewall-cmd --permanent --add-source=192.168.1.100sudo firewall-cmd --reload```上述命令允许IP地址为192.168.1.100的流量通过防火墙,并将配置保存。
- 拒绝特定端口的流量通过:```sudo firewall-cmd --permanent --add-port=22/tcpsudo firewall-cmd --reload上述命令拒绝TCP协议的22端口流量通过防火墙,并将配置保存。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
linux配置防火墙详细步骤(iptables命令使用方法)通过本教程操作,请确认您能使用linux本机。
如果您使用的是ssh远程,而又不能直接操作本机,那么建议您慎重,慎重,再慎重!我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination</p> <p>Chain FORWARD (policy ACCEPT)target prot opt source destination</p> <p>Chain OUTPUT (policy ACCEPT)target prot opt source destination</p> <p>Chain RH-Firewall-1-INPUT (0 referenc es)target prot opt source destinationACCEPT all -- 0.0.0.0/0 0.0.0.0/0ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0ACCEPTah--0.0.0.0/00.0.0.0/0ACCEPTudp--0.0.0.0/0224.0.0.251udpdpt:5353ACCEPTudp--0.0.0.0/00.0.0.0/0udpdpt:631ACCEPTall--0.0.0.0/00.0.0.0/0stateRELATED,ESTABLISHEDACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:22ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:80ACCEPTtcp--0.0.0.0/00.0.0.0/0stateNEWtcpdpt:25REJECTall--0.0.0.0/00.0.0.0/0reject-withicmp-host-prohibited可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口.如果你在安装linux时没有选择启动防火墙,是这样的代码如下:[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination </p> <p>Chain FORWARD (policy ACCEPT)target prot opt source destination </p> <p>Chain OUTPUT (policy ACCEPT)target prot opt source destination什么规则都没有.(2)清除原有规则.不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在f ilter的所有规则.代码如下:[root@tp ~]# iptables -F 清除预设表filter中的所有规则链的规则[root@tp ~]# iptables -X 清除预设表filter中使用者自定链中的规则我们在来看一下[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destination </p> <p>Chain FORWARD (policy ACCEPT) target prot opt source destination </p> <p>Chain OUTPUT (policy ACCEPT)target prot opt source destination什么都没有了吧,和我们在安装linux时没有启动防火墙是一样的.(提前说一句,这些配置就像用命令配置IP一样,重起就会失去作用),怎么保存.代码如下:[root@tp ~]# /etc/rc.d/init.d/iptables save这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.代码如下:[root@tp ~]# service iptables restart现在IPTABLES配置表里什么配置都没有了,那我们开始我们的配置吧(3)设定预设规则代码如下:[root@tp ~]# iptables -P INPUT DROP[root@tp ~]# iptables -P OUTPUT ACCEPT[root@tp ~]# iptables -P FORWARD DROP上面的意思是,当超出了IPTABLES里filter表里的两个链规则(INPUT,FORWARD)时,不在这两个规则里的数据包怎么处理呢,那就是DROP(放弃).应该说这样配置是很安全的.我们要控制流入数据包而对于OUTPUT链,也就是流出的包我们不用做太多限制,而是采取ACCEPT,也就是说,不在着个规则里的包怎么办呢,那就是通过.可以看出INPUT,FORWARD两个链采用的是允许什么包通过,而OUTPUT链采用的是不允许什么包通过.这样设置还是挺合理的,当然你也可以三个链都DROP,但这样做我认为是没有必要的,而且要写的规则就会增加.但如果你只想要有限的几个规则是,如只做WEB服务器.还是推荐三个链都是DROP.注:如果你是远程SSH登陆的话,当你输入第一个命令回车的时候就应该掉了.因为你没有设置任何规则.怎么办,去本机操作呗!(4)添加规则.首先添加INPUT链,INPUT链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链为了能采用远程SSH登陆,我们要开启22端口.代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT[root@tp ~]# iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT(注:这个规则,如果你把OUTPUT 设置成DROP的就要写上这一部,好多人都是望了写这一部规则导致,始终无法SSH.在远程一下,是不是好了.其他的端口也一样,如果开启了web服务器,OUTPUT设置成DROP的话,同样也要添加一条链: 代码如下:[root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT,其他同理.如果做了WEB服务器,开启80端口.复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT如果做了邮件服务器,开启25,110端口.复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 110 -j ACCEPT[root@tp ~]# iptables -A INPUT -p tcp --dport 25 -j ACCEPT如果做了FTP服务器,开启21端口复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT[root@tp ~]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT如果做了DNS服务器,开启53端口复制代码代码如下:[root@tp ~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT如果你还做了其他的服务器,需要开启哪个端口,照写就行了.上面主要写的都是INPUT链,凡是不在上面的规则里的,都DROP允许icmp包通过,也就是允许ping,复制代码代码如下:[root@tp ~]# iptables -A OUTPUT -p icmp -j ACCEPT (OUTPUT设置成DROP的话) [root@tp ~]# iptables -A INPUT -p icmp -j ACCEPT (INPUT设置成DROP的话) 允许loopback!(不然会导致DNS无法正常关闭等问题)复制代码代码如下:IPTABLES -A INPUT -i lo -p all -j ACCEPT (如果是INPUT DROP)IPTABLES -A OUTPUT -o lo -p all -j ACCEPT(如果是OUTPUT DROP)下面写OUTPUT链,OUTPUT链默认规则是ACCEPT,所以我们就写需要DROP(放弃)的链.减少不安全的端口连接复制代码代码如下:[root@tp ~]# iptables -A OUTPUT -p tcp --sport 31337 -j DROP[root@tp ~]# iptables -A OUTPUT -p tcp --dport 31337 -j DROP有些些特洛伊木马会扫描端口31337到31340(即黑客语言中的 elite 端口)上的服务。
既然合法服务都不使用这些非标准端口来通信,阻塞这些端口能够有效地减少你的网络上可能被感染的机器和它们的远程主服务器进行独立通信的机会还有其他端口也一样,像:31335、27444、27665、20034 NetBus、9704、137-139(smb),2 049(NFS)端口也应被禁止,我在这写的也不全,有兴趣的朋友应该去查一下相关资料.当然出入更安全的考虑你也可以包OUTPUT链设置成DROP,那你添加的规则就多一些,就像上边添加允许SSH登陆一样.照着写就行了.下面写一下更加细致的规则,就是限制到某台机器如:我们只允许192.168.0.3的机器进行SSH连接复制代码代码如下:[root@tp ~]# iptables -A INPUT -s 192.168.0.3 -p tcp --dport 22 -j ACCEPT如果要允许,或限制一段IP地址可用 192.168.0.0/24 表示192.168.0.1-255端的所有IP. 24表示子网掩码数.但要记得把 /etc/sysconfig/iptables 里的这一行删了.-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT 因为它表示所有地址都可以登陆.或采用命令方式:复制代码代码如下:[root@tp ~]# iptables -D INPUT -p tcp --dport 22 -j ACCEPT然后保存,我再说一边,反是采用命令的方式,只在当时生效,如果想要重起后也起作用,那就要保存.写入到/etc/sysconfig/iptables文件里.复制代码代码如下:[root@tp ~]# /etc/rc.d/init.d/iptables save这样写 !192.168.0.3 表示除了192.168.0.3的ip地址其他的规则连接也一样这么设置.在下面就是FORWARD链,FORWARD链的默认规则是DROP,所以我们就写需要ACCETP(通过)的链,对正在转发链的监控.开启转发功能,(在做NAT时,FORWARD默认规则是DROP时,必须做)复制代码代码如下:[root@tp ~]# iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTAB LISHED -j ACCEPT[root@tp ~]# iptables -A FORWARD -i eth1 -o eh0 -j ACCEPT丢弃坏的TCP包复制代码代码如下:[root@tp ~]#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP处理IP碎片数量,防止攻击,允许每秒100个复制代码代码如下:[root@tp ~]#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT设置ICMP包过滤,允许每秒1个包,限制触发条件是10个包.复制代码代码如下:[root@tp ~]#iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT我在前面只所以允许ICMP包通过,就是因为我在这里有限制.二,配置一个NAT表放火墙1,查看本机关于NAT的设置情况复制代码代码如下:[root@tp rc.d]# iptables -t nat -LChain PREROUTING (policy ACCEPT)target prot opt source destinationChain POSTROUTING (policy ACCEPT)target prot opt source destinationSNAT all -- 192.168.0.0/24 anywhere to:211.101.46.235Chain OUTPUT (policy ACCEPT)target prot opt source destination我的NAT已经配置好了的(只是提供最简单的代理上网功能,还没有添加防火墙规则).关于怎么配置NAT,参考我的另一篇文章当然你如果还没有配置NAT的话,你也不用清除规则,因为NAT在默认情况下是什么都没有的如果你想清除,命令是复制代码代码如下:[root@tp ~]# iptables -F -t nat[root@tp ~]# iptables -X -t nat[root@tp ~]# iptables -Z -t nat2,添加规则添加基本的NAT地址转换,(关于如何配置NAT可以看我的另一篇文章),添加规则,我们只添加DROP链.因为默认链全是ACCEPT.防止外网用内网IP欺骗复制代码代码如下:[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 10.0.0.0/8 -j DROP[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -jDROP[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -jDROP如果我们想,比如阻止MSN,QQ,BT等的话,需要找到它们所用的端口或者IP,(个人认为没有太大必要)例:禁止与211.101.46.253的所有连接复制代码代码如下:[root@tp ~]# iptables -t nat -A PREROUTING -d 211.101.46.253 -j DROP禁用FTP(21)端口复制代码代码如下:[root@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -j DROP这样写范围太大了,我们可以更精确的定义.复制代码代码如下:[root@tp ~]# iptables -t nat -A PREROUTING -p tcp --dport 21 -d 211.101.46.253 -j DROP这样只禁用211.101.46.253地址的FTP连接,其他连接还可以.如web(80端口)连接.按照我写的,你只要找到QQ,MSN等其他软件的IP地址,和端口,以及基于什么协议,只要照着写就行了.最后:drop非法连接复制代码代码如下:[root@tp ~]# iptables -A INPUT -m state --state INVALID -j DROP[root@tp ~]# iptables -A OUTPUT -m state --state INVALID -j DROP[root@tp ~]# iptables-A FORWARD -m state --state INVALID -j DROP允许所有已经建立的和相关的连接复制代码代码如下:[root@tp ~]# iptables-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@tp ~]# iptables-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT [root@tp ~]# /etc/rc.d/init.d/iptables save这样就可以写到/etc/sysconfig/iptables文件里了.写入后记得把防火墙重起一下,才能起作用.复制代码代码如下:[root@tp ~]# service iptables restart别忘了保存,不行就写一部保存一次.你可以一边保存,一边做实验,看看是否达到你的要求,上面的所有规则我都试过,没有问题。