【LinuxShell】linux防火墙之SNAT策略和DNAT策略

news2025/4/5 5:16:07

文章目录

  • 前言
  • 一、SANT策略
    • 1.SNAT策略概述
    • 2.SNAT的典型应用环境
    • 3.SNAT的工作原理
    • 4.SNAT策略的应用
      • SNAT转换前提条件
      • SNAT策略打开方式
      • SNAT实验过程
    • 5.知识扩展
  • 二、DNAT策略
    • 1.DNAT策略概述
    • 2.DNAT的典型应用环境
    • 3.DNAT的工作原理
    • 4.DNAT策略的应用
      • DNAT转换前提条件
      • DNAT地址转换方式
      • DNAT实验过程
    • 5.知识扩展
  • 三、tcpdump抓包
    • 1.命令格式
    • 2.抓包过程
  • 四、防火墙规则的备份和还原
    • 1.防火墙规则的备份
    • 2.防火墙规则的还原


前言

  通过之前的学习,我们认识了防火墙的表、链结构,并学会了简单的编写防火墙的规则。Linux 防火墙在很多的时候承担着连接企业内、外网的重任,除了提供数据包过滤以外,还提供一些基本的网关应用。下面我们将了解防火墙中的SNAT 和DNAT策略。

一、SANT策略

1.SNAT策略概述

  SNAT(Source Network Address Translation,源地址转换)是Linux防火墙的一种地址转换操作,也是iptables命令中的一种数据包控制类型,其作用是根据特定的条件修改数据包的源IP地址。

2.SNAT的典型应用环境

  局域网主机共享单个公网IP地址接入Internet(私有IP不能在Internet中正常路由)。

3.SNAT的工作原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n58haqtf-1684736139017)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230520141734202.png)]

  客户端往网关服务器发数据包,网关服务器将从客户端发送过来数据包的源IP地址由私网IP地址转换成公网IP地址进行转发,发送至需要访问的服务器。访问后,数据包返回往网关服务器,源IP地址会作为目的IP地址,目的IP地址会作为源IP地址进行传送,然后网关服务器会把从服务器返回来的数据包的目的IP地址由公网IP地址转换成私网IP地址进行返回到客户端。

  注:SNAT的转换流程是从私网到公网,源IP地址改变,目标IP地址不变。

4.SNAT策略的应用

SNAT转换前提条件

  局域网各主机已正确设置IP地址、子网掩码、默认网关地址。

  Linux网关开启IP路由转发。

SNAT策略打开方式

临时打开

方式1:echo 1 > /proc/sys/net/ipv4/ip_forward

方式2:sysctl -w net.ipv4.ip_forward=1

永久打开

[root@localhost ~]# vim /etc/sysctl.conf
###将此行写入配置文件
net.ipv4.ip_forward = 1 		
###读取修改后的配置
[root@localhost ~]# sysctl -p 			

SNAT实验过程

  客户端(192.168.145.15)想要进入网关服务器的ens32端口(192.168.145.50),通过网关服务器SNAT进行IP地址转换,从ens33端口(12.0.0.50)发送给Web服务器(12.0.0.200)

在这里插入图片描述

客户端设置(Centos 7-1)

ip地址相关设置

###配置ip地址和网关
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
ADDR=192.168.145.15
NETMASK=255.255.255.0
GATEWAY=192.168.145.50
[root@localhost ~]# systemctl restart network
[root@localhost ~]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.145.15  netmask 255.255.255.0  broadcast 192.168.145.255
        inet6 fe80::fd54:3fb4:558d:82fb  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:33:c5:93  txqueuelen 1000  (Ethernet)
        RX packets 506452  bytes 704984469 (672.3 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 192066  bytes 12499794 (11.9 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

设置防火墙以及规则

###关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
###清除所有规则
[root@localhost ~]# iptables -F && iptables -t nat -F

网关服务器设置(Centos 7-2)

网关服务器需要设置两个网卡,所以在虚拟机上需要添加一个网络适配器,设置完重启后生效。

在这里插入图片描述

ip地址相关设置

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
###修改ens33ip地址
[root@localhost network-scripts]# vim ifcfg-ens33 
IPADDR=192.168.145.50
###复制ens33配置文件为ens36配置文件
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# ls
ifcfg-ens33  ifdown-post      ifup-eth     ifup-sit
ifcfg-ens36  ifdown-ppp       ifup-ib      ifup-Team
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-TeamPort
ifdown       ifdown-sit       ifup-ipv6    ifup-tunnel
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-wireless
ifdown-eth   ifdown-TeamPort  ifup-plip    init.ipv6-global
ifdown-ib    ifdown-tunnel    ifup-plusb   network-functions
ifdown-ippp  ifup             ifup-post    network-functions-ipv6
ifdown-ipv6  ifup-aliases     ifup-ppp
ifdown-isdn  ifup-bnep        ifup-routes
[root@localhost network-scripts]# vim ifcfg-ens36
###修改连接名称,可以没有
NAME=ens36
###网卡设备名称,必须要有
DEVICE=ens36
###删除UID标识,让系统自动分配
#UUID=b7f32ab4-a3b6-4b32-be62-812cb1a30c17
###修改ip地址
IPADDR=12.0.0.50
###重启网卡服务
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.145.50  netmask 255.255.255.0  broadcast 192.168.145.255
        inet6 fe80::c8e2:a658:18d3:92cd  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:20:88:32  txqueuelen 1000  (Ethernet)
        RX packets 383  bytes 52823 (51.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 210  bytes 24147 (23.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.50  netmask 255.0.0.0  broadcast 12.255.255.255
        inet6 fe80::e7d:fb55:adfc:c796  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:20:88:3c  txqueuelen 1000  (Ethernet)
        RX packets 352  bytes 36564 (35.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 115  bytes 13564 (13.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

设置防火墙以及规则

###关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
###将光盘挂载
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
###安装iptables防火墙相关服务
[root@localhost ~]# yum install -y iptables*
###启动iptables防火墙
[root@localhost ~]# systemctl start iptables.service
[root@localhost ~]# systemctl enable iptables.service 
Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service.
[root@localhost ~]# systemctl stop iptables.services
Failed to stop iptables.services.service: Unit iptables.services.service not loaded.
###清除所有规则
[root@localhost ~]# iptables -F && iptables -t nat -F
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination  
###设置客户端只允许192.168.145.0网段主机通过的规则
[root@localhost ~]# iptables -t filter -A FORWARD  -s 192.168.145.0/24 -j ACCEPT 
[root@localhost ~]# iptables -nL
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  192.168.145.0/24     0.0.0.0/0           

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

设置SNAT策略

###设置永久打开SNAT策略
[root@localhost ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
###设置路由转发功能
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
###设置192.168.145.0网段的主机通过ens36网卡接口转换成12.0.0.50的IP地址
[root@localhost ~]# iptables -t nat -A POSTROUTING  -s 192.168.145.0/24 -o ens36 -j SNAT --to 12.0.0.50    
[root@localhost ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.145.0/24     0.0.0.0/0            to:12.0.0.50

Web服务器设置(Centos 7-3)

ip地址相关设置

####配置ip地址和网关
[root@localhost html]# vi /etc/sysconfig/network-scripts/ifcfg-ens32
IPADDR=12.0.0.200
NETMASK=255.255.255.0
GATEWAY=12.0.0.50
###重启网络服务
[root@localhost html]# systemctl restart network
[root@localhost html]# ifconfig
ens32: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.200  netmask 255.255.255.0  broadcast 12.0.0.255
        inet6 fe80::f7ca:c46d:5b2c:93a6  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:fd:72:ff  txqueuelen 1000  (Ethernet)
        RX packets 25672  bytes 34762940 (33.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 11097  bytes 795061 (776.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

设置防火墙以及相关服务

###关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
###清除所有规则
[root@localhost ~]# iptables -F && iptables -t nat -F
###安装httpd服务
[root@localhost ~]# yum install -y httpd
###写数据在html中,为后面方便查看是否传输成功做判断
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# ls
[root@localhost html]# echo "this is test web" > test.html
[root@localhost html]# cat test.html 
this is test web
###启动httpd服务
[root@localhost html]# systemctl start httpd

测试实验结果

客户端访问服务端

在这里插入图片描述

服务端查看http日志

[root@localhost html]# cd /etc/httpd/logs/
[root@localhost logs]# ls
access_log  error_log
###通过日志查看后面访问的源地址就是公网地址
[root@localhost logs]# grep 'test.html' access_log 
192.168.145.45 - - [20/May/2023:15:48:56 +0800] "GET /test.html HTTP/1.1" 200 17 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
192.168.145.45 - - [20/May/2023:15:50:51 +0800] "GET /test.html HTTP/1.1" 200 17 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
192.168.145.45 - - [20/May/2023:15:51:16 +0800] "GET /test.html HTTP/1.1" 304 - "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
192.168.145.15 - - [20/May/2023:22:22:55 +0800] "GET /test.html HTTP/1.1" 200 17 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
12.0.0.50 - - [20/May/2023:22:29:27 +0800] "GET /test.html HTTP/1.1" 200 17 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"
12.0.0.50 - - [20/May/2023:22:30:40 +0800] "GET /test.html HTTP/1.1" 200 17 "-" "Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0"

5.知识扩展

一个IP地址做SNAT转换,一般可以让内网 100到200 台主机实现上网。

二、DNAT策略

1.DNAT策略概述

  DNAT 的全称为Destination Network Address Translation,意思是目的地址转换,常用于防火墙中。

  目的地址转换的作用是将一组本地内部的地址映射到一组全球地址。通常来说,合法地址的数量比起本地内部的地址数量来要少得多。RFC1918中的地址保留可以用地址重叠的方式来达到。当一个内部主机第一次放出的数据包通过防火墙时,动态NAT的实现方式与静态NAT相同,然后这次NAT就以表的形式保留在防火墙中。

2.DNAT的典型应用环境

  在Internet中发布位于局域网内的服务器。

3.DNAT的工作原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zo9ubA0n-1684736139020)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230520225359582.png)]

  外网的客户端往网关服务器发数据包,网关服务器将从客户端发送过来数据包由公网的IP地址和端口转换成私网的IP地址和端口进行转发,然后网关服务器在将私网IP地址发送给需要访问的内网服务器。访问后,内网服务器发送数据包给网关服务器,网关服务器会将应答响应的数据包的源地址由私网的IP地址和端口转换成公网的IP地址和端口。

  注:DNAT的转换流程是从公网到私网,源IP地址不变,目标IP地址改变。

4.DNAT策略的应用

DNAT转换前提条件

  局域网的服务器能够访问Internet

  网关的外网地址有正确的DNS解析记录

  Linux网关开启IP路由转发

DNAT地址转换方式

DNAT转换1:发布内网的Web服务

#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.80.10
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.80.10
或
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 80 -j DNAT --to-destination 192.168.80.10
                             入站 外网网卡  外网IP											   内网服务器IP
 
iptables -t nat -A PREROUTING -i ens33 -p tcp --dport 80 -j DNAT --to 192.168.80.10-192.168.80.20
	
	

DNAT转换2:发布时修改目标端口

		
#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.80.10:22

DNAT实验过程

  注意:使用DNAT时,同时还有配合SNAT使用,才能实现响应数据包的正确返回。

在这里插入图片描述

内网服务器设置(Centos 7-1)

IP地址设置

[root@localhost ~]# cd /etc/sysconfig/nework-scripts/
[root@localhost network-scripts]# vim ifcfg-ens32
IPADDR=192.168.145.15
NETMASK=255.255.255.0
GATEWAY=192.168.145.50
###重启网卡
[root@localhost network-scripts]# systemctl restart network

防火墙设置以及服务设置

###关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# mount /dev/sr0 /mnt
mount: /dev/sr0 写保护,将以只读方式挂载
###安装httpd服务
[root@localhost ~]# yum install -y httpd
###启动httpd服务
[root@localhost ~]# systemctl start httpd
###写数据在html中,为后面方便查看是否传输成功做判断
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# echo 'hello world' > test.html

网关服务器设置(Centos 7-2)

网关服务器需要设置两个网卡,所以在虚拟机上需要添加一个网络适配器,设置完重启后生效。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zshGmrfI-1684736139021)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230520232010910.png)]

IP地址设置

###设置ens33接口
[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens33 
IPADDR=192.168.145.50
NETMASK=255.255.255.0
###复制ens33配置文件为ens36配置文件
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36
[root@localhost network-scripts]# vim ifcfg-ens36
###修改连接名称,可以没有
NAME=ens36
###网卡设备名称,必须要有
DEVICE=ens36
###删除UID标识,让系统自动分配
#UUID=b7f32ab4-a3b6-4b32-be62-812cb1a30c17
###修改ip地址
IPADDR=12.0.0.50
NETMASK=255.255.255.0
###重启网卡
[root@localhost network-scripts]# systemctl restart network
[root@localhost network-scripts]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.145.50  netmask 255.255.255.0  broadcast 192.168.145.255
        inet6 fe80::c8e2:a658:18d3:92cd  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:20:88:32  txqueuelen 1000  (Ethernet)
        RX packets 286  bytes 37887 (36.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 291  bytes 32263 (31.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 12.0.0.50  netmask 255.255.255.0  broadcast 12.0.0.255
        inet6 fe80::20c:29ff:fe20:883c  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:20:88:3c  txqueuelen 1000  (Ethernet)
        RX packets 133  bytes 10306 (10.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 100  bytes 13875 (13.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

防火墙设置以及规则

###关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
###清楚所有规则
[root@localhost ~]# iptables -F && iptables -t nat -F

DNA策略设置

###设置永久打开SNAT策略
[root@localhost ~]# vim /etc/sysctl.conf 
net.ipv4.ip_forward = 1
###加载SNAT策略
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
#添加DNAT策略,修改入站的目的地址  
[root@localhost ~]# iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.30 -p tcp --dport 8080 -j DNAT --to 192.168.145.15:80       
[root@localhost ~]# iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            12.0.0.30            tcp dpt:8080 to:192.168.145.20:80

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination   

设置SNAT策略

#添加SNAT策略,修改出站的源地址
[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.145.0/24 -o ens33 -j SNAT --to 12.0.0.50     
[root@localhost ~]#  iptables -nL -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            12.0.0.50           tcp dpt:8080 to:192.168.145.20:80

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.145.0/24      0.0.0.0/0            to:12.0.0.30

设置端口映射

#将192.168.145.15:22的IP地址和端口号映射为12.0.0.50:2345
[root@localhost ~]# iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.50 -p tcp --dport 2345 -j DNAT --to 192.168.145.15:22  
[root@localhost ~]#  iptables -t nat -nL
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DNAT       tcp  --  0.0.0.0/0            12.0.0.50            tcp dpt:8080 to:192.168.80.20:80
DNAT       tcp  --  0.0.0.0/0            12.0.0.50            tcp dpt:2345 to:192.168.145.15:22

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
SNAT       all  --  192.168.80.0/24      0.0.0.0/0            to:12.0.0.30

外网客户端设置(Centos 7-3)

IP地址设置

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim ifcfg-ens32 
IPADDR=12.0.0.200
NETMASK=255.255.255.0
GATEWAY=192.168.145.50
[root@localhost network-scripts]# systemctl  restart network

防火墙设置

###关闭防火墙
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled

测试实验结果

客户端访问服务端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DCHyOFrl-1684736139021)(C:\Users\86138\AppData\Roaming\Typora\typora-user-images\image-20230522135726326.png)]

5.知识扩展

  主机型防火墙 主要使用 INPUT、OUTPUT 链,设置规则时一般要详细的指定到端口

  网络型防火墙 主要使用 FORWARD 链,设置规则时很少去指定到端口,一般指定到IP地址或者到网段即可。

三、tcpdump抓包

  根据系统类型不同,可以分为windows系统的抓包和linux系统的抓包两种方式。在windows系统可以通过wireshark软件进行抓包;linux系统可以通过tcpdump命令进行抓包。

1.命令格式

tcpdump tcp -i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

各个字段的含义:

  tcp :ip iocmp arp rarp和 tcp、udp、icmp这些协议选项等都要放到第一个参数的位置,用来过滤数据包的类型。

  -i ens33 :只抓经过接口lens33的包。

  -t :不显示时间戳。

  -s 0 :抓取数据包时默认抓取长度为68字节。加上此选项可以抓到完整的数据包。

  -c 100 :只抓取100个数据包

   dst port ! 22 :不抓取目标端口是22的数据包

  src net 192.168.1.0/24 :数据包的源网络地址为192.168.1.0/24。

  -w ./target.cap :保存成cap文件,方便用ethereal (即wireshark)分析。

2.抓包过程

客户端进行访问服务器
在这里插入图片描述

与此同时服务器进行tcpdump抓包

[root@localhost ~]# tcpdump -i ens32 -s 0 net 12.0.0.0/24 -w /opt/ens32.cap
tcpdump: listening on ens32, link-type EN10MB (Ethernet), capture size 262144 bytes
^C140 packets captured
140 packets received by filter
0 packets dropped by kernel
###将抓取的包拖到windows系统下
[root@localhost opt]# sz ens32.cap 

最后通过wireshark软件进行查看

四、防火墙规则的备份和还原

1.防火墙规则的备份

###导出(备份)所有表的规则
iptables-save > /opt/ipt.txt

2.防火墙规则的还原

###导入(还原)规则
iptables-restore < /opt/ipt.txt 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/555106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux管道通信原理

管道&#xff0c;通常指无名管道&#xff0c;是 UNIX 系统IPC&#xff08;InterProcess Communication)最古老的形式。 1、特点: 1.它是半双工的(即数据只能在一个方向上流动) &#xff0c;具有固定的读端和写端 2.它只能用于具有亲缘关系的进程之间的通信(也是子进程或者兄弟进…

python 读写 json,csv,txt,docx,xlsx,xls文件大全

目录 前言一、读写json1.1 读1.2 写1.2.1 list类型写入1.2.2 dict类型写入 二、读写csv2.1 读2.2 写2.2.1 list类型写入2.2.2 dict类型写入 三、读写txt3.1 读3.2 写按行写入&#xff08;手动添加换行符\n&#xff09;按行写入&#xff08;python添加换行符\n&#xff09;3.2.1…

Linux:Firewalld防火墙

Linux&#xff1a;Firewalld防火墙 一、Firewanlld防火墙概述二、Firewalld和Iptables的关系三、Firewalld网络区域3.1 Firewalld 区域的概念&#xff1a;3.2 firewalld防火墙预定义了9个区域3.3 firewalld数据处理流程 四、Firewalld防火墙的配置方法五、Firewalld-config图形…

RHCSA 8考题超级详细解析(2022最新版)本人已过

文章目录 1.配置IP地址2、配置软件仓库3、调试SELinux4、创建用户账户5. 配置cron计划任务6、创建共享目录7、配置NTP时间客户端8. auto自动挂载9、配置文件权限10、配置用户账户11、查找文件12、查找字符串13、 创建归档14、配置sudo提权15、设置密码默认策略16、配置umask值1…

海格里斯HEGERLS库架合一|仓储托盘四向穿梭车在冷库冷链行业中的应用

当前的物流行业正在从劳动密集型向技术密集型转变&#xff0c;物流系统越来越明显的向呈现出自动化、数字化、柔性化、智能化的发展趋势。以堆垛机为代表的自动化仓储系统&#xff0c;取货对场地要求比较高&#xff0c;多建在12M以上的新仓库。而对于不规则的、层高较低的老仓库…

【python资料】热图和Matplotlib.imshow()函数

一、说明 Matplotlib是一个强大的Python数据可视化库&#xff0c;可以绘制各种类型的图形&#xff0c;其中包括热图。热图通常用于表现数据的分布和趋势。本文用一个简单的例子&#xff0c;告诉大家用Matplotlib绘制热图的基本操作语句。 二、热图的概念 2.1 基本概念 热图&am…

7EBG-10-C-B-107EBG-20-B-B-10比例先导溢流阀放大板

7EBG-10-B-B-10、7EBG-20-C-B-10、7EBG-30-H-B-10、7EBG-10-C-B-10、7EBG-20-B-B-10、7EBG-30-C-B-10特性&#xff1a; ● 该阀是由高性能型比例先导式溢流阀和低噪音型溢流阀组合而成&#xff0c;进行压力与输入电流成比例的压力控制&#xff0c;能够达到无段式控制特性。 ●…

c++(内存管理)

本节目标&#xff1a; 1、c/c内存分布 2、c语言中动态内存管理方式 3、c中动态内存管理 4、operator new 与 operator delete函数 5、new和delete的实现原理 6、定位new表达式&#xff08;placement - new&#xff09; 7、常见面试题 目录 1.c/c内存分布 2、c语言中动…

StringRedisTemplate和RedisTemplate的区别

StringRedisTemplate和RedisTemplate的区别 springboot提供了两种redis访问工具类StringRedisTemplate和RedisTemplate&#xff0c;为什么spring官方会提供两种不同redis访问工具呢&#xff1f;两者主要的的区别在于redis的key和value的序列化方式不同&#xff0c;并且StringR…

手把手教你制作AI孙燕姿,让你的抖音视频火遍全网!

最近“AI孙燕姿”翻唱”的《发如雪》《爱在西元前》等歌曲在B站、抖音、快手等短视频平台爆火&#xff0c;截止到发稿前抖音的播放量已经超1700万。 目前AI孙燕姿制作教程资料较少&#xff0c;网上搜到几个都是使用开源项目Sovits来训练模型&#xff0c;使用门槛较高。 本文以…

云时通 X 九毛九 | SRM系统助力连锁餐饮行业高效管理供应链

餐饮行业作为第三产业中的传统服务性行业之一&#xff0c;始终保持旺盛的发展势头&#xff0c;随着时代的进步&#xff0c;现代餐饮企业更多以连锁业态发展&#xff0c;其特点是多种形式相结合而生&#xff0c;将新颖的就餐空间与潮流文化和传统的经典美味互相融合&#xff0c;…

​数据库原理及应用上机(实验五 SQL的数据更新)

✨作者&#xff1a;命运之光 ✨专栏&#xff1a;数据库原理及应用上机实验 &#x1f353;&#x1f353;前言&#xff1a; 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善&#x1f353;&#x1f353; ✨一、实验目的和要求 掌握SQL数据插入、修改和删除语句的一…

多大一口气能将汽车吹上天,你算出来了吗?

多大一口气能将汽车吹上天&#xff0c;你算出来了吗?起来了解其中的原理&#xff0c;手把手教你如何计算汽车起飞所需的风速! 空气同时通过机翼上表面和下表面时&#xff0c;会在机翼上下方形成不同流速&#xff0c;空气通过机翼上表面时流速大&#xff0c;压强较小;通过下表面…

设计模式之【中介者模式】,多对多关系降级为一对多关系的利器

文章目录 一、什么是中介者模式1、中介者模式的优势2、中介者模式的缺点3、中介者模式的应用场景4、中介者模式的四大角色5、观察者模式和中介模式的区别 二、实例1、中介者模式的一般写法2、租房中介案例3、智能家具案例 三、源码中的中介者模式1、Timer 一、什么是中介者模式…

Spring MVC 中的视图解析器是什么?如何配置它

当我们使用 Spring MVC 框架进行 Web 开发时&#xff0c;视图解析器&#xff08;View Resolver&#xff09;是一个非常重要的组件&#xff0c;它负责将控制器&#xff08;Controller&#xff09;所产生的逻辑视图名称&#xff08;Logical View Name&#xff09;转换成实际的视图…

Go语言环境搭建(内附网P下载地址)

一、Golang语言的官网 首先我们登录Golang的官方网站&#xff1a;https://golang.org/ 因为Google和中国的关系&#xff0c;直接登录Golang的官网&#xff0c;需要翻墙。 当然你也可以登录Golang的国内网站&#xff1a;https://golang.google.cn/ 二、下载 在Mac、Windows和L…

2023贵工程团体程序设计赛--赛后总结

本次比赛共27支队伍参加&#xff0c;总计135人&#xff0c;其中一支队伍为出题组&#xff08;不计入最后排名&#xff09;。实际参赛130人&#xff0c;5人缺考&#xff08;1人未加入题集&#xff09;。 1.人员分布 信息工程学院&#xff1a;22计科2支队伍&#xff0c;22软件6…

Python|Pyppeteer快速定位select下拉框(10)

前言 本文是该专栏的第10篇,结合优质项目案例持续分享Pyppeteer的干货知识,记得关注。 一般情况下,选中某个select下拉框,会出现一堆可选信息。如下图中的Country列表,点击列表会出现多个国家选择,如下图所示。 比如说,现在需要从这个Country列表中,快速选中某个国家…

2023新版Spring6全新讲解-SpringFramework介绍

SpringFramework介绍 一、官网地址阅读 https://spring.io/ 二、Spring的发展历史 三、Spring的概述 一个Java应用层程序&#xff0c;是由许多个类组成的&#xff0c;这些类之间必然存在依赖关系&#xff0c;当项目越来越大&#xff0c;依赖关系越来越复杂&#xff0c;需要一…

Jmeter连接不同类型数据库语法

Jmeter连接不同类型数据库语法 添加&#xff1a;配置原件->JDBC Connection Configuration variable name for created pool&#xff1a;自定义一个线程池变量名database Connection Configuration database URL: 填写数据库ip、端口、dbname等&#xff0c;但是不同数据库…