iptables 防火墙整理及简单应用

一、什么是防火墙(Firewall)?

防火墙是一种位于内部网络(主机防火墙)与外部网络(网络防火墙)之间的网络安全防护系统,根据特定的访问规则,允许或限制数据包传输通过。主要作用是为了限制企业内部的用户对外的访问,以及互联网上的用户对企业内部的访问,在最大程度上阻止了各个环节的攻击行为(可来自企业内部,也可来自互联网)。

二、防火墙一般作用

1、数据包过滤:数据包过滤是指监控通过 的数据包的特征来决定放行或阻止该数据包。防火墙通过数据包过滤可以实现阻挡攻击,禁止外部或内部访问的某些站点,限制每个IP的流量和连接数。

2、数据包透明转发:防火墙一般架设在提供某些服务的服务器前,用户对服务器的访问请求与服务器的响应给用户的信息,都需要经过防火墙的转发,因此防火墙具备网关的能力

3、阻挡外部攻击:用户发送的信息是防火墙所不允许的,防火墙会立即将其阻断,避免其进入防火墙后面的服务器中。

4、记录攻击行为:防火墙可以根据需要把攻击行为记录下来。

三、防火墙分类

1、按网络环境分:

硬件防火墙:把软件防火墙嵌入在硬件中,一般的软件安全厂商所提供的硬件防火墙便是在硬件服务器厂商定制硬件,然后再把linux系统与自己的软件系统嵌入。价格贵,性能好,缺泛灵活性。

软件防火墙:单独使用软件系统来完成防火墙功能,将软件部署在系统主机上,其安全性较硬件防火墙差,同时占用系统资源,在一定程度上影响系统性能,但灵活性较好。

2、  按作用范围分:

主机防火墙:(内部网络)

网络防火墙:(外部网络)

四、包过滤防火墙(iptables是其中之一)

包过滤防火墙是一种查看所经过的数据包的包头,由此决定DROP(丢弃)这个数据包,还是ACCEPT(接受)这个数据包并让它通过,也可能执行其他更复杂的动作。

在Linux系统中,包过滤功能是内建于内核的,它针对每一个数据包的包头,按照包过滤规则进行判定,与规则相匹配的数据包依据路由信息继续转发,否则就丢弃。

包过滤是在IP层实现,包过滤根据数据包的源IP地址、目的IP地址、协议类型(TCP、UDP或ICMP)、源端口、目的端口、ICMP消息类型、TCP包头中的ACK位等包头信息以及数据包传输方向等信息来判断是否允许数据包通过。

包过滤也包括与服务相关的过滤,这是指基于特定的服务进行包过滤,由于大多服务监听都基于特定的TCP/UDP端口,因此为阻断所有进入特定服务的链接,防火墙只需将所有包含特定TCP/UDP目的端口的包丢弃即可。

1、 包过滤防火墙策略:

拒绝来自某主机或某网段的所有连接。

允许来自某主机或某网段的所有连接。

拒绝来自某主机或某网段的指定端口的连接。

允许来自某主机或某网段的指定端口的连接。

拒绝本地主机或本地网络与其他主机或其他网络的所有连接。

允许本地主机或本地网络与其他主机或其他网络的所有连接。

拒绝本地主机或本地网络与其他主机或其他网络的指定端口的连接。

允许本地主机或本地网络与其他主机或其他网络的指定端口的连接。

2、过滤数据包的基本过程

包过滤规则必须被包过滤设备端口存储起来。

当数据包到达端口时,对数据包包头进行语法分析。如IP、TCP、UDP包头中的字段。

包过滤规则以特殊的方式存储。数据包规则顺序必须与规则存储顺序相同。

如果一条规则阻止数据包传输或接收,则此数据包便不被允许。

如果一条规则允许数据包传输或接收,则此数据包便可以被继续处理。

如果数据包不满足任何一条规则时,则此数据包便被阻塞。

五、iptables包过滤器防火墙

iptables是一个用户态的防火墙应用软件,集成于目前大多数Linux内核中。它实际上是由netfilter和iptables两个组件组成 ,netfilter组件了称为内核空间,是内核的一部分。iptables组件是一种工具,也称用户空间,它使用插入、修改和除去信息包过滤表中的规则变得方便快捷。

1、netfilter:

在整个网络流程的若干位置放置了一些检测点(HOOK),而在每个检测点上登记了一些处理函数进行处理(如包过滤,NAT等,甚至可以是 用户自定义的功能)。

IP层的五个HOOK点的位置如下所示

[1]:INPUT:经路由查找后,送往本机的通过此检查点,INPUT包过滤在此点进行;

[2]:OUTPUT:本机进程发出的包通过此检测点,OUTPUT包过滤在此点进行。

[3]:FORWARD:要转发的包通过此检测点,FORWARD包过滤在此点进行;

[4]:PREROUTING:刚刚进入网络层的数据包通过此点(刚刚进行完版本号,校验和等检测), 目的地址转换在此点进行;

[5]:POSTROUTING:所有马上便要通过网络设备出去的包通过此检测点,内置的源地址转换功能(包括地址伪装)在此点进行;

2、iptables链:

[1]、内置链:PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING

[2]、自定义链:用于内置链的补充(没有勾子函数)----可实现灵活的规则管理机构,不能单独生效,只有在内置链调用时,关联时才生效。

3、iptables功能:

filter:过滤,防火墙;------真正的防火墙意义

nat:网络地址转换,主要用于修改源IP或目标IP,也可以改端口;-----------network address translation

mangle:拆解报文,做出修改,并重新封装起来;

raw:关闭nat表上启用的连接追踪机制;

4、功能与链的关系:

raw:PREROUTING,OUTPUT

mangle:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

nat:PREROUTING,OUTPUT,POSTROUTING

filter:INPUT,FORWARD,OUTPUT

5、报文的流向

流入本机:PREROUTING------>INPUT

由本机流出:OUTPUT--------->POSTROUTING

转发:PREROUTING--->FORWARD---->POSTROUTING

6、路由功能发生的时刻:

报文进入本机后:判断目标主机是?

报文离开本机之前:判断经由哪个接口送往下一部?

7、添加规则时的考量点:

要实现哪种功能:判断添加到那个表上

报文流经的路径:判断添加到那个链上

注:链上的规则次序,因为检查的次序;因此,隐含一定的应用规则

1)同类规则(访问同一应用),匹配范围小的放上(前)面;

2)不同类的规则(访问不同应用),匹配报文频率较大的放在上(前)面;

3)将哪些可由一条规则描述的多个规则合并起来;(减少规则的数目,有可能提高性能)

4)设置默认策略;

六、iptables的基本应用

1、查看iptables规则:  L(列出)   S(显示)

===================L==================

iptables -L:列出所有链的规则(默认filter表)

iptables -nL:以数字格式列出所有的链(Ip和端口)

iptables -vL:详细列出所有链的规则

iptables -L INPUT:列出INPUT链的规则

iptables -L OUTPUT:列出OUTPUT链的规则

iptables -L FORWARD:列出FORWARD链的规则

iptables -L INPUT #:列出INPUT 链的#号规则

===================S==========================

iptables -S:显示所有链的规则

iptables -vS:显示所有链的详细规则

iptables -S INPUT:显示INPUT链的规则

iptables -S OUTPUT:显示OUTPUT链的规则

iptables -S FORWARD:显示FORWARD链的规则

iptables -S INPUT #:显示INPUT 链的#号规则

2、清除iptables指定链和表中所有规则:

iptables -F:清除所有链的规则(默认filter表)

iptables -F INPUT:清除INPUT链的所有规则

iptables -F FORWARD:清除FORWARD链的所有规则

iptables -F OUTPUT:清除OUTPUT链的所有规则

iptables -D:清除所有链的规则(默认filter表)

iptables -D INPUT #:清除INPUT链的#号规则

iptables -D OUTPUT #:清OUTPUT链的#号规则

iptables -D FORWARD #:清除FORWARD链的#号规则

3、计数清除:

iptables -Z:清除所有链的规则计数

iptables -Z INPUT:清除INPUT链的规则计数

iptables -Z OUTPUT:清除OUTPUT链的规则计数

iptables -Z FORWARD:清除FORWARD链的规则计数

iptables -Z INPUT #:清除INPUT链的#号规则计数

iptables -Z OUTPUT #:清除OUTPUT链的#号规则计数

iptables -Z FORWARD #:清除FORWARD链的#号规则计数

4、设置链的默认策略

iptables -P :设置链的默认策略

iptables -P INPUT DROP :设置INPUT链拒绝所有

iptables -P OUTPUT DROP :设置OUTPUT链拒绝所有

iptables -P FORWARD DROP :设置FORWARD链拒绝所有

iptables -P INPUT  ACCEPT :设置INPUT链允许所有

iptables -P OUTPUT  ACCEPT :设置OUTPUT链允许所有

iptables -P FORWARD  ACCEPT :设置FORWARD链允许所有

5、插入规则

iptables -I INPUT 1   :在INPUT链中插入第1号规则

iptables -A INPUT    :在INPUT链后追加一条规则

6、替换指定链中的指定规则

iptables -R INPUT 1   :替换INPUT链中的第1号规则

iptables -R OUTPUT
1   :替换OUTPUT链中的第1号规则

iptables -R FORWARD
1   :替换FORWARD链中的第1号规则

7、用户自定义链

创建:

iptables -N NAME :创建用户自定义链NAME

更改:

iptables -E NAME NEW_NAME:更改NAME链名为NEW_NAME

删除:

iptables -X NAME :删除用户自定义链NAME

8、基本规则匹配器

指定协议:-p

tcp 、udp、icmp、all等协议!(表示非,加在协议之前)

指定icmp类型:

iptables -A INPUT -picmp --icmp-type echo-request -j ACCEPT

指定ip地址:

iptables -A INPUT -s192.168.1.2 -j ACCEPT

iptables -A INPUT -s192.168.0.0/24 -j ACCEPT

指定接口:

iptables -A INPUT -ieth0 -j ACCEPT

iptables -A FORWARD -o eth0 -j ACCEPT

指定端口号:

iptables -A INPUT -p tcp
--sport 80 -j ACCEPT

iptables -A INPUT -p tcp --sport
www -j ACCEPT

指定IP碎片:

iptables -A FORWARD -p tcp -s 192.16.0.0/24 -d
192.168.1.200 --drop 80 -j
ACCEPT    # 允许192.16.0.0/24这个网段访问192.168.1.200的80端口

iptables -A FORWARD -p tcp  -f 
-s 192.16.0.0/24 -d 192.168.1.200 -j ACCEPT

指定TCP标记:

iptables -A FORWARD -p tcp  --tcp-flags ALL NONE -j ACCEPT

iptables -A FORWARD -p tcp  --tcp-flags ALL SYN,ACK  -j ACCEPT

iptables -A FORWARD -p tcp  --tcp-flags SYN,ACK,FIN,RST SYN -j ACCEPT

9、扩展规则匹配器

limit:过滤限制速率

iptables -A INPUT -m limit --limit 1000/hour -j ACCEPT                   #  每小时数据包数量1000

iptables -A INPUT -m limit
--limit-burst 15 -j
ACCEPT                 # 匹配最大初始数据包数量(默认是5)

iptables -A INPUT -m limit
--limit  5/m --limit-burst 15 -j ACCEPT     # 匹配最大初始数据包数量15 每分钟5个

multiport:以离散方式定义多端口匹配;最多指定15个端口;

iptables -A INPUT -p tcp -m multiport --sport
22,88,21 -j ACCEPT    # 指定多个源端口;

iptables -A INPUT -p tcp -m multiport --dport
22,88,21 -j ACCEPT   # 指定多个目标端口;

iptables -A INPUT -p tcp -m multiport
--port 22,88,21 -j ACCEPT      #   指明多个端口;

iptables -A INPUT -s 172.16.0.0/16 -d 172.16.38.2 -p tcp -m multiport --dports 22,80 -j
ACCEPT

iprange:指明连续的(但一般不是整个网络)ip地址范围;

[!] --src-range from[-to]:源IP地址;

[!] --dst-range from[-to]:目标IP地址;

iptables -A INPUT -d 172.16.38.2 -p tcp --dport 80 -m iprange
--src-range 172.16.38.5-172.16.38.10 -j DROP # 拒绝172.16.38.5-172.16.38.10网络范围访问本机web端口

iptables -A OUTPUT -m iprange --dst-range
172.16.38.5-172.16.38.10 -j DROP   # 禁用本机访问172.16.38.5-172.16.38.10网络范围

string:对报文中的应用层数据做字符串模式匹配检测;

--algo {bm|kmp}:字符串匹配检测算法;

bm:Boyer-Moore

kmp:Knuth-Pratt-Morris

[!] --string pattern:要检测的字符串模式;

[!] --hex-string pattern:要检测的字符串模式,16进制格式;

iptables -A OUTPUT -s 172.16.100.67 -d 172.16.0.0/16 -p tcp
--sport 80 -m string --algo bm --string "gay" -j REJECT

iptables -A INPUT -d 172.16.38.2 -p tcp --dport 80 -m string --algo
bm --string "admin" -j ACCEPT

time:根据将报文到达的时间与指定的时间范围进行匹配;

--datestart YYYY[-MM[-DD[Thh[:mm[:ss]]]]]

--datestop YYYY[-MM[-DD[Thh[:mm[:ss]]]]]

--timestart hh:mm[:ss]

--timestop hh:mm[:ss]

[!] --monthdays day[,day...]

[!] --weekdays day[,day...]

--kerneltz:使用内核上的时区,而非默认的UTC;

iptables -A INPUT -s 172.16.0.0/16 -d 172.16.100.67 -p tcp --dport
80 -m time --timestart 14:30 --timestop 18:30 --weekdays Sat,Sun --kerneltz -j
DROP

星期一 Monday星期二 Tuesday星期三
Wednesday星期四 Thursday星期五 Friday星期六
Saturday星期日 Sunday

connlimit:根据每客户端IP做并发连接数数量匹配;

--connlimit-upto n:连接的数量小于等于n时匹配;

--connlimit-above n:连接的数量大于n时匹配;

iptables -A INPUT -d 172.16.100.67 -p tcp --dport 21 -m connlimit
--connlimit-above 2 -j REJECT

state:根据”连接追踪机制“去检查连接的状态;

conntrack机制:追踪本机上的请求和响应之间的关系;状态有如下几种:

NEW:新发出请求;连接追踪模板中不存在此连接的相关信息条目,因此,将其识别为第一次发出的请求;

ESTABLISHED:NEW状态之后,连接追踪模板中为其建立的条目失效之前期间内所进行的通信状态;

RELATED:相关联的连接;如ftp协议中的命令连接与数据连接之间的关系;

INVALID:无效的连接;

UNTRACKED:未进行追踪的连接;

七、部分应用练习


练习:INPUT和OUTPUT默认策略为DROP;

1、限制本地主机的web服务器在周一不允许访问;新请求的速率不能超过100个每秒;web服务器包含了admin字符串的页面不允许访问;web服务器仅允许响应报文离开本机;

[[email protected] ~]# iptables -A INPUT -d 172.16.38.2 -p tcp --dport 80 -m
limit --limit 100/s -m time --weekdays 1 -m string --algo bm --string
"admin" -j ACCEPT

[[email protected]
~]# iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT

2、在工作时间,即周一到周五的8:30-18:00,开放本机的ftp服务给172.16.0.0网络中的主机访问;数据下载请求的次数每分钟不得超过5个;

#   装载ftp连接追踪的专用模块

[[email protected] ~]#  modproble 
nf_conntrack_ftp

#放行命令连接

[[email protected]
~]# iptables -A INPUT -s 172.16.0.0/16 -d 172.16.38.2 -p tcp --dport 21 -m
limit --limit 5/m -m time --timestart 8:30 --timestop 18:00 --weekdays
1,2,3,4,5 -j ACCEPT

[[email protected] ~]# iptables -A OUTPUT -s 172.16.38.2 -p tcp --sport 21 -m state --state
ESTABLISHED,RELATED -j ACCEPT

#放行数据连接

[[email protected] ~]# iptables -A
INPUT -d 172.16.38.2 -p tcp -m state --state RELATED,ESTABLISHED
-j ACCEPT

[[email protected] ~]# iptables -A OUTPUT -s 172.16.38.2 -m state --state ESTABLISHED -j ACCEPT

3、开放本机的ssh服务给172.16.x.1-172.16.x.100中的主机,x为你的座位号,新请求建立的速率一分钟不得超过2个;仅允许响应报文通过其服务端口离开本机;

[[email protected]
~]# iptables -A INPUT -d 172.16.38.2 -p tcp --dport 22 -m iprange --src-range
172.16.38.1-172.16.38.100 -m limit --limit 2/m -j ACCEPT

[[email protected] ~]# iptables -A OUTPUT -s 172.16.38.2 -p tcp --sport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT

4、拒绝TCP标志位全部为1及全部为0的报文访问本机;

[[email protected]www ~]# iptables -A INPUT -d 172.16.38.2 -p tcp --tcp-flags ALL ALL -j DROP

5、允许本机ping别的主机;但不开放别的主机ping本机;

[[email protected]
~]# iptables -A INPUT -d 172.16.38.2 -p icmp --icmp-type 8 -j DROP

[[email protected]
~]# iptables -A OUTPUT -s 172.16.38.2 -p icmp --icmp-type 8 -j ACCEPT

6、开放本机web服务器给非192.168.0.0/24网络中的主机访问

[[email protected] ~]# iptables
-A INPUT 3 -s 192.168.0.0/24
-d 172.16.38.2 -p tcp --dport 80 -j DROP

7、禁止本机被非172.16.0.0/16网络中的主机进行ping请求;

[[email protected] ~]#  iptables -A INPUT ! -s 172.16.0.0/16  -d 172.16.38.2 -p icmp --icmp-type 8 -j DROP

补充:利用iptables的recent模块来抵御DOS攻击:
22,建立一个列表,保存有所有访问过指定的服务的客户端IP

ssh: 远程连接,

iptables -I
INPUT -p tcp --dport 22 -m connlimit --connlimit-above 3 -j DROP

iptables -I
INPUT  -p tcp --dport 22 -m state --state
NEW -m recent --set --name SSH

iptables -I
INPUT  -p tcp --dport 22 -m state --state
NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j LOG
--log-prefix "SSH Attach: "

iptables -I
INPUT  -p tcp --dport 22 -m state --state
NEW -m recent --update --seconds 300 --hitcount 3 --name SSH -j DROP

1.利用connlimit模块将单IP的并发设置为3;会误杀使用NAT上网的用户,可以根据实际情况增大该值;

2.利用recent和state模块限制单IP在300s内只能与本机建立2个新连接。被限制五分钟后即可恢复访问。

下面对最后两句做一个说明:

1.第二句是记录访问tcp
22端口的新连接,记录名称为SSH

--set
记录数据包的来源IP,如果IP已经存在将更新已经存在的条目

2.第三句是指SSH记录中的IP,300s内发起超过3次连接则拒绝此IP的连接。

--update
是指每次建立连接都更新列表;

--seconds必须与--rcheck或者--update同时使用

--hitcount必须与--rcheck或者--update同时使用

3.iptables的记录:/proc/net/xt_recent/SSH

下面防火墙规则:允许22号和80号端口进入和响应, 不允许本机通过任务端口访问外部网络

[[email protected]
~]# iptables -L -n

Chain
INPUT (policy DROP)

target     prot opt source               destination

ACCEPT     tcp 
--  0.0.0.0/0            172.16.38.2         tcp dpt:22

ACCEPT     tcp 
--  0.0.0.0/0            172.16.38.2         tcp dpt:80

Chain
OUTPUT (policy ACCEPT)

target     prot opt source               destination

ACCEPT     all 
--  172.16.38.2          0.0.0.0/0           state ESTABLISHED

DROP       all 
--  172.16.38.2          0.0.0.0/0


时间: 2024-11-25 13:17:46

iptables 防火墙整理及简单应用的相关文章

iptables防火墙规则整理

iptables防火墙规则整理 iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤.封包重定向和网络地址转换(NAT)等功能.在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全.以下对iptables的规则使用做了总结性梳理: iptables由两部分组成: 1.framework:netfilter hooks function钩子函数,实现网络过滤器的基

Linux下iptables防火墙简单配置

Linux下防火墙简单配置 作为一个网站服务器,只需要开放80端口和22端口即可.80用于web访问,22用于远程登录管理,可以把22端口改成其他的端口,这样更安全.一般来说 在创建访问规则时 都会将原有的规则清零 这是一个比较好的习惯,因为某些规则的存在会影响你建的规则. 基本语法:iptables [-t filter] [-AI INPUT,OUTPUT,FORWARD] [-io interface]         [-p tcp,udp.icmp,all] [-s ip/nerwor

【整理笔记-防火墙】实现iptables防火墙搭建

搭建防火墙,配置防火墙. - - 系统centos7 . centos7自带firewalld,由于看firewalld命令行没有接触过,所以安装iptables防火墙. 1:禁用firewalld firewall-cmd --state 查看系统自带防火墙状态. 用systemctl stop firewalld.service   禁止立即生效, systemctl disable firewalld.service  永久关闭firewalld.执行完再看一下防火墙状态, 显示为not

2-10~2-11 配置iptables防火墙增强服务 selinux简单讲解

学习一个服务的过程: 1.此服务器的概述:名字,功能,特点,端口号 2.安装 3.配置文件的位置 4.服务启动关闭脚本,查看端口 5.此服务的使用方法 6.修改配置文件,实战举例 7.排错(从下到上,从内到外) ------------------------------------- iptables概述 netfilter/iptables : IP信息包过滤系统,它实际上由两个组件netfilter 和 iptables 组成. netfilter/iptables 关系: netfilt

【linux】iptables防火墙SNAT和DNAT的简单演示

首先说明SNAT和DNAT都大致相当于网络中的NAT和PAT协议,本实验是通过用一台linxu虚拟机来模拟内网网关,并且利用linux上的iptables防火墙策略,达到地址转换和端口映射的目的. SNAT 实验结构: 真机----------------(v1)网关服务器s1(v2)--------------(v2)外网服务器s2 开2台虚拟机linux,分别模拟s1和s2. 其中,s1上另增加一块网卡,使用vmnet1与真机相连. 使用vmnet2与外网服务器的s2的vmnet2相连. I

iptables防火墙高级应用

iptables 防火墙(主机防火墙) 前言:我们在以前学习过asa防火墙,对防火墙有一定的了解,那么iptables和asa防火墙类似,作用一样,都是为了保证网络安全,系统安全,服务器的安全,和asa一样也需要建立策略,个人觉得比asa的策略要繁琐一点,但只要多做几遍,也就简单了. 一.防火墙基础 Linux防火墙主要工作在网络层,属于典型的包过滤防火墙. 1.iptables的表.链结构 Iptables采用了表和链的分层结构,每个规则表相当于内核空间的一个容器,根据规则集的不同用途划分为默

IPTables系列:如何配置Ubuntu 14.04中的IPTables防火墙

IPTables基本命令 在向大家介绍复杂防火墙规则之前,还是先上一些简单的料,让大家对IPTables最为基本的命令有一些简单了解. 首先要说明的是IPTables命令必需以root权限运行,这意味着你需要使用root身份登录或者能够有权限使用su或sudo -i取得root Shell.下面的内容中我们都使用sudo,这也是Ubuntu系统上的首选方法. 最好的起点就是先通过“-L”参数来查看下当前系统的所有IPTables规则: sudo iptables -L 我们可以看到Linux中都

linux设置iptables防火墙的详细步骤(centos防火墙设置方法)

我们 来讨论一下如何为你的CentOS 服务器来设置简单的防火墙. 这里我们以DigitalOcean的CentOS 6 VPS为基础来讨论的,同样也适用于 阿里云上其他类型的LINUX系统. (阿里云有个云盾系统,因此在你自己的VPS上不设置防火墙也是可以的) 需要说明的是: 本文只涉及最基础最常用的防火墙设置,能屏蔽一些常用的攻击,但并不能彻底保证你的服务器的安全. 系统的随时更新 以及 关闭不必要的服务 仍然是保证系统安全非常重要的步骤. 如果你需要更全面的了解iptables,阅读本文后

iptables防火墙 --Linux详解

在实际运维工作中,哪里还有单纯的服务器执行工作的,一般都是服务器提供一定的网络服务来让一些客户机进行访问.那么,这时候网络问题是不是就显得尤为重要了呢??? 既然服务器暴露在互联网上,我们是不是要防止服务器被攻击?是不是要限制访问服务器的客户端用户?是不是要设置一定的规则来管理我们的访客呢?没错,这就用到了我接下来要讲解的一项Linux运维人员不得不知的技术--iptables防火墙. 如上图所示:防火墙分为软件防火墙和硬件防火墙两种,其中,硬件防火墙是由厂商设计好的主机硬件,这台硬件防火墙内的