适用于中小型公司有内网服务器发布的IPTABLES脚本
Linux命令高级技巧使用iptables命令进行防火墙配置
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端口。
Linux命令高级技巧使用iptables配置防火墙规则
Linux命令高级技巧使用iptables配置防火墙规则iptables是Linux系统上一款用于配置网络防火墙的工具。
通过使用iptables,可以实现对传入和传出网络数据包的过滤和转发,以保护服务器和网络的安全。
本文将介绍一些使用iptables配置防火墙规则的高级技巧。
一、iptables概述iptables是Linux系统上的一个基于内核模块netfilter的防火墙软件。
通过对数据包进行过滤和转发,可以实现网络安全的保护。
其主要功能包括:过滤、NAT和转发。
二、iptables基本命令1. 查看当前iptables规则iptables -L2. 清除当前iptables规则iptables -F3. 允许来自指定IP的数据包通过iptables -A INPUT -s 192.168.1.100 -j ACCEPT4. 阻止来自指定IP的数据包通过iptables -A INPUT -s 192.168.1.100 -j DROP5. 允许某一特定端口的数据包通过iptables -A INPUT -p tcp --dport 80 -j ACCEPT6. 允许所有已建立的连接通过iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT7. 阻止所有其他数据包通过iptables -A INPUT -j DROP三、iptables高级技巧1. 使用iptables实现端口转发在实际应用中,经常需要将某一端口的访问请求转发到另一台服务器上。
通过iptables可以轻松实现该功能。
例如,将来自本地端口8080的访问请求转发到内网服务器192.168.1.100的80端口:iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:802. 使用iptables实现负载均衡通过使用iptables和SNAT,可以实现对多台服务器的负载均衡。
iptables 配置nat masquerade规则
iptables 配置nat masquerade规则iptables是Linux操作系统中一个重要的防火墙软件,它可以用来配置和管理网络数据包的转发和过滤规则。
其中一项常见的配置是nat masquerade规则,用于实现网络地址转换(Network Address Translation,NAT),将内部局域网的私有IP地址转换为公共IP地址,实现内网与外网的通信。
本文将逐步解释iptables配置nat masquerade 规则的步骤和原理。
第一步:了解nat masquerade的原理在深入了解iptables配置nat masquerade规则之前,我们首先需要了解nat masquerade的原理。
当内部局域网上的设备通过路由器连接到互联网时,由于内网使用的是私有IP地址,而互联网上使用的是公共IP地址,所以需要进行地址转换。
nat masquerade将内部局域网的私有IP 地址转换为路由器的公共IP地址,使得内网设备可以正常访问互联网。
第二步:确认系统中是否已安装iptables在开始配置nat masquerade规则之前,我们需要确认系统中是否已经安装了iptables。
可以通过在终端执行以下命令来检查:shelliptables -V如果系统已安装iptables,将显示出iptables的版本号和其他信息。
如果系统未安装iptables,可以通过以下命令来安装:shellsudo apt-get install iptables请根据使用的Linux发行版选择相应的命令。
第三步:创建一个新的iptables链接下来,我们需要创建一个新的iptables链来存储nat masquerade规则。
可以使用以下命令创建一个名为"MASQUERADE"的新链:shellsudo iptables -t nat -N MASQUERADE这将在iptables的nat表中创建一个新的自定义链。
iptables配置实例
iptables配置实例2009-01-06 11:53iptables 基本命令使用举例一、链的基本操作1、清除所有的规则。
1)清除预设表filter中所有规则链中的规则。
# iptables -F2)清除预设表filter中使用者自定链中的规则。
#iptables -X#iptables -Z2、设置链的默认策略。
一般有两种方法。
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 -jDROP二、设置基本的规则匹配1、指定协议匹配。
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命令高级技巧使用iptables进行端口转发和NAT
Linux命令高级技巧使用iptables进行端口转发和NAT在Linux系统中,iptables是一个非常强大的工具,用于配置和管理网络包过滤规则。
除了基本的网络包过滤功能,iptables还可以用于端口转发和网络地址转换(NAT)。
本文将介绍如何使用iptables进行端口转发和NAT,以及一些高级技巧。
1. 端口转发端口转发是一种将网络流量从一个端口转发到另一个端口的技术。
它在网络中广泛应用于代理服务器、端口映射、负载均衡等场景。
下面是使用iptables进行端口转发的示例命令:```iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.0.100:80```在上述命令中,`-t nat`表示我们要操作的是`nat`表,`-A PREROUTING`表示将规则添加到`PREROUTING`链中,`-p tcp --dport 8080`表示匹配TCP协议和目标端口号8080,`-j DNAT`表示采取目标网络地址转换,`--to-destination 192.168.0.100:80`表示将数据包转发到目标IP地址192.168.0.100的80端口。
2. 网络地址转换(NAT)网络地址转换(NAT)是一种将私有网络中的IP地址转换为公共网络中的IP地址的技术。
它广泛应用于家庭网络和企业网络中,允许多台设备共享一个公共IP地址。
下面是使用iptables进行NAT的示例命令:```iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE```在上述命令中,`-t nat`表示我们要操作的是`nat`表,`-A POSTROUTING`表示将规则添加到`POSTROUTING`链中,`-s192.168.0.0/24`表示源IP地址为192.168.0.0/24的网络,`-o eth0`表示出去的网络接口为eth0,`-j MASQUERADE`表示使用动态地址转换。
2022下半年(11月)信息安全工程师真题(案例分析)【完整版】
2022下半年(11月)信息安全工程师真题(案例分析)【完整版】试题一(20分)已知某公司网络环境结构主要由三个部分组成,分别是DMZ区、内网办公区和生产区,其拓扑结构如图1-1所示。
信息安全部的王工正在按照等级保护2.0的要求对部分业务系统开展安全配置。
图1-1【问题1】(2分)为了防止生产网受到外部的网络安全威胁,安全策略要求生产网和其他网之间部署安全隔离装置,隔离强度达到接近物理隔离。
请问图中X最有可能代表的安全设备是什么?【问题2】(2分)防火墙是网络安全区域边界保护的重要技术,防火墙防御体系结构主要有基于双宿主主机防火墙、基于代理型防火墙和基于屏蔽子网的防火墙。
图1-1拓扑图中的防火墙布局属于哪种体系结构类型?【问题3】(2分)通常网络安全需要建立四道防线,第一道是保护,阻止网络入侵,第二道是监测,及时发现入侵和破坏,第三道是响应,攻击发生时确保网络打不垮,第四道是恢复,使网络在遭受攻击时能以最快速度起死回生。
请问拓扑图1-1中防火墙1属于第几道防线?【问题4】(6分)图1-1中防火墙1和防火墙2都采用Ubuntu系统自带的iptables防火墙,其默认的过滤规则如图1-2所示Chain INPUT(policy ACCEPT)Target prot opt source destinationChain FORWARD (policy ACCEPT)Target prot opt source destinationChain OUTPUT (policy ACCEPT)Target prot opt source destination(1)请说明上述防火墙采取的是白名单还是黑名单安全策略(2)图1-2显示的是iptables 哪个表的信息,请写出表名。
(3)如果要设置iptables 防火墙默认不允许任何数据包进入,请写出相应命令【问题5】(8分)DMZ 区的网站服务器是允许互联网进行访问的,为了实现这个目标,王工需要对防火墙进行有效配置。
iptables命令详解附实例
-d:匹配目的地址,可以是 IP、NET、DOMAIN,也可以空
例如:
-d 202.106.0.20 匹配去往 202.106.0.20 的数据包
-d 202.106.0.0/16 匹配去往 202.106.0.0/16 网络的数据包
例如:
iptables -t filter -A INPUT -j DROP
在 filter 表的 INPUT 链里追加一条规则(作为最后一条规则)
匹配所有访问本机 IP 的数据包,匹配到的丢弃
-I 链名 [规则号码]
INSERT,插入一条规则
例如:
iptables -I INPUT -j DROP
注意:
当数据包没有被规则列表里的任何规则匹配到时,按此默认规则处理
-F [链名]
FLUSH,清空规则
例如:
iptables -F INPUT
清空 filter 表 INPUT 链中的所有规则
iptables -t nat -F PREROUTING
清空 nat 表 PREROUTING 链中的所有规则
注意:
1、-F 仅仅是清空链中规则,并不影响 -P 设置的默认规则
2、-P 设置了 DROP 后,使用 -F 一定要小心!!!
3、如果不写链名,默认清空某表里所有链里的所有规则
-[vxn]L
-L 列出规则
·流入、流出接口(-i、-o)
·来源、目的地址(-s、-d)
·协议类型 (-p)
·来源、目的端口(--sport、--dport)
iptables配置语句
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 端口范围规则
一、什么是 iptables 端口范围规则?iptables 是 Linux 下的一个用于配置防火墙规则的工具,它可以通过过滤、转发、和修改数据包来保护计算机。
在 iptables 中配置端口范围规则是非常常见的操作,它可以帮助我们限制特定范围的端口对外的访问权限,提高网络安全性。
二、iptables 端口范围规则的语法在 iptables 中,配置端口范围规则需要使用以下语法:iptables -A INPUT -p tcp --dport 端口范围 -j ACCEPT/DROP其中,-A 表示向规则链中添加规则,INPUT 表示数据包进入服务器时应用规则,-p tcp 表示使用 tcp 协议,--dport 表示目标端口号,-j 表示动作(ACCEPT 表示允许通过,DROP 表示丢弃)。
如果要配置 UDP 端口范围规则,只需将 -p tcp 改为 -p udp 即可。
三、如何配置 iptables 端口范围规则1. 开放指定范围的端口:如果需要开放指定范围的端口,可以使用以下命令:iptables -A INPUT -p tcp --dport 1000:2000 -j ACCEPT这个命令将允许所有来源 IP 位置区域的数据包进入服务器的端口范围为 1000 到 2000 的 TCP 端口。
2. 开放多个不连续的端口:如果需要开放多个不连续的端口,可以使用以下命令:iptables -A INPUT -p tcp -m multiport --dports 80,443,8080 -j ACCEPT这个命令将允许所有来源 IP 位置区域的数据包进入服务器的 80、443 和 8080 端口。
3. 关闭指定范围的端口:如果需要关闭指定范围的端口,可以使用以下命令:iptables -A INPUT -p tcp --dport 2000:3000 -j DROP这个命令将禁止所有来源 IP 位置区域的数据包进入服务器的端口范围为 2000 到 3000 的 TCP 端口。
iptables详解经典
∙数据包经过防火墙的路径∙禁止端口∙强制访问某站点∙发布内部网络服务器∙智能DNS∙端口映射∙通过NAT上网∙IP规则的保存与恢复∙iptables指令语法∙iptables实例数据包经过防火墙的路径图1比较完整地展示了一个数据包是如何经过防火墙的,考虑到节省空间,该图实际上包了三种情况:来自外部,以防火墙(本机)为目的地的包,在图1中自上至下走左边一条路径。
由防火墙(本机)产生的包,在图1中从“本地进程”开始,自上至下走左边一条路径来自外部,目的地是其它主机的包,在图1中自上至下走右边一条路径。
图1如果我们从上图中略去比较少用的mangle表的图示,就有图2所显示的更为清晰的路径图.图2禁止端口的实例禁止ssh端口只允许在192.168.62.1上使用ssh远程登录,从其它计算机上禁止使用ssh #iptables -A INPUT -s 192.168.62.1 -p tcp --dport 22 -j ACCEPT#iptables -A INPUT -p tcp --dport 22 -j DROP∙禁止代理端口#iptables -A INPUT -p tcp --dport 3128 -j REJECT∙禁止icmp端口除192.168.62.1外,禁止其它人ping我的主机#iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type echo-request -j ACCEPT#iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request –j ?DROP或#iptables -A INPUT -i eth0 -s 192.168.62.1/32 -p icmp -m icmp --icmp-type 8 -j ACCEPT#iptables -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP注:可以用iptables --protocol icmp --help查看ICMP类型还有没有其它办法实现?∙禁止QQ端口#iptables -D FORWARD -p udp --dport 8000 -j REJECT强制访问指定的站点图3要使192.168.52.0/24网络内的计算机(这此计算机的网关应设为192.168.52.10)强制访问指定的站点,在做为防火墙的计算机(192.168.52.10)上应添加以下规则:1. 打开ip包转发功能echo 1 > /proc/sys/net/ipv4/ip_forward2. 在NAT/防火墙计算机上的NAT表中添加目的地址转换规则:iptables -t nat -I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT--to-destination 202.96.134.130:80iptables -t nat -I PREROUTING -i eth0 -p udp --dport 80 -j DNAT--to-destination 202.96.134.130:803. 在NAT/防火墙计算机上的NAT表中添加源地址转换规则:iptables -t nat -I POSTROUTING -o eth1 -p tcp --dport 80 -s 192.168.52.0/24 -j SNAT --to-source 202.96.134.10:20000-30000iptables -t nat -I POSTROUTING -o eth1 -p udp --dport 80 -s 192.168.52.0/24 -j SNAT --to-source 202.96.134.10:20000-300004. 测试:在内部网的任一台计算机上打开浏览器,输入任一非本网络的IP,都将指向IP为202.96.134.130的网站.发布内部网络服务器图4要使因特网上的计算机访问到内部网的FTP服务器、WEB服务器,在做为防火墙的计算机上应添加以下规则:1. echo 1 > /proc/sys/net/ipv4/ip_forward2. 发布内部网web服务器iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 --dport 80 -j DNAT --to-destination 192.168.52.15:80iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.15 --sport 80 -j SNAT --to-source 202.96.134.10:20000-300003. 发布内部网ftp服务器iptables -t nat -I PREROUTING -p tcp -i eth1 -s 202.96.134.0/24 --dport21 -j DNAT --to-destination 192.168.52.14:21iptables -t nat -I POSTROUTING -p tcp -i eth0 -s 192.168.52.14 --sport 21 -j SNAT --to-source 202.96.134.10:40000-500004. 注意:内部网的计算机网关要设置为防火墙的ip(192.168.52.1)5. 测试: 用一台IP地址为202.96.134.0段的计算机虚拟因特网访问,当在其浏览器中访问http://202.96.134.10时,实际应看到的是192.168.52.15的的web 服务;当访问ftp://202.96.134.10时,实际应看到的是192.168.52.14上的的ftp服务智能DNS图51. echo 1 > /proc/sys/net/ipv4/ip_forward2. 在NAT服务器上添加以下规则:在PREROUTING链中添加目的地址转换规则:iptables -t nat -I PREROUTING -i eth0 -p tcp --dpor 53 -j DNAT--to-destination 202.96.134.130iptables -t nat -I PREROUTING -i eth0 -p udp --dpor 53 -j DNAT--to-destination 202.96.134.130在POSTROUTING链中添加源地址转换规则:iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p tcp --dpor 53 -j SNAT --to-source 202.96.134.10:40000-50000iptables -t nat -I POSTROUTING -o eth1 -s 192.168.52.0/24 -p udp --dpor 53 -j SNAT --to-source 202.96.134.10:40000-500003. 测试在内部网任一台计算机上,将DNS设置为任意的外网IP,就可以使用DNS测试工具如nslookup来解析DNS服务器202.96.134.130上的名称.端口映射见上节透明代理设置#iptables -t nat -A PREROUTING -i eth0 -p tcp -s 192.168.62.0/24 --dport 80 -j REDIRECT --to-ports 3128通过NAT上网典型NAT上网一般做为NAT的计算机同时也是局域网的网关,假定该机有两块网卡eth0、eth1,eth0连接外网,IP为202.96.134.134;eth1连接局域网,IP为192.168.62.101. 先在内核里打开ip转发功能#echo 1 > /proc/sys/net/ipv4/ip_forward2.?使局域网用户能访问internet所要做的nat#iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to?202.96.134.134如果上网的IP是动态IP,则使用以下规则:#iptables -t nat -A POSTROUTING -o eth0 -s 192.168.62.0/24 -j MASQUERADE如果是通过ADSL上网,且公网IP是动态IP,则使用以下规则:#iptables -t nat -A POSTROUTING -o ppp0 -s 192.168.62.0/24 -j MASQUERADE3. 使internet用户可以访问局域网内web主机所要做的nat#iptables -t nat -A PREROUTING -p tcp -d 202.96.134.134 --dport 80 -j DNAT --to-destination 192.168.62.10注:局域网内的客户端需将默认网关、DNS设为防火墙的IP在我们的网络机房实现NAT共享上网工作环境:上层代理192.168.60.6(4480),只授予教师机(192.168.62.111)使用该代理的权限目标:不使用squid代理上网,而是使用NAT的方式上网方法:1) 确保停止教师机(192.168.62.111)的squid或其它代理服务2) 客户端网关、DNS均指向192.168.62.111,浏览器代理设置为192.168.60.6(4480)。
ipatables命令用法
ipatables命令用法ipatables是Linux系统下常用的防火墙配置工具之一,它提供了丰富的命令和选项,用于管理和配置网络防火墙。
本文将介绍ipatables命令的用法,包括基础概念、常用命令和示例。
一、基础概念ipatables是基于iptables的防火墙配置工具,它继承了iptables的所有功能和选项。
iptables是Linux系统下的核心防火墙工具,用于配置和管理网络防火墙。
它提供了一系列的规则表,如filter、nat、mangle和raw等,用于不同的网络流量处理场景。
二、常用命令1.添加规则:使用ipatables命令可以向防火墙规则表中添加规则。
常用的添加规则命令有:ipatables-A<chainname>-<target><match/target><match/targetoptions>例如,要向INPUT链添加一条允许所有协议的访问规则,可以使用以下命令:ipatables-AINPUT-jACCEPT2.删除规则:使用ipatables命令可以从防火墙规则表中删除规则。
常用的删除规则命令有:ipatables-D<chainname><position>例如,要从INPUT链删除第一条规则,可以使用以下命令:ipatables-DINPUT13.查看规则:使用ipatables命令可以查看防火墙规则表中的规则。
常用的查看规则命令有:ipatables-L<chainname>例如,要查看INPUT链的所有规则,可以使用以下命令:ipatables-LINPUT4.保存和加载规则:使用ipatables命令可以保存和加载防火墙规则表中的规则。
常用的保存和加载规则命令有:ipatables-save><filename>:将规则保存到文件中。
ipatables-C<filename>:从文件中加载规则到防火墙中。
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 FORW ARDaction 处理动作,有ACCEPT DENY DROP REJECT SNAT DNA T一、Tables(表)选项-t用来指定用哪个表,它可以是下面的任何一个,默认的是filter表iptables有Filter, NAT, Mangle, Raw四种内建表:1. Filter表Filter是iptables的默认表,它有以下三种内建链(chains):INPUT链–处理来自外部的数据。
OUTPUT链–处理向外发送的数据。
FORWARD链–将数据转发到本机的其他网卡设备上。
2. NAT表NAT表有三种内建链:PREROUTING链–处理刚到达本机并在路由转发前的数据包。
它会转换数据包中的目标IP地址(d estination ip address),通常用于DNAT(destination NAT)。
POSTROUTING链–处理即将离开本机的数据包。
它会转换数据包中的源IP地址(source ip add ress),通常用于SNAT(source NAT)。
OUTPUT链–处理本机产生的数据包。
3. Mangle表Mangle表用于指定如何处理数据包。
它能改变TCP头中的QoS位。
Mangle表具有5个内建链(cha ins):PREROUTING 、OUTPUT、FORWARD、INPUT、POSTROUTING4. Raw表Raw表用于处理异常,它具有2个内建链:PREROUTING chainOUTPUT chain二、COMMANDS(命令)command指定iptables对我们提交的规则要做什么样的操作。
openwrt iptables参数
openwrt iptables参数开放源路由器(OpenWrt)是一款基于Linux内核的嵌入式操作系统,广泛应用于家用路由器、企业级路由器以及其他嵌入式设备。
OpenWrt具有高度可定制性,用户可以通过安装各种软件包来实现路由、安全、流量控制等功能。
在OpenWrt中,iptables是一款非常重要的防火墙工具,可以有效保护网络安全。
iptables是Linux内核中自带的一款防火墙工具,可以在网络层(IP 层)、传输层(TCP层)和应用层(UDP层)实现各种安全策略。
在OpenWrt系统中,iptables可以帮助用户实现如下功能:1.防止DDoS攻击:通过设置iptables,可以限制单个IP的流量,防止恶意流量攻击。
2.限制端口访问:可以根据需要,允许或拒绝特定端口的流量通过。
3.防火墙策略:设置允许或拒绝特定IP地址、地区、协议等访问。
4.流量监控:实时监控网络流量,提供详细统计数据。
5.安全审计:记录iptables规则的变更和执行情况,便于安全审计。
在OpenWrt中,iptables的常用参数如下:1.-t:指定表类型,如raw、mangle、nat等。
2.-A:在指定表中添加一条规则。
3.-D:从指定表中删除一条规则。
4.-I:在指定表中插入一条规则。
5.-R:替换指定表中的一条规则。
6.-L:列出指定表中的所有规则。
7.-F:清空指定表中的所有规则。
8.-Z:统计指定表中的规则数量。
以下是一个实战案例,设置OpenWrt防火墙,保护内网安全:1.首先,打开iptables配置文件:/etc/config/iptables。
2.找到以下行:```iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP```3.修改为:```iptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT```4.保存文件并重启iptables服务。
iptables详解及常用规则
iptables详解及常⽤规则iptables简介netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防⽕墙,与⼤多数的Linux软件⼀样,这个包过滤防⽕墙是免费的,它可以代替昂贵的商业防⽕墙解决⽅案,完成封包过滤、封包重定向和⽹络地址转换(NAT)等功能。
iptables基础规则(rules)其实就是⽹络管理员预定义的条件,规则⼀般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。
规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、⽬的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。
当数据包与规则匹配时,iptables就根据规则所定义的⽅法来处理这些数据包,如放⾏(accept)、拒绝(reject)和丢弃(drop)等。
配置防⽕墙的主要⼯作就是添加、修改和删除这些规则。
iptables和netfilter的关系:这是第⼀个要说的地⽅,Iptables和netfilter的关系是⼀个很容易让⼈搞不清的问题。
很多的知道iptables却不知道netfilter。
其实iptables只是Linux防⽕墙的管理⼯具⽽已,位于/sbin/iptables。
真正实现防⽕墙功能的是netfilter,它是Linux内核中实现包过滤的内部结构。
iptables传输数据包的过程①当⼀个数据包进⼊⽹卡时,它⾸先进⼊PREROUTING链,内核根据数据包⽬的IP判断是否需要转送出去。
②如果数据包就是进⼊本机的,它就会沿着图向下移动,到达INPUT链。
数据包到了INPUT链后,任何进程都会收到它。
本机上运⾏的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③如果数据包是要转发出去的,且内核允许转发,数据包就会如图所⽰向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
Linux系统防火墙配置脚本
Linux系统防火墙配置脚本# Linux系统防火墙配置脚本Linux系统防火墙是保护服务器免受未经授权访问和网络攻击的关键组件之一。
通过正确配置防火墙,可以保护服务器免受恶意攻击,提高系统的安全性。
本文将介绍如何使用脚本来配置Linux系统的防火墙,以确保服务器的安全性。
## 步骤一:安装iptables首先,我们需要安装iptables工具,它是Linux系统上管理防火墙的标准工具。
在终端中运行以下命令进行安装:```sudo apt-get install iptables```## 步骤二:创建配置文件在进行防火墙配置之前,我们将创建一个配置文件,以便在需要时进行修改和更新。
在终端中运行以下命令创建一个名为"firewall.rules"的文件:```sudo touch firewall.rules```## 步骤三:配置防火墙规则通过编辑"firewall.rules"文件,我们可以定义防火墙的规则。
以下是一个基本的防火墙配置示例:```# 允许所有对外部的连接iptables -P INPUT ACCEPTiptables -P OUTPUT ACCEPTiptables -P FORWARD ACCEPT# 允许已建立的和相关联的连接iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT# 允许SSH连接iptables -A INPUT -p tcp --dport 22 -j ACCEPT# 允许HTTP连接iptables -A INPUT -p tcp --dport 80 -j ACCEPT# 允许HTTPS连接iptables -A INPUT -p tcp --dport 443 -j ACCEPT# 其他输入连接全部拒绝iptables -A INPUT -j DROP以上配置示例中,我们允许所有对外部的连接,包括已建立的和相关联的连接。
使用Iptables限制内网访问某些网站
使用Iptables限制内网访问某些网站说明:RHEL5 Server(10.200.2.216)内核启用IP路由转发功能,默认网关指向10.200.49.254,PC-A(10.200.51.202)的默认网关指向10.200.2.216,在RHEL5 Server上通过Iptables限制内网用户访问某些网站。
Iptabels脚本如下:[root@RHEL5 iptables]# cat iptables.sh#!/bin/bash###################################iptables -t filter -Fiptables -I FORWARD -d -j DROPiptables -I FORWARD -d -j DROPiptables -P FORWARD ACCEPT/sbin/modprobe ip_conntrack_ftp/sbin/modprobe ip_nat_ftp/sbin/modprobe ip_tables/sbin/modprobe ip_conntrack/sbin/modprobe iptable_filter/sbin/modprobe iptable_mangle/sbin/modprobe iptable_nat/sbin/modprobe ipt_LOG/sbin/modprobe ipt_limit/sbin/modprobe ipt_state###################################iptables -t nat -Fecho "1" > /proc/sys/net/ipv4/ip_forward执行上述Iptables脚本之前通过tcpdump抓包情况如下:[root@RHEL5 iptables]# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination[root@RHEL5 iptables]# tcpdump host 10.200.51.202 and tcpdump: WARNING: peth0: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on peth0, link-type EN10MB (Ethernet), capture size 96 bytes11:39:33.924695 IP bogon.2499 > 61.135.150.101.http: R 1891908261:1891908261(0) win 0 11:39:39.899241 IP bogon.2499 > 61.135.150.101.http: R 1891908261:1891908261(0) win 0 11:39:33.926437 IP bogon.spock > 61.135.150.101.http: . ack 837160346 win 6553511:39:33.926455 IP bogon.spock > 61.135.150.101.http: . ack 1 win 6553511:39:33.927586 IP bogon.spock > 61.135.150.101.http: . ack 365 win 6517211:39:33.927599 IP bogon.spock > 61.135.150.101.http: . ack 365 win 6517211:39:33.928334 IP bogon.facsys-ntp > 61.135.150.101.http: . ack 827826287 win 65535 11:39:33.928347 IP bogon.facsys-ntp > 61.135.150.101.http: . ack 1 win 6553511:39:33.929230 IP bogon.jdatastore > 61.135.150.101.http: . ack 836651119 win 65535 11:39:33.929243 IP bogon.jdatastore > 61.135.150.101.http: . ack 1 win 6553511:39:33.931603 IP bogon.jdatastore > 61.135.150.101.http: . ack 363 win 6517411:39:33.931615 IP bogon.jdatastore > 61.135.150.101.http: . ack 363 win 65174执行上述Iptables脚本之后通过tcpdump抓包情况如下:[root@RHEL5 ~]# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationDROP all -- anywhere DROP all -- anywhere 61.135.150.104DROP all -- anywhere 61.135.150.101DROP all -- anywhere 61.135.150.98DROP all -- anywhere 61.135.150.93DROP all -- anywhere 61.135.150.145DROP all -- anywhere 61.135.150.126DROP all -- anywhere 61.135.150.113DROP all -- anywhere 61.135.150.108Chain OUTPUT (policy ACCEPT)target prot opt source destination[root@RHEL5 ~]# tcpdump host 10.200.51.202 and tcpdump: WARNING: peth0: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on peth0, link-type EN10MB (Ethernet), capture size 96 bytes11:50:30.810243 IP bogon.hl7 > 61.135.150.104.http: S 298939320:298939320(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:33.721198 IP bogon.hl7 > 61.135.150.104.http: S 298939320:298939320(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:39.756776 IP bogon.hl7 > 61.135.150.104.http: S 298939320:298939320(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:51.733564 IP bogon.rvs-isdn-dcp > 61.135.150.108.http: S 2663940900:2663940900(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:54.745177 IP bogon.rvs-isdn-dcp > 61.135.150.108.http: S 2663940900:2663940900(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:00.780780 IP bogon.rvs-isdn-dcp > 61.135.150.108.http: S 2663940900:2663940900(0) win65535 <mss 1360,nop,nop,sackOK>11:51:12.757521 IP bogon.mpfoncl > 61.135.150.113.http: S 2746173429:2746173429(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:15.769177 IP bogon.mpfoncl > 61.135.150.113.http: S 2746173429:2746173429(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:21.804783 IP bogon.mpfoncl > 61.135.150.113.http: S 2746173429:2746173429(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:33.782256 IP bogon.mon > 61.135.150.126.http: S 557986306:557986306(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:36.793181 IP bogon.mon > 61.135.150.126.http: S 557986306:557986306(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:42.728186 IP bogon.mon > 61.135.150.126.http: S 557986306:557986306(0) win 65535 <mss 1360,nop,nop,sackOK>注:Iptables脚本中若直接写网站域名(如:)的话,则系统要配置正确的DNS 解析(/etc/resolv.conf)。
iptables白名单规则
iptables白名单规则全文共四篇示例,供读者参考第一篇示例:iptables是一种在Linux系统上用于配置防火墙规则的工具,通过它可以实现对网络流量的控制和过滤。
在网络安全中,设置iptables 白名单规则是一种常见的策略,可以提高网络的安全性和稳定性。
本文将介绍iptables白名单规则的作用、设置方法以及一些常见的规则示例。
让我们来了解一下iptables白名单规则的作用。
白名单规则是指只允许特定的IP地址、端口或协议通过防火墙,而其他的流量则会被拒绝或丢弃。
通过设置白名单规则,可以有效地保护内部网络不受未经授权的访问或攻击。
设置iptables白名单规则的方法并不复杂。
下面是一些常见的步骤:1. 打开终端并以root权限登录,使用以下命令来查看当前的iptables规则:```bashiptables -L```3. 确保在INPUT链中允许内部访问,以防止白名单规则无法生效:```bashiptables -A INPUT -i lo -j ACCEPT```4. 添加白名单规则,例如允许IP地址为192.168.1.1的主机访问SSH服务(端口22):```bashiptables -A whitelist -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT```通过以上步骤,我们就成功地设置了一个简单的iptables白名单规则。
需要注意的是,iptables规则是有先后顺序的,因此确保白名单规则在其他规则之前生效是非常重要的。
除了设置IP地址的白名单规则,还可以根据端口号或协议来过滤流量。
以下是一个允许80端口(HTTP)和443端口(HTTPS)的访问规则示例:```bashiptables -A whitelist -p tcp --dport 80 -j ACCEPTiptables -A whitelist -p tcp --dport 443 -j ACCEPT```这些规则将允许通过HTTP和HTTPS访问服务器,而其他端口的访问将被拒绝。
(完整word版)Iptables规则
设定规则iptables -p INPUT DROPiptables -p OUTPUT ACCEPTiptables —p FORWARD DROP1、防止外网用内网IP欺骗iptables —t nat -A PREROUTING —i eth0 -s 10。
0。
0。
0/8 -j DROPiptables —t nat -A PREROUTING -i eth0 -s 172.16.0.0/12 -j DROPiptables -t nat -A PREROUTING —i eth0 -s 192.168。
0。
0/16 —j DROP 查看nat规则iptables —t nat -L2、如果想取消上面所加的规则:iptables -F -t natiptables —X —t natiptables —Z —t nat3、阻止一个IP连接本机iptables —t filter —A INPUT —s 192。
168.1。
5 -i eth0 —j DROP4、查看本机的IPTABLES的所填规则iptables —L —n5、清除filter中所有的规则连接iptables —F清除filter中使用者自定义连接中的规则iptables -X6、保存所修改的iptables规则/etc/rc.d/init。
d/iptables save重新启动iptables服务service iptables restart7、关闭不安全的端口连接本机iptables —A OUTPUT —p tcp ——sport 31337 -j DROPiptables -A OUTPUT —p tcp -—dport 31337 -j DROP8、开启所需要的端口22iptables —A INPUT -p tcp —-dport 22 -j ACCEPTiptables —A OUTPUT -p tcp --sport 22 -j ACCEPT80iptables —A OUTPUT -p tcp ——sport 80 -j ACCEPTiptables —A INPUT -p tcp -—dport 80 -j ACCEPT9、禁止一个IP或者一个IP段访问服务器端口服务80端口iptables -t filter —I INPUT 2 —s 192.168。
ip6tables 规则
ip6tables 规则ip6tables是Linux系统中用于IPv6防火墙的工具,它允许系统管理员通过定义规则来控制进出服务器的网络流量。
在本文中,我们将介绍ip6tables规则的基本概念和使用方法。
一、概述ip6tables是iptables的IPv6版本,它使用类似的语法和规则集来过滤网络流量。
它可以通过定义规则来允许或拒绝特定的IPv6数据包。
规则是按照顺序逐条匹配的,当一个数据包匹配到某一条规则后,就会根据规则的动作进行处理。
二、基本语法ip6tables的基本语法如下:```ip6tables [-t 表名] 命令 [链名] [规则参数]```其中,-t选项用于指定表名,默认为filter表;命令包括-A(添加规则)、-D(删除规则)、-I(插入规则)、-F(清空链)、-L(列出规则)、-P(设置默认策略)等;链名用于指定要操作的链,默认为INPUT、FORWARD和OUTPUT;规则参数用于指定规则的条件和动作。
三、规则匹配ip6tables的规则匹配有多个条件,包括源IP地址、目标IP地址、传输层协议、端口号等。
可以使用多个条件组合来精确匹配特定的数据包。
1. 源IP地址和目标IP地址可以使用-s选项指定源IP地址,-d选项指定目标IP地址。
例如,要允许源IP地址为2001:db8:1234::1的数据包通过,可以使用以下规则:```ip6tables -A INPUT -s 2001:db8:1234::1 -j ACCEPT```2. 传输层协议和端口号可以使用-p选项指定传输层协议,例如TCP、UDP或ICMPv6。
可以使用--dport选项指定目标端口号,例如80或443。
例如,要允许TCP协议的80端口通过,可以使用以下规则:```ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT```3. 连接状态ip6tables还可以根据连接的状态来匹配规则。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
适用于中小型公司有内网服务器发布的IPTABLES脚本
网络环境如下:
1.网通5M共享带宽线路,一个独立公网IP.
2.内部网络有邮件服务器一台,OA服务器一台,FTP服务器一台,都需要对内和对外发布.
3.局域网络内部总共有40台客户机.
本人考虑到安全性及稳定性,易用性方面的因素,决定采用Red Hat AS4 Kernel 2.6.9-22.EL + iptables 的方案来架设一台代理服务器,并能发布内网服务器并实现NAT,透明防火墙的功能,实在是企业经济选择的最佳方案.
以下是iptables脚本:
eth0: 192.168.1.1 #内网卡地址
eth1: 210.22.25.X #外网卡地址
邮件服务器:192.168.1.84
OA服务器: 192.168.1.85
FTP服务器: 192.168.1.86
在/etc/rc.d 里面 touch fw.sh
并且chmod u+x 改为可执行,然后 vi fw.sh 进入编辑,加入以下脚本.
#!/bin/sh
echo "Enable IP Forwarding..."
echo "1">/proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
#
/sbin/modprobe ip_tables
/sbin/modprobe iptable_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
#Refresh all chains
/sbin/iptables -F -t nat
/sbin/iptables -F INPUT
/sbin/iptables -F OUTPUT
/sbin/iptables -F FORWARD
/sbin/iptables -Z
#Presetup
/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP
/sbin/iptables -A INPUT -i lo -j ACCEPT
/sbin/iptables -A OUTPUT -o lo -j ACCEPT
#
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -s 0/0 -d 0/0 -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
#Public 3389 发布OA的3389端口
/sbin/iptables -t nat -A PREROUTING -d 210.22.25.38 -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.85:3389
/sbin/iptables -A FORWARD -p tcp -d 192.168.1.85 --dport 3389 -j ACCEPT
#Public WEB
/sbin/iptables -t nat -A PREROUTING -d 210.22.25.38 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.85:80
/sbin/iptables -A FORWARD -p tcp -d 192.168.1.85 --dport 80 -j ACCEPT
/sbin/iptables -t nat -I POSTROUTING -s 192.168.1.0/255.255.255.0 -p tcp -d 192.168.1.85 --dport 80 -j SNAT --to 192.168.1.1
#Public FTP
/sbin/iptables -t nat -A PREROUTING -d 210.22.25.38 -p tcp --dport 21 -j DNAT --to-destination 192.168.1.84:21
/sbin/iptables -A FORWARD -p tcp -d 192.168.1.86 --dport 21 -j ACCEPT
/sbin/iptables -t nat -I POSTROUTING -s 192.168.0.0/255.255.255.0 -p tcp -d 192.168.1.86 --dport 21 SNAT --to 192.168.1.1
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 3000:3020 -d 210.22.25.38 -j DNAT --to 192.168.1.86:3000-3020 #被动FTP PSAV端口
#Public MAIL
/sbin/iptables -t nat -A PREROUTING -d 210.22.25.38 -p tcp --dport 25 -j DNAT --to-destination 192.168.1.84:25
/sbin/iptables -A FORWARD -p tcp -d 192.168.1.84 --dport 25 -j ACCEPT
/sbin/iptables -t nat -A PREROUTING -d 210.22.25.38 -p tcp --dport 110 -j DNAT --to-destination 192.168.1.84:110
/sbin/iptables -A FORWARD -p tcp -d 192.168.1.84 --dport 110 -j ACCEPT
#deny need close port and hacker
/sbin/iptables -A INPUT -i eth1 -s 0.0.0.0/0 -p ICMP -j DROP
/sbin/iptables -A INPUT -i eth1 -s 0.0.0.0/0 -p TCP -port ! 80 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 135 -j DROP
/sbin/iptables -A INPUT -s 255.255.255.255 -i eth0 -j DROP
/sbin/iptables -A INPUT -s 224.0.0.0/224.0.0.0 -i eth0 -j DROP
/sbin/iptables -A INPUT -d 0.0.0.0 -i eth0 -j DROP
/sbin/iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT /sbin/iptables -A FORWARD -p icmp -m limit --limit 1/s --limit-burst 10 -j ACCEPT
/sbin/iptables -A INPUT -i eth1 -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
/sbin/iptables -A INPUT -i eth1 -p tcp --tcp-flags ALL ALL -j DROP
/sbin/iptables -A INPUT -i eth1 -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP /sbin/iptables -A INPUT -i eth1 -p tcp --tcp-flags ALL NONE -j DROP
/sbin/iptables -A INPUT -i eth1 -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
/sbin/iptables -N synfoold
/sbin/iptables -A synfoold -p tcp --syn -m limit --limit 1/s -j RETURN
/sbin/iptables -A synfoold -p tcp -j REJECT --reject-with tcp-reset
/sbin/iptables -A INPUT -p tcp -m state --state NEW -j synfoold
#MY COMPUTER
/sbin/iptables -I INPUT -s 192.168.1.35 -j ACCEPT
/sbin/iptables -I FORWARD -s 192.168.1.35 -j ACCEPT
/sbin/iptables -I OUTPUT -s 192.168.1.35 -j ACCEPT
#我的电脑当然全部放行拉 :D
注:该脚本我已经在公司里面运行稳定超过半年,而且效果相当令人满意,基本上是免维护了,开机就能用.OUTPUT链鉴于公司领导的要求,我全放行,没办法.由于INPUT链默认是 DROP, 只开放需要开放的端口,一般的黑客攻击是很难成功地:D。