官网:https://www.frozentux.net/iptables-tutorial/iptables-tutorial.html

防火墙种类及说明

网络防火墙(工作在 OSI 3-4 层)

  • 技术原理:基于IP 地址、端口号、协议类型等网络层 / 传输层信息进行过滤,部分支持 “状态检测”(跟踪 TCP 连接状态)。例如,通过规则 “允许 192.168.1.0/24 网段访问 80 端口” 来控制流量。

  • 典型产品

  • 硬件:H3C、华为、Cisco(思科)的传统防火墙,如 Cisco ASA、华为 USG 系列;

  • 软件:Linux 的iptables(底层工作在 4 层,通过内核规则过滤流量)、firewalld(基于iptables封装)。

  • 防护能力:可拦截基于 IP / 端口的攻击(如端口扫描、SYN 洪水),但无法识别应用层内容,对 SQL 注入、XSS 等 Web 攻击无能为力。

七层应用防火墙(工作在 OSI 7 层)

  • 技术原理:通过 深度包检测(DPI) 解析应用层协议(如 HTTP、FTP)的内容,识别并拦截恶意行为(如 SQL 注入语句、恶意文件上传)。例如,检测 HTTP 请求中是否包含' OR 1=1等 SQL 注入特征。

  • 典型产品

  • 硬件 / 软件:深信服 AF 系列、奇安信 NGFW、阿里云 WAF(Web 应用防火墙);

  • 云服务:阿里云 “安全组 + WAF”、AWS WAF 等。

  • 防护能力:专注于应用层攻击防御,可拦截 SQL 注入、XSS、CC 攻击等,还能识别恶意文件、控制应用行为(如限制某款即时通讯软件的文件传输功能)。

两者对比

维度

网络防火墙(3-4 层)

七层应用防火墙(7 层)

工作层级

OSI 3-4 层

OSI 7 层

检测内容

IP、端口、协议、连接状态

应用层协议内容(如 HTTP 请求体、SQL 语句)

典型攻击防御

端口扫描、SYN 洪水

SQL 注入、XSS、恶意文件上传

性能

高(处理速度快)

中(深度解析内容会增加开销)

典型场景

企业网络边界隔离

Web 服务器、API 接口防护

四表五链

  • 表(table)是对功能的分类,如防火墙功能(filter 表)、共享上网和端口转发(nat 表)。

  • 链是对数据流进行处理,需使用不同的链,如数据流入(INPUT)、数据流出(OUTPUT)。

  • iptables 是 4 表 5 链。

  • 4 表:filter 表(默认)、nat 表、raw 表、mangle 表。

  • 5 链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING。

分类

名称

核心功能

包含的链

四表

filter

过滤数据包(允许 / 拒绝),防火墙核心功能

INPUT、FORWARD、OUTPUT

nat

网络地址转换(修改源 / 目标 IP / 端口)

PREROUTING、POSTROUTING、OUTPUT

mangle

修改数据包属性(TTL、标记、服务类型等),辅助其他表规则

全部五链(PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTING)

raw

处理原始数据包,跳过连接跟踪机制,提升性能

PREROUTING、OUTPUT

五链

PREROUTING

数据包进入本机后,路由决策前触发

raw、mangle、nat

INPUT

数据包目标是本机时触发

mangle、filter

FORWARD

数据包需要转发给其他主机时触发

mangle、filter

OUTPUT

本机生成的数据包发出时触发

raw、mangle、nat、filter

POSTROUTING

数据包即将离开本机时触发(最后一次路由决策后)

mangle、nat

iptables 执行过程

  1. 顺序匹配:按照规则配置的顺序从上到下、从前到后层层过滤数据包。

  2. 匹配即止:若数据包匹配到某条明确指定 “拒绝(DROP)” 或 “接收(ACCEPT)” 的规则,就不再向下匹配其他规则。

  3. 默认兜底:若未匹配到任何明确规则,会继续向下匹配,直到匹配默认规则以确定是阻止还是通过。

  4. 默认规则最后匹配:默认规则在所有规则都匹配完后才会被匹配。

安装与使用:iptables [-t 表名] 命令选项 [链名] [匹配条件] [-j 动作]

  • 表名:默认是 filter 表,可指定 nat、mangle、raw(如 -t nat)。

  • 命令选项:对规则的操作(增删改查等)。

  • 链名:如 INPUT、FORWARD、PREROUTING 等。

  • 匹配条件:指定数据包的特征(如协议、端口、IP 等)。

  • 动作:如 ACCEPT、DROP、DNAT 等。

安装

#安装:
yum -y install iptables-services
rpm -ql iptables
/etc/sysconfig/iptables         #配置文件
/etc/sysconfig/iptables-config
/usr/bin/iptables-xml
/usr/lib/systemd/system/ip6tables.service
/usr/lib/systemd/system/iptables.service   #服务配置文件(systemctl命令)
/usr/sbin/iptables   #iptables命令  
/usr/sbin/iptables-apply
/usr/sbin/iptables-restore  #恢复
/usr/sbin/iptables-save   #规则保存

#防火墙相关模块,加载到内核中(写入到开机自启动)
cat  >>/etc/rc.d/rc.local<<EOF
modprobe ip_tables
modprobe iptable_filter
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_state
EOF
赋予权限:chmod +x  /etc/rc.d/rc.local
内核转发:vim /etc/sysctl.conf
  net.ipv4.ip_forward=1
  生效:sysctl -p
启动并开机自器:systemctl enable --now iptables.service

#检查是否加载防火墙iptables 模块 
[root@m01 ~]# lsmod |egrep 'filter|nat|ipt'
nf_nat_ftp             12770  0 
nf_conntrack_ftp       18638  1 nf_nat_ftp
iptable_nat            12875  0 
nf_nat_ipv4            14115  1 iptable_nat
nf_nat                 26787  2 nf_nat_ftp,nf_nat_ipv4
nf_conntrack          133053  6 nf_nat_ftp,nf_nat,xt_state,nf_nat_ipv4,nf_conntrack_ftp,nf_conntrack_ipv4
iptable_filter         12810  0 
ip_tables              27126  2 iptable_filter,iptable_nat
libcrc32c              12644  3 xfs,nf_nat,nf_conntrack

重启后规则会丢失,规则持久化:service iptables save

使用

类别

具体项

说明 / 作用

示例命令

核心基础参数

-t 表名

指定操作的表(默认 filter表,可选 nat/mangle/raw

iptables -t nat -A PREROUTING ...

(操作 nat 表的 PREROUTING 链)

-j 动作

指定匹配规则后执行的动作(如 ACCEPT/DROP/DNAT 等)

iptables -A INPUT -p tcp -j ACCEPT

(匹配 TCP 后允许通过)

规则操作选项

-A

在链的末尾添加规则

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

(允许 SSH 入站)

-I [位置]

在链的开头(或指定位置)插入规则(默认第 1 位)

iptables -I INPUT 2 -p icmp -j DROP

(在 INPUT 链第 2 位插入拒绝 ping 规则)

-D 序号/规则

删除链中的规则(通过序号或完整规则匹配)

iptables -D INPUT 1

(删除 INPUT 链第 1 条规则);iptables -D INPUT -p icmp -j DROP

(删除指定规则)

-R 序号

替换链中指定序号的规则

iptables -R INPUT 1 -p tcp --dport 80 -j ACCEPT

(替换第 1 条规则为允许 80 端口)

-F [链名]

清空链中所有规则(不指定链名则清空当前表所有链)

iptables -F INPUT

(清空 INPUT 链);iptables -t nat -F

(清空 nat 表所有链)

-Z [链名]

清零链中规则的数据包 / 字节计数器(统计匹配次数和流量)

iptables -Z

(清零当前表所有链计数器);iptables -Z FORWARD

(仅清零 FORWARD 链)

-L [链名]

列出链中的规则(默认当前表所有链)

iptables -L

(列出 filter 表所有链规则);iptables -t mangle -L PREROUTING

(列出 mangle 表 PREROUTING 链)

-n

-L

配合,禁用域名 / 端口解析(纯数字显示 IP 和端口)

iptables -nL INPUT

(数字形式列出 INPUT 链规则)

--line-numbers

-L

配合,显示规则序号

iptables -L INPUT --line-numbers

(显示 INPUT 链规则及序号)

-N 链名

创建自定义链(需后续关联到系统链才生效)

iptables -N BLOCK_IP

(创建名为 BLOCK_IP 的自定义链)

-X [链名]

删除自定义链(需先清空链中规则,且无其他链引用它)

iptables -X BLOCK_IP

(删除自定义链 BLOCK_IP)

-P 链名 策略

设置链的默认策略(ACCEPT/DROP,仅系统链支持)

iptables -P FORWARD DROP

(FORWARD 链默认拒绝转发)

匹配条件

-p 协议

指定协议(tcp/udp/icmp/all,默认 all)

iptables -A INPUT -p udp ...

(匹配 UDP 协议)

--dport 端口

目标端口(仅 tcp/udp,支持单个端口、范围如 1000:2000

或多个如 80,443

iptables -A INPUT -p tcp --dport 80:443 -j ACCEPT

(允许 80-443 端口入站)

--sport 端口

源端口(仅 tcp/udp,格式同 --dport)

iptables -A OUTPUT -p udp --sport 53 -j ACCEPT

(允许源 53 端口出站)

-s 源IP/网段

源 IP 地址或网段(支持 !

取反,如 ! 192.168.1.0/24

表示非该网段)

iptables -A INPUT -s 10.0.0.5 -j DROP

(拒绝来自 10.0.0.5 的流量)

-d 目标IP/网段

目标 IP 地址或网段(支持 !

取反)

iptables -A OUTPUT -d 8.8.8.8 -j ACCEPT

(允许发往 8.8.8.8 的流量)

-i 接口

入站网络接口(如 eth0、lo,仅 INPUT/PREROUTING/FORWARD 链有效)

iptables -A INPUT -i lo -j ACCEPT

(允许本地回环接口流量)

-o 接口

出站网络接口(如 eth1,仅 OUTPUT/POSTROUTING/FORWARD 链有效)

iptables -A OUTPUT -o eth0 -j ACCEPT

(允许从 eth0 接口出站)

-m state --state 状态

匹配连接状态(NEW/ESTABLISHED/RELATED/INVALID)

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

(允许已建立 / 相关连接)

-m multiport --dports 端口

多目标端口匹配(仅 tcp/udp,需 -m multiport

模块)

iptables -A INPUT -p tcp -m multiport --dports 22,80,443 -j ACCEPT

(允许 22/80/443 端口)

处理动作

ACCEPT

允许数据包通过,继续后续路由 / 处理

基础放行动作

DROP

丢弃数据包,不返回任何响应(对方感知为 “超时”)

隐藏本机存在,适合防御扫描

REJECT [--reject-with 类型]

拒绝数据包并返回错误响应(如 icmp-port-unreachable)

iptables -A INPUT -p tcp --dport 3306 -j REJECT

(明确拒绝 MySQL 端口访问)

DNAT --to-destination IP:端口

目标地址转换(仅 nat 表,用于端口转发)

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.1.10:8080

SNAT --to-source IP

源地址转换(仅 nat 表,共享固定公网 IP)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 203.0.113.5

MASQUERADE

动态源地址转换(仅 nat 表,适用于公网 IP 动态变化场景,如拨号上网)

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

REDIRECT --to-ports 端口

端口重定向(仅 nat 表,将本机端口重定向到本机其他端口)

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080

RETURN

在自定义链中使用,返回到调用该链的下一条规则

iptables -A BLOCK_IP -s 10.0.0.5 -j DROP; iptables -A INPUT -j BLOCK_IP

(匹配后返回 INPUT 链继续处理)

应用:

filter 表

#查看所有规则
[root@m01 ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
DROP       icmp -- !172.16.1.0/24        0.0.0.0/0            icmptype 8
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            state NEW tcp dpt:22
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

#清空规则
iptables -F

#禁止访问22端口
iptables -t filter -I INPUT -p tcp --dport 22 -j DROP

#查看规则并加上序号
iptables -nL --line-num

#删除规则
iptables -t filter -D INPUT 1  #根据序号删除

#屏蔽某个ip
iptables -I INPUT -s 10.0.0.7 -j DROP

#禁止网段连入【拒绝10.0.0.0网段的22端口连入】
iptables -I INPUT -s 10.0.0.0/24 -p tcp --dport 22 -j DROP

#只允许指定网段【只允许172.16.1.0网段连入】
iptables -I INPUT !-s 172.16.1.0/24 -j DROP

#修改默认规则【默认拒绝所有】
iptables -t filter -P INPUT DROP 

#允许指定网段【允许172.16.1.0网段连入】
iptables -t filter -I INPUT -s 172.16.1.0/24 -j ACCEPT

#禁ping【全面限制,丢弃所有来源的ICMP数据包】
iptables -t filter -I INPUT -p icmp -j DROP

#禁ping【精确限制:只阻止外部 ping 请求,不影响其他 ICMP 功能】
 iptables -t filter -I INPUT -p icmp -icmp-type 8 -j DROP

#拒绝所有tcp连入8080端口
 iptables -I INPUT -p tcp --dport 8080 -j DROP

#禁止所有tcp连入多个端口
 iptables -I INPUT -m multiport -p tcp --dport 80,443 -j DROP

#在同一时间内允许通过的请求“n”
#场景:如果有人对你的服务器进行 “ping 洪水攻击”(短时间发大量 ping 包),
  这条规则会生效 —— 前 5 个 ping 包会被允许通过,
  之后每分钟只允许再通过 10 个,
  多余的 ping 包会被后续规则(或链的默认策略)处理(比如丢弃),
  从而避免服务器因 ping 攻击占用过多资源。
 iptables -I INPUT -p icmp -m limit --limit 10/minute --limit-burst 5 ACCEPT
 #这条命令的作用是:在 INPUT 链开头插入一条规则,限制外部对本机的 ICMP 协议(主要是 ping 请求)访问 —— 每分钟最多允许 10 个包,且突发情况下最多一次性接收 5 个包,匹配的包直接允许通过

 
iptables-save  >>/etc/sysconfig/iptables
systemctl restart iptables  #重新生效
iptables-restore  </etc/sysconfig/iptables
# 清空所有表的规则
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X  # 删除自定义链

# 设置默认策略
iptables -P INPUT DROP    # 入站默认拒绝
iptables -P FORWARD DROP  # 转发默认拒绝
iptables -P OUTPUT ACCEPT # 出站默认允许

#本机内部进程间通信依赖回环接口,必须放行:
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#确保已有连接的后续流量能正常通信(如 SSH 连接后的数据交互):
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#允许内网(指定网段)连入
iptables -A INPUT -s 172.16.1.0/24 -j ACCEPT

#仅放行内网对特定业务端口的访问(更安全)
#允许内网访问SSH
iptables -A INPUT -s 172.16.1.0/24 -p tcp --dport 22 -j ACCEPT
#允许内网访问HTTP/HTTPS
iptables -A INPUT -s 172.16.1.0/24 -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 172.16.1.0/24 -p tcp --dport 443 -j ACCEPT

保存规则(避免重启后丢失)
1.CentOS/RHEL:
service iptables save
2.Debian/Ubuntu(需安装 iptables-persistent):
apt install iptables-persistent
netfilter-persistent save

nat 表

共享上网、端口转发/端口映射

m01:防火墙、做共享上网
db02:演示机、内网,利用防火墙做网关实现共享上网

#db02配置:
将ens33网卡禁掉,修改ens34网卡网关
[root@db02 ~]# ifdown ens33
[root@db02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens34
DEVICE=ens34
ONBOOT=yes
IPADDR=172.16.1.52
PREFIX=24
GATEWAY=172.16.1.61
DNS1=223.5.5.5
DNS2=223.6.6.6
[root@db02 ~]# ifdown ens34 && ifup ens34
[root@db02 ~]# ping jd.com
卡住...

#m01配置:
iptables -t nat -A POSTROUTING -s 172.16.1.52 -j SNAT --to-source 10.0.0.61
1	指定 nat 表,配置 POSTROUTING 链	明确操作的表和链
2	-s 源ip:被共享网络的主机,172.16.1.7 单台主机或 172.16.1.0/24 网段多台主机进行共享上网	按需选择单台(-s 172.16.1.7)或网段(-s 172.16.1.0/24)
3	指定使用 SNAT 功能,进行源地址转换	确定地址转换的类型
4	通过 SNAT 功能把数据包中的源 ip 地址改为防火墙公网 ip 地址(10.0.0.61)	明确转换后的目标源 IP
如果m01公网IP不固定:iptables -t nat -A POSTROUTING -s 172.16.1.0/24 -j MASQUERADE

#此时db02:
[root@db02 ~]# ping jd.com
PING jd.com (111.13.149.108) 56(84) bytes of data.
64 bytes from 111.13.149.108 (111.13.149.108): icmp_seq=1 ttl=128 time=22.1 ms
64 bytes from 111.13.149.108 (111.13.149.108): icmp_seq=2 ttl=128 time=21.0 ms

#m01取消共享上网:
[root@m01 ~]# iptables -t nat -nL POSTROUTING --line-numbers
Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    SNAT       all  --  172.16.1.52          0.0.0.0/0            to:10.0.0.61
[root@m01 ~]# iptables -t nat -D POSTROUTING 1
[root@m01 ~]# iptables -t nat -nL POSTROUTING
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
[root@m01 ~]# 
#端口转发-----------------------------------------------------------
#m01
iptables -t nat -A PREROUTING -d 10.0.0.61 -p tcp --dport 9000 -j DNAT --to-destination 172.16.1.52:22
[root@m01 ~]# iptables -t nat -nL --line-num
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    DNAT       tcp  --  0.0.0.0/0            10.0.0.61            tcp dpt:9000 to:172.16.1.52:22

#用git连接测试
FAN@LAPTOP-DP0GUIH5 MINGW64 ~
$ ssh -p 9000 root@10.0.0.61
The authenticity of host '[10.0.0.61]:9000 ([10.0.0.61]:9000)' can't be established.
ED25519 key fingerprint is SHA256:PIY0T4bcMSXLVynQMHntpE+xbI1dxXAn/VWutoDl3S8.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:13: 10.0.0.7
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[10.0.0.61]:9000' (ED25519) to the list of known hosts.

Authorized users only. All activities may be monitored and reported.
root@10.0.0.61's password:

Authorized users only. All activities may be monitored and reported.
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Fri Nov  7 17:36:23 2025
[root@db02 ~]#

#后续删除:[root@m01 ~]# iptables -t nat -D PREROUTING 1

#IP映射-----------------------------------------------------------
#就是将端口转发的命令,去掉端口就是IP映射
#对所有协议、所有端口,将目标IP为10.0.0.61的流量转发到172.16.1.52
iptables -t nat -A PREROUTING -d 10.0.0.61 -j DNAT --to-destination 172.16.1.52
此时是单向IP映射,连接可以到达但是返回不了
#对从172.16.1.52发出的流量,将源IP改为10.0.0.61(公网IP)
iptables -t nat -A POSTROUTING -s 172.16.1.52 -j SNAT --to-source 10.0.0.61
#双向映射配置完毕,流量有去有回

#用git连接测试
[root@db02 ~]# telnet 10.0.0.61 22
Trying 10.0.0.61...
Connected to 10.0.0.61.
Escape character is '^]'.
SSH-2.0-OpenSSH_8.2

Invalid SSH identification string.
Connection closed by foreign host.
[root@db02 ~]#
#成功

iptables 企业面试题

1、详述iptales工作流程以及规则过滤顺序?

2、iptables有几个表以及每个表有几个链?

3、iptables的几个表以及每个表对应链的作用,对应企业应用场景?

4、画图讲解iptables包过滤经过不同表和链简易流程图并阐述。

5、请写出查看iptables当前所有规则的命令。

6、禁止来自10.0.0.188 ip地址访问80端口的请求

7、如何使在命令行执行的iptables规则永久生效?

8、实现把访问10.0.0.3:80的请求转到172.16.1.17:80

9、实现172.16.1.0/24段所有主机通过124.32.54.26外网IP共享上网。

10、描述tcp 3次握手及四次断开过程?

(课外参考:http://user.qzone.qq.com/49000448/blog/1426987479

11.详细描述HTTP工作原理?

12.请描述iptables的常见生产应用场景。

13、请描述下面iptables命令的作用

iptables -N syn-flood

iptables -A INPUT -i eth0 -syn -j syn-flood

iptables -A syn-flood -m limit -limit 5000/s -limit-burst 200 -j RETURN

iptables -A syn-flood -j DROP

14、企业WEB应用较大并发场景如何优化iptables?

15、写一个防火墙配置脚本,只允许远程主机访问本机的80端口(参考来源:奇虎360面试题http://user.qzone.qq.com/49000448/blog/1429755081

16、请描述如何配置一个linux上网网关?

17、请描述如何配置一个专业的安全的WEB服务器主机防火墙?

18、企业实战题6:请用至少两种方法实现!

写一个脚本解决DOS攻击生产案例

提示:根据web日志或者或者网络连接数,监控当某个IP并发连接数或者短时内PV达到100,即调用防火墙命令封掉对应的IP,监控频率每隔3分钟。防火墙命令为:iptables -A INPUT -s 10.0.1.10 -j DROP。

19、/var/log/messages日志出现kernel: nf_conntrack: table full, dropping packet.请问是什么原因导致的?如何解决?

一、选择题

  1. rule permit ip source 210.78.1.1 0.0.255.255 destination202.38.5.2 0.0.0.0 的含义是()

  • A. 允许主机210.78.1.1访问主机202.38.5.2

  • B. 允许210.78.0.0的网络访问202.38.0.0的网络

  • C. 允许主机202.38.5.2访问网络210.78.0.0

  • D. 允许210.78.0.0的网络访问主机202.38.5.2

  1. 在防火墙上允许tcp和udp端口21、23、25访问内网,下列那张协议包可以进来 (多选)

  • A. SMTP

  • B. STP

  • C. FTP

  • D. Telnet

  • E. HTTP

  • F. POP3

  1. 以下不属于防火墙能够实现的功能是( ).

  • A.网络地址转换

  • B.差错控制

  • C.数据包过滤

  • D.数据转发

  1. 1.1.1.4 哪个不属于iptables的表

  • A. filter

  • B. nat

  • C. mangle

  • D. INPUT

  1. 1.1.1.5 以下对防火墙的描述正确的是:()

  • A. 完全阻隔了网络

  • B. 能在物理层隔绝网络

  • C. 仅允许合法的通讯

  • D. 无法阻隔黑客的侵入

二、填空题

  1. 防火墙是设置在被保护网络和外部网络之间的一道屏障,以防止破坏性侵入()

  2. 1.1.2.2 在CentOS7下,我想关闭掉防火墙,应该用命令_______来关闭掉。如果以后开机都不想它启动起来,执行___________命令

  3. 1.1.2.3 在CentOS7配置ip转发需要在__________里加入__________执行___命令后生效

三、简答题

  1. 防火墙策略,开放服务器 80 端口,禁止来自 10.0.0.188 的地址访问服务器 80 端口的请求

  2. 防火墙策略,实现把访问 10.0.0.3:80 的请求转到 172.16.1.17:8080 上

  3. 防火墙策略配置说明。阐述 10.10.10.1 访问 192.168.1.1 所有端口策略需要的配置过程

  4. iptables 知识考察,根据要求写出防火墙规则

  5. 屏蔽 192.168.1.5 访问本机 dns 服务端口

  6. 允许 10.1.1.0/24 访问本机的 udp 8888 9999 端口

  7. iptables 禁止 10.10.10.1 访问本地 80 端口

  8. 如何利用 iptables 屏蔽某个 IP 对 80 端口的访问

  9. 写出 iptables 四表五链,按照优先级排序

  10. 如何通过 iptables 将本地 80 端口的请求转发到 8080 端口,当前主机 IP 为 192.168.2.1

  11. 写一条命令,只允许 80 端口,其他端口都拒绝,eth1 网卡 ip 为 192.168.1.12

  12. 限制连接到 192.168.100.100:8080 后端服务最大 1000

  13. 简述防火墙的基本功能和特点

  14. 内网环境中,A(10.0.0.1)机与 B(10.0.0.2)机互通,在 A 机建立安全策略禁止 B 机访问 A 机 SSH 服务(22 端口)的方法及操作

  15. service iptables stop 与 iptables -F 有何区别

  16. Iptables 封禁 eth0 网卡与 192.168.1.1 通讯的所有数据包

  17. Iptables 禁止所有到本机(eth0:10.10.10.200)22 端口的 TCP 访问

  18. 禁止 192.168.500.2 访问本机 ssh 端口;解释规则:/sbin/iptables -t nat -A PREROUTING -d 192.168.20.99/32 -p udp -m udp --dport 99 -j DNAT --to-destination 192.168.20.11

  19. 主机内网 IP:10.4.82.200,公网 IP:118.186.111.121,使 10.4.82.0/24 网段以该主机为跳板机出网的配置方法

  20. 配置跳板机主机的某个内核参数,并使其生效

  21. 配置跳板机的 iptables 防火墙规则

  22. 把 10.10.0.0 网段流出的数据的原地址修改为 66.66.66.66

  23. 本机有 eth0 和 eth1 网卡,仅允许从 eth0 访问本机 80 端口,允许 eth1 所有访问的 iptables 规则