Linux防火墙攻略
- 格式:pdf
- 大小:1.86 MB
- 文档页数:78
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,可以实现对多台服务器的负载均衡。
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 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防火墙是保护系统安全的重要组成部分,可以通过命令行来配置和管理。
本文将介绍一些常用的Linux防火墙命令,帮助读者更好地掌握防火墙的使用。
1. 查看防火墙状态要查看当前系统的防火墙状态,可以使用以下命令:```sudo ufw status```该命令将显示防火墙的状态,包括是否启用以及开放的端口等信息。
2. 启用/禁用防火墙可以使用如下命令来启用或禁用防火墙:```sudo ufw enablesudo ufw disable```启用防火墙后,它将开始保护系统并根据配置规则来过滤网络流量。
禁用防火墙将停止过滤网络流量。
3. 添加规则要添加防火墙规则,可以使用`allow`或`deny`命令。
`allow`命令用于允许特定的端口或IP地址的流量通过,`deny`命令则用于阻止特定的端口或IP地址的流量。
例如,要允许SSH流量通过防火墙,可以使用以下命令:```sudo ufw allow ssh```要禁止来自特定IP地址的HTTP流量,可以使用以下命令:```sudo ufw deny from 192.168.1.100 to any port 80```在上述命令中,`192.168.1.100`表示要禁止的IP地址,`80`表示要禁止的端口。
4. 删除规则如果需要删除已添加的防火墙规则,可以使用`delete`命令。
例如,要删除已添加的SSH允许规则,可以使用以下命令:```sudo ufw delete allow ssh```5. 修改规则要修改已存在的防火墙规则,可以使用`modify`命令。
例如,要修改已存在的HTTP允许规则,可以使用以下命令:```sudo ufw modify allow http```6. 设置默认规则默认规则指定了当没有匹配的规则时要采取的操作。
可以使用`default`命令来设置默认规则。
例如,要将默认规则设置为拒绝所有流量,可以使用以下命令:```sudo ufw default deny```7. 查看已添加的规则要查看已添加的防火墙规则,可以使用`status`命令。
如何在Linux终端中配置防火墙防火墙是一种用于保护计算机网络安全的重要工具。
在Linux操作系统中,配置防火墙可以有效地控制网络通信,并对不信任的网络连接或潜在的安全威胁进行阻止。
本文将介绍如何在Linux终端中配置防火墙。
一、了解防火墙的基本概念在配置防火墙之前,首先需要了解防火墙的基本概念。
防火墙通过监控进出网络的数据流,根据预先设定的规则来允许或拒绝特定的网络流量。
常见的防火墙软件有iptables和firewalld等。
二、使用iptables配置防火墙iptables是Linux操作系统中常用的防火墙软件,可通过命令行进行配置。
下面是一些常用的iptables命令:1. 查看当前防火墙规则:```sudo iptables -L```2. 清除当前防火墙规则:```sudo iptables -F3. 允许特定端口的网络连接,例如允许SSH连接:```sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT```4. 禁止特定端口的网络连接,例如禁止FTP连接:```sudo iptables -A INPUT -p tcp --dport 21 -j DROP```5. 保存防火墙规则:```sudo iptables-save > /etc/iptables/rules.v4```三、使用firewalld配置防火墙firewalld是一种新一代的防火墙管理工具,相对于iptables更加灵活和易用。
下面是一些常用的firewalld命令:1. 启动firewalld服务:```sudo systemctl start firewalld2. 查看当前防火墙状态:```sudo firewall-cmd --state```3. 开放特定端口的网络连接,例如开放HTTP连接:```sudo firewall-cmd --add-service=http --permanentsudo firewall-cmd --reload```4. 关闭特定端口的网络连接,例如关闭SMTP连接:```sudo firewall-cmd --remove-service=smtp --permanent sudo firewall-cmd --reload```5. 查看防火墙规则:```sudo firewall-cmd --list-all```四、配置防火墙规则配置防火墙规则时,需要根据实际需求和网络环境进行设置。
linux常⽤命令(五)防⽕墙设置作⽤:保护服务器安全设置防⽕墙规则开放80,22端⼝关闭防⽕墙防⽕墙的基本命令:安装:yum install firewalld启动:service firewalld start检查状态:service firewalld status关闭或禁⽤防⽕墙:service firewalld stop/disable⾸先,我们可以使⽤命令 yum list | grep firewall 来确认是否已经安装了防⽕墙,如果没有的话,就要使⽤ yum install firewalld来进⾏安装。
下⾯进⾏以下防⽕墙有关的简单命令;查看防⽕墙的进程: ps -ef | grep firewall查看防⽕墙的状态: service firewalld status重启防⽕墙: service firewalld restart关闭防⽕墙: service firewalld stop启动防⽕墙: service firewalld start防⽕墙安装好以后,会默认有个firewall-cmd 的命令firewall-cmd --help 帮助了解下这个命令firewall-cmd --version 版本firewall-cmd --state 状态firewall-cmd --get-zones 得到所有的区firewall-cmd --get-default-zone 得到默认的区,基本都是publicfirewall-cmd --list-all-zone 列出所有区域的配置情况firewall-cmd --list-ports 列出所有的端⼝(默认区域的所有端⼝,⼀般都是public)我们链接服务器⼀般都是利⽤ssh来进⾏链接的,加⼊我我把这个服务给去掉,⼜是怎样呢?(这⾥都是默认区public)firewall-cmd --query-service=ssh 查询ssh服务是否存在firewall-cmd --remove-service=ssh 删掉ssh服务,然后进⾏链接,是连接是被拒绝的firewall-cmd --add-service-ssh 添加ssh服务,然后进⾏连接,⼜成功了firewall-cmd --list-services 可以查询到所有的服务虽然删除掉服务可以使连接服务器被拒绝,但是我们还可以进⾏端⼝设置连接(默认区public):firewall-cmd --remove-service=ssh 先删掉ssh服务firewall-cmd --query-port=22/tcp 查询端⼝为22tcp协议是否存在,不存在,则添加firewall-cmd --add-port=22/tcp 添加端⼝为22tcp协议,现在进⾏连接也是可以的(端⼝和服务是冲突的,两个都可以实现连接)firewall-cmd --list-ports 查看所有的端⼝firewall-cmd --remove-port=22/tcp 删除端⼝。
如何在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端口流量通过防火墙,并将配置保存。
linux系统防火墙常用命令Linux系统防火墙常用命令Linux系统中的防火墙是网络安全的重要组成部分,它能够保护计算机免受来自网络的攻击和恶意访问。
为了管理和配置防火墙,我们需要掌握一些常用的命令。
本文将介绍一些常用的Linux防火墙命令,并详细解释它们的用法和作用。
1. iptables命令iptables是Linux系统中最常用的防火墙管理命令。
它可以用于配置防火墙规则、过滤网络数据包和网络地址转换等操作。
下面是一些常用的iptables命令:- iptables -L:列出当前防火墙规则;- iptables -F:清空当前防火墙规则;- iptables -A INPUT -p tcp --dport 22 -j ACCEPT:允许来自任意IP地址的TCP协议、目标端口为22的数据包通过防火墙;- iptables -A INPUT -s 192.168.0.0/24 -j DROP:禁止来自IP 地址段为192.168.0.0/24的数据包通过防火墙。
2. ufw命令ufw是Uncomplicated Firewall的简称,它是基于iptables的防火墙管理工具,提供了更简单的命令和配置方式。
下面是一些常用的ufw命令:- ufw status:显示当前防火墙的状态和规则;- ufw enable:启用防火墙;- ufw disable:禁用防火墙;- ufw allow 22:允许TCP协议、目标端口为22的数据包通过防火墙;- ufw deny from 192.168.0.0/24 to any port 80:禁止来自IP 地址段为192.168.0.0/24、目标端口为80的数据包通过防火墙。
3. firewalld命令firewalld是CentOS 7及以上版本中默认的防火墙管理工具,它支持动态更新防火墙规则,并提供了更灵活的配置选项。
下面是一些常用的firewalld命令:- firewall-cmd --state:显示当前防火墙的状态;- firewall-cmd --get-active-zones:显示当前活动的防火墙区域; - firewall-cmd --zone=public --add-service=http:将http 服务添加到public区域;- firewall-cmd --zone=public --remove-service=http:从public区域移除http服务;- firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" reject':拒绝来自IP地址段为192.168.0.0/24的IPv4数据包。
Linux内核中有一个功能强大的联网子系统netfilter。
netfilter子系统提供了有状态的或无状态的分组过滤,还提供了NAT和IP伪装服务。
netfilter还具备为高级选路和连接状态管理而变形(mangle)IP头信息的能力。
netfilter是通过IPTables工具来控制的。
IPTables总览netfilter的强大功能和灵活性是通过IPTables界面来实现的。
这个命令行工具和它的前身IPChains的语法很相似;不过,IPTables使用netfilter子系统来增进网络连接、检验、和处理方面的能力;IPChains使用错综复杂的规则集合来过滤源地和目的地路线以及两者的连接端口。
IPTables只在一个命令行界面中就包括了更先进的记录方式;选路前和选路后的行动;网络地址转换;以及端口转发。
7.2.使用IPTables使用IPTables的第一步是启动IPTables服务。
这可以使用以下命令进行:service iptables start警告你应该使用以下命令关闭IP6Tables服务才能使用IPTables服务:service ip6tables stopchkconfig ip6tables off要使IPTables在系统引导时默认启动,你必须使用chkconfig来改变服务的运行级别状态。
chkconfig--level345iptables onIPTables的语法被分成几个层次。
主要层次为“链”(chain)。
“链”指定处理分组的状态。
其用法为:iptables-A chain-j target-A在现存的规则集合内后补一条规则。
chain是规则所在“链”的名称。
IPTables中有三个内建的链(即影响每一个在网络中经过的分组的链):INPUT、OUTPUT、和FORWARD。
这些链是永久性的,不能被删除。
重要在创建IPTables规则集合时,记住规则的顺序是至关重要的。
例如:如果某个链指定了来自本地子网192.168.100.0/24的任何分组都应放弃,然后一个允许来自192.168.100.13(在前面要放弃分组的子网范围内)的分组的链被补在这个规则后面(-A),那么这个后补的规则就会被忽略。
你必须首先设置允许192.168.100.13的规则,然后再设置放弃规则。
要在现存规则链的任意处插入一条规则,使用-I,随后是你想插入规则的链的名称,然后是你想放置规则的位置号码(1,2,3,...,n)。
例如:iptables-I INPUT1-i lo-p all-j ACCEPT这条规则被插入为INPUT链的第一条规则,它允许本地环回设备上的交通。
7.2.1.基本防火墙策略在一开始就建立的某些基本策略为建构更详细的用户定义的规则奠定了基础。
IPTables 使用策略(policy,-P)来创建默认规则。
对安全敏感的管理员通常想采取放弃所有分组、只逐一允许指定分组的策略。
以下规则阻塞网络上所有的出入分组。
iptables-P INPUT DROPiptables-P OUTPUT DROP此外,还推荐你拒绝所有转发分组(forwarded packets)—要从防火墙被选路发送到它的目标节点的网络交通—以便限制内部客户对互联网的无心暴露。
要达到这个目的,使用以下规则:iptables-P FORWARD DROP注记在处理添加的规则时,REJECT(拒绝)目标和DROP(放弃)目标这两种行动有所不同。
REJECT会拒绝目标分组的进入,并给企图连接服务的用户返回一个connection refused 的错误消息。
DROP会放弃分组,而对telnet用户不发出任何警告;不过,为了避免导致用户由于迷惑不解而不停试图连接的情况的发生,推荐你使用REJECT目标。
设置了策略链后,为你的特定网络和安全需要创建新规则。
以下各节概述了一些你在建构IPTables防火墙时可能要实现的规则。
7.2.2.保存和恢复IPTables规则防火墙规则只在计算机处于开启状态时才有效。
如果系统被重新引导,这些规则就会自动被清除并重设。
要保存规则以便今后载入,请使用以下命令:/sbin/service iptables save保存在/etc/sysconfig/iptables文件中的规则会在服务启动或重新启动时(包括机器被重新引导时)被应用。
常用iptables过滤把远程攻击者拒之“LAN”外是网络保安的一个重要方面。
LAN的完好性应该通过使用严格的防火墙规则来抵御蓄意不良的远程用户而被保护。
但是,如果默认策略被设置为阻塞所有进入、输出、和转发的分组,防火墙/网关和内部LAN用户之间的通信就无法进行。
要允许用户执行和网络相关的功能以及使用联网应用程序,管理员必须打开某些端口进行通信。
例如:要允许到防火墙上的端口80的通信,添加以下规则:iptables-A INPUT-p tcp-m tcp--sport80-j ACCEPTiptables-A OUTPUT-p tcp-m tcp--dport80-j ACCEPT这会允许用户浏览通过端口80通信的网站。
要允许到安全网站(如https:///)的访问,你还必须打开端口443。
iptables-A INPUT-p tcp-m tcp--sport443-j ACCEPTiptables-A OUTPUT-p tcp-m tcp--dport443-j ACCEPT有时候,你可能会需要从LAN之外远程地进入LAN。
SSH和CIPE之类的安全服务可以用于到LAN服务的加密远程连接。
对于拥有基于PPP资源(如调制解调器池或批量ISP帐号)的管理员来说,拨号进入可以被用来安全地避开防火墙,因为调制解调器连接是直接连接,通常位于防火墙/网关之后。
然而,对于有宽带连接的远程用户来说,你就需要制定些特殊规定。
你可以配置IPTables接受来自远程SSH和CIPE客户的连接。
例如,要允许远程SSH访问,你可以使用以下规则:iptables-A INPUT-p tcp--dport22-j ACCEPTiptables-A OUTPUT-p udp--sport22-j ACCEPT来自外部的CIPE连接请求可以使用以下命令来接受(把x替换成你的设备号码):iptables-A INPUT-p udp-i cipcbx-j ACCEPT7.4.FORWARD和NAT规则多数机构从它们的ISP处得到数量有限的可公开选路的IP地址。
鉴于这种限额,管理员必须创建性地积极寻求分享互联网服务的方法,而又不必把稀有的IP地址分配给LAN上的每一台机器。
使用专用IP地址是允许LAN上的所有机器正确使用内部和外部网络服务的常用方法。
边缘路由器(如防火墙)可以接收来自互联网的进入交通,并把这些分组选路发送它们意图发送的LAN节点上;同时,防火墙/网关还可以把来自LAN节点的输出请求选路发送到远程互联网服务中。
这种转发网络交通行为有时会很危险,特别是随着能够假冒内部IP地址、使远程攻击者的机器成为你的LAN上的一个节点的现代攻击工具的出现。
为防止此类事件的发生,iptables提供了选路发送和转发策略,你可以实施它们来防止对网络资源的变相利用。
FORWARD策略允许管理员控制分组可以被选路发送到LAN内的哪些地方。
例如:要允许整个LAN的转发(假定防火墙/网关在eth1上有一个内部IP地址),你可以设置以下规则:iptables-A FORWARD-i eth1-j ACCEPTiptables-A FORWARD-o eth1-j ACCEPT注记按照默认设置,红帽企业Linux内核中的IPv4策略禁用了对IP转发的支持,这会防止运行红帽企业Linux的机器成为专用边缘路由器。
要启用IP转发,请运行以下命令:sysctl-w net.ipv4.ip_forward=1如果该命令是通过shell提示运行的,那么其设置在重新引导后就不会被保存。
你可以通过编辑/etc/sysctl.conf文件来永久性地设置转发。
寻找并编辑以下行,把0改成1:net.ipv4.ip_forward=0执行以下命令来启用sysctl.conf文件中的改变:sysctl-p/etc/sysctl.conf这会允许LAN节点彼此通信;不过,它们没有被允许和外界(如互联网)通信。
要允许带有专用IP地址的LAN节点和外部的公共网络通信,配置防火墙的IP伪装(IP masquerading),这会把来自LAN节点的请求都伪装成防火墙的外部设备(在这个例子中是eth0)的IP地址。
iptables-t nat-A POSTROUTING-o eth0-j MASQUERADE7.5.DMZ和iptables你还可以设置一些把交通选路发送到某些机器(如专用HTTP或FTP服务器)的规则,这些机器最好是位于停火区域(de-militarized zone,DMZ)的和内部网络分开的机器。
要设置一条把所有进入的HTTP请求都选路发送到IP地址为10.0.4.2、端口为80(LAN 192.168.1.0/24范围之外)的专用HTTP服务器的规则,网络地址转换(NAT)会调用PREROUTING表来把这些分组转发到恰当的目的地:iptables-t nat-A PREROUTING-i eth0-p tcp--dport80-j DNAT\--to-destination10.0.4.2:80使用这项命令,所有来自LAN以外的到端口80的HTTP连接都会被选路发送到和内部网络分离的另一个网络上的HTTP服务器上。
这种网络分段会比允许到内部网络中的机器上的HTTP连接更安全。
如果HTTP服务器被配置接受安全连接,那么端口443也必须被转发。
病毒和假冒IP地址你可以更精心设计一些规则来控制到LAN内指定子网的访问,甚至到指定机器的访问。
你还可以限制某些类似特洛伊木马、蠕虫、以及其它客户/服务器病毒的可疑服务联系它们的服务器。
例如:有些特洛伊木马会扫描端口31337到31340(即黑客语言中的elite端口)上的服务。
既然合法服务都不使用这些非标准端口来通信,阻塞这些端口能够有效地减少你的网络上可能被感染的机器和它们的远程主服务器进行独立通信的机会。
iptables-A OUTPUT-o eth0-p tcp--dport31337--sport31337-j DROPiptables-A FORWARD-o eth0-p tcp--dport31337--sport31337-j DROP你还可以阻塞试图假冒你所在LAN的专用IP地址混入的连接。
例如:如果你的LAN使用192.168.1.0/24范围,面向互联网的网络设备(如eth0)上就可以设置一条规则来放弃到那个设备的使用你所在LAN的IP范围的分组。