SNAT和DNAT

目录

一、SNAT的介绍和应用

1、SNAT原理和应用

SNAT策略的典型应用环境

策略的原理

转换前提条件

路由转发开启方式

二、DNAT的介绍和应用

1、原理和应用

应用环境

DNAT原理

DNAT转换前提条件

DNAT转换

三、防火墙规则备份和还原

导出备份

还原备份

四、tcpdump

1、介绍

2、格式

tcpdump 参数

3、操作


一、SNAT的介绍和应用

1、SNAT原理和应用

SNAT策略的典型应用环境

局域网主机共享单个公网IP地址接入InternetSNAT

策略的原理

源地址转换,Source Network Address Translation

修改数据包的源地址

转换前提条件

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

Linux网关开启IP路由转发

路由转发开启方式

临时打开:
echo 1 > /proc/sys/net/ipv4/ip_forward
或
sysctl -w net.ipv4.ip_forward=1

永久打开:
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1 	#将此行写入配置文件

sysctl -p 		#读取修改后的配置

SNAT转换

iptables -t nat -A POSTROUTING -s 192.168.149.0/24 -o ens33 -j SNAT --to 10.0.0.1
                                  局域网ip          外网口名称            外网口ip

非固定的公网IP地址
iptables -t nat -A POSTROUTING -s 192.168.80.0/24 -o ens33 -j MASQUERADE

二、DNAT的介绍和应用

1、原理和应用

应用环境

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

DNAT原理

修改数据包的目的地址

DNAT转换前提条件

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

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

Linux网关开启IP路由转发

DNAT转换

#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.149.83
iptables -t nat -A PREROUTING -i ens33 -d 10.0.0.1 -p tcp --dport 80 -j DNAT --to 192.168.149.83

发布时修改目标端口			
#发布局域网内部的OpenSSH服务器,外网主机需使用250端口进行连接
iptables -t nat -A PREROUTING -i ens33 -d 10.0.0.1 -p tcp --dport 250 -j DNAT --to 192.168.149.83

三、防火墙规则备份和还原

导出备份

iptables-save > /opt/ipt.txt

还原备份

iptables-restore < /opt/ipt.txt

将iptables规则文件保存在 /etc/sysconfig/iptables 中,iptables服务启动时会自动还原规则
iptables-save > /etc/sysconfig/iptables
systemctl stop iptables			#停止iptables服务会清空掉所有表的规则
systemctl start iptables			#启动iptables服务会自动还原/etc/sysconfig/iptables 中的规则

四、tcpdump

1、介绍

 tcpdump命令是一款sniffer工具,是linux上的抓包工具,嗅探器;它可以打印出所有经过网络接口的数据包的头信息。

 tcpdump命令工作时先要把网卡的工作模式切换到混杂模式。所以tcpdump命令需要以root身份运行。tcpdump命令是linux下使用最广泛的网络协议分析工具。使用tcpdump命令时,必须精通TCP/IP协议工作原理。

2、格式

tcpdump 参数

-a :   尝试将网络和广播地址转换成名称
-c<数据包数目>  :  收到指定的数据包数目后,就停止进行倾倒操作
-d  :  把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出
-dd :   把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出
-ddd :   把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出
-e :   在每列倾倒资料上显示连接层级的文件头
-f :   用数字显示网际网络地址
-F<表达文件>  :  指定内含表达方式的文件
-i<网络界面> :   使用指定的网络截面送出数据包
-l :   使用标准输出列的缓冲区
-n :   不把主机的网络地址转换成名字
-N  :  不列出域名
-O :   不将数据包编码最佳化
-p :   不让网络界面进入混杂模式
-q  :  快速输出,仅列出少数的传输协议信息
-r<数据包文件> :   从指定的文件读取数据包数据
-s<数据包大小> :   设置每个数据包的大小
-S :   用绝对而非相对数值列出TCP关联数
-t  :  在每列倾倒资料上不显示时间戳记
-tt  :  在每列倾倒资料上显示未经格式化的时间戳记
-T<数据包类型>  :  强制将表达方式所指定的数据包转译成设置的数据包类型
-v :   详细显示指令执行过程
-vv :   更详细显示指令执行过程
-x  :  用十六进制字码列出数据包资料
-w<数据包文件>  :  把数据包数据写入指定的文件
 

3、操作

tcpdump -i ens33  监听指定网卡的数据包

tcpdump host localhost 监听指定主机

tcpdump -i any post 22 -A 抓紧22号端口的数据

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值