2018Linux防火墙iptables配置详解

合集下载

Linux命令高级技巧使用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配置防火墙规则

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命令在Linux中配置和管理防火墙规则

使用iptables命令在Linux中配置和管理防火墙规则

使用iptables命令在Linux中配置和管理防火墙规则防火墙是计算机网络安全的重要组成部分,用于保护计算机免受恶意攻击和未经授权的访问。

在Linux系统中,可以使用iptables命令进行防火墙的配置和管理。

本文将介绍如何使用iptables命令来配置和管理防火墙规则。

一、iptables概述iptables是Linux系统中的一个用于配置和管理防火墙规则的命令行工具。

它可以通过定义规则集来限制、修改和重定向进出系统的网络数据流量。

二、iptables命令基本用法1. 查看当前的iptables规则使用以下命令可以查看当前系统上的iptables规则:```bashiptables -L```该命令将显示当前系统上的所有iptables规则,包括过滤规则、NAT规则和Mangle规则。

2. 清除所有的iptables规则使用以下命令可以清除当前系统上的所有iptables规则:```bashiptables -F```该命令会将所有的iptables规则删除,恢复到默认的配置。

3. 添加一条iptables规则使用以下命令可以添加一条iptables规则:```bashiptables -A [chain] -p [protocol] [--dport] [port] -j [target]```其中,[chain]是要添加规则的链的名称,常见的链包括INPUT、OUTPUT和FORWARD;[protocol]是要过滤的协议,如TCP、UDP或ICMP;[--dport]和[port]用于指定要过滤的端口;[target]是规则的动作,如ACCEPT、DROP或REJECT。

4. 删除一条iptables规则使用以下命令可以删除一条iptables规则:```bashiptables -D [chain] [rule number]```其中,[chain]是要删除规则的链的名称,[rule number]是要删除的规则的序号。

Linux命令高级技巧使用iptables命令进行网络防火墙配置

Linux命令高级技巧使用iptables命令进行网络防火墙配置

Linux命令高级技巧使用iptables命令进行网络防火墙配置随着互联网的迅速发展和大规模应用,网络安全问题也变得愈发重要。

作为保障网络安全的重要手段,网络防火墙在服务器配置中占据了重要的位置。

Linux系统中,我们可以使用iptables命令进行网络防火墙的配置和管理。

一、什么是iptables命令iptables是Linux系统中用于配置和管理网络防火墙的命令行工具。

它的作用是根据预设的规则集来过滤、转发和修改数据包。

通过iptables命令的灵活配置,我们可以实现各种复杂的网络安全策略。

二、iptables命令的基本结构和用法iptables命令的基本结构如下:```shelliptables [-t 表名] 命令 [链名] [规则参数]```其中,-t 表名用于指定具体的表,有filter、nat和mangle三种表,filter表用于数据包过滤,nat表用于网络地址转换,mangle表用于数据包修改。

命令可以为-A(追加规则)、-D(删除规则)、-I(插入规则)、-R(替换规则)等。

链名指定了规则要应用到的具体链,常见的链有INPUT、OUTPUT和FORWARD。

规则参数为具体的规则内容,如源地址、目标地址、端口等。

下面以实际例子来介绍iptables命令的使用。

1. 添加规则要添加一条规则,可以使用-A选项,并指定表名、链名和规则参数。

```shelliptables -t filter -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT```以上命令表示在filter表的INPUT链上添加一条规则,允许来自192.168.1.0/24网段的TCP协议的22端口的数据包通过。

2. 删除规则要删除一条规则,可以使用-D选项,并指定表名、链名和规则参数。

```shelliptables -t filter -D INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT```以上命令表示在filter表的INPUT链上删除一条规则,该规则与添加规则的例子相同。

Linux下的网络防火墙配置方法

Linux下的网络防火墙配置方法

Linux下的网络防火墙配置方法Linux操作系统提供了各种网络防火墙配置方法,以保护计算机系统和网络安全。

本文将介绍几种常用的Linux下的网络防火墙配置方法,帮助您增强系统安全性。

一、iptables防火墙配置方法iptables是Linux系统下最常用的防火墙配置工具。

通过iptables,您可以定义和控制数据包的流动。

下面是一些常用的iptables命令:1. 启用iptables防火墙:```sudo iptables -F```2. 开放特定端口:```sudo iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT```3. 封锁特定IP地址:```sudo iptables -A INPUT -s IP地址 -j DROP```二、ufw防火墙配置方法ufw是Linux系统下的一种简化防火墙配置的工具。

它基于iptables,在易用性方面进行了改进。

下面是一些常用的ufw命令:1. 启用ufw防火墙:```sudo ufw enable```2. 开放特定端口:```sudo ufw allow 端口号```3. 封锁特定IP地址:```sudo ufw deny from IP地址```三、firewalld防火墙配置方法firewalld是CentOS 7及以上版本中默认的防火墙配置工具,可以方便地管理网络规则。

下面是一些常用的firewalld命令:1. 启用firewalld防火墙:```sudo systemctl start firewalld```2. 开放特定端口:```sudo firewall-cmd --add-port=端口号/tcp --permanentsudo firewall-cmd --reload```3. 封锁特定IP地址:```sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="IP地址" reject'sudo firewall-cmd --reload```除了以上列出的配置方法,还有其他更高级的方法可以根据需要进行配置。

Linux命令高级技巧使用iptables命令配置防火墙

Linux命令高级技巧使用iptables命令配置防火墙

Linux命令高级技巧使用iptables命令配置防火墙Linux命令高级技巧:使用iptables命令配置防火墙防火墙是保护计算机网络安全的重要工具。

在Linux系统中,iptables是一款强大的防火墙管理工具,可以通过配置规则,限制网络访问和数据传输,提高系统的安全性。

本文将介绍如何使用iptables命令进行高级配置和技巧应用。

一、iptables命令简介iptables是Linux系统中的一个工具集,用于配置ipv4数据包的过滤,转发和网络地址转换(NAT)。

通过iptables命令,可以设置规则来控制数据包的流动,实现防火墙的功能。

iptables命令的主要参数包括:- A: 添加规则- D: 删除规则- I: 插入规则- L: 列出规则- F: 清空规则- P: 设置默认策略- S: 保存规则- R: 替换规则- N: 新建自定义链二、iptables配置基础1. 清空规则链在配置iptables之前,可以使用以下命令清空所有规则链,以确保开始时处于一个干净的状态:```shelliptables -Fiptables -Xiptables -Ziptables -t nat -F```2. 设置默认策略默认情况下,iptables会根据规则链上的规则来对数据包进行过滤,如果没有匹配到任何规则,则会根据默认策略来处理。

可以使用以下命令设置默认策略:```shelliptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT ACCEPT```3. 添加规则可以使用以下命令添加规则到指定的规则链,例如,添加允许SSH 访问的规则:```shelliptables -A INPUT -p tcp --dport 22 -j ACCEPT```4. 保存规则配置完iptables后,可以使用以下命令将规则保存到文件中,以便重启后自动加载:```shelliptables-save > /etc/iptables/rules.v4```三、高级配置和技巧1. 自定义链iptables支持用户自定义链,可以将一组规则封装到一个新链中,提高规则的可读性和管理性。

Linux命令高级技巧使用iptables命令配置和管理防火墙规则

Linux命令高级技巧使用iptables命令配置和管理防火墙规则

Linux命令高级技巧使用iptables命令配置和管理防火墙规则Linux系统中有许多命令可以使用,其中iptables命令是用于配置和管理防火墙规则的重要工具。

本文将介绍一些使用iptables命令的高级技巧,帮助读者更好地理解和使用这个命令。

一、iptables命令简介iptables是一个用于IPv4包过滤和控制Linux内核防火墙服务的用户空间工具。

它可以进行网络地址转换(NAT)、数据包过滤、端口重定向等操作,是保护计算机系统免受恶意攻击的重要工具。

二、iptables命令基本语法iptables命令的基本语法如下所示:iptables [选项] [链] [规则规格]其中,选项是可选的,用于指定不同的功能;链用于指定规则要应用的链,例如INPUT、FORWARD、OUTPUT等;规则规格用于指定具体的防火墙规则。

三、iptables命令常用选项1. -A:追加一条规则到某个链的末尾2. -I:向某个链中的指定位置插入一条规则3. -D:从某个链中删除一条规则4. -P:设置某个链的默认策略5. -L:列出某个链中的所有规则6. -F:清除某个链中的所有规则四、iptables命令高级技巧1. 配置端口转发使用iptables命令可以轻松实现端口转发,将外部请求转发到内部服务器。

例如,要将外部的SSH请求转发到内部服务器的SSH端口,可以使用如下命令:iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination 内部服务器IP地址:22这样,外部用户连接到本机的22端口时,请求将被转发至内部服务器的22端口。

2. 过滤IP地址通过iptables命令,可以方便地过滤特定的IP地址或IP地址段。

例如,要拒绝来自某个IP地址的所有请求,可以使用如下命令:iptables -A INPUT -s 某个IP地址 -j DROP这样,来自该IP地址的请求将被直接拒绝。

Linux软件防火墙iptables基础语法与iptables扩展选项详细说明

Linux软件防火墙iptables基础语法与iptables扩展选项详细说明

Linux 软件防火墙iptables 基础语法与iptables 扩展选项详细说明filter 表(默认表):最常用的表,用于过滤数据包的进出,其中又包含了3个规则链:INPUT :负责过滤进入主机的数据包OUTPUT :负责过滤主机发出的数据包FORWARD :负责转发该主机的数据包到其他目标地址nat 表(网络地址转换):多用于内外网地址转换,包含了3个链:PREROUTING :实现DNAT 功能,改变数据包的目的地址,多用于局域网接收公网数据时将目标的地址转换为局域网的一个地址POSTROUTING :实现SNAT 功能,改变数据包的源地址,多用于局域网向公网发送数据时将地址转换为公网地址OUTPUT :同filtermangle 表与raw 表很少使用,这里略过iptables 语法规则:首先看一条命令,这条命令是给INPUT 链增加一条规则,当访问目标为tcp 协议的80端口则允许(其中的-t 选项可不加,因为默认就是filter 表):查看源码打印?1 [root@iZ25aj1q2ovZ ~]# iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPTiptables 常用选项(注意大小写):-A |-D |-I [CHAINS]:给指定的链增加或者删除或者插入一个规则查看源码打印?1 iptables -A INPUT -p tcp --dport 80 -j DROP #先定义一条规则用于测试2 iptables -L --line-numbers #加上--line-numbers 参数可以显示规则的编号,可以看到之前设置的编号为13 Chain INPUT (policy ACCEPT)4 num target prot opt source destination5 1 DROP tcp -- anywhere anywhere tcp dpt:http67 iptables -D INPUT 1 #删除编号为1的规则-L :显示所有链下的所有规则,默认是filter 表,可以用-t 选项指定其他表。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2018-Linux防火墙iptables配置详解一、开始配置我们来配置一个filter表的防火墙.(1)查看本机关于IPTABLES的设置情况[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destinationChain RH-Firewall-1-INPUT (0 references)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/0ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:25 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited 可以看出我在安装linux时,选择了有防火墙,并且开放了22,80,25端口.如果你在安装linux时没有选择启动防火墙,是这样的[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination什么规则都没有.(2)清除原有规则.不管你在安装linux时是否启动了防火墙,如果你想配置属于自己的防火墙,那就清除现在filter的所有规则.[root@tp ~]# iptables -F清除预设表filter中的所有规则链的规则[root@tp ~]# iptables -X清除预设表filter中使用者自定链中的规则我们在来看一下[root@tp ~]# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain 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 20 -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),2049(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,ESTABLISHED -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 -j DROP[root@tp sysconfig]# iptables -t nat -A PREROUTING -i eth0 -s 192.168.0.0/16 -j DROP如果我们想,比如阻止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允许所有已经建立的和相关的连接(必须配置否则httpd无法连接)[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。

相关文档
最新文档