目录
- 一、SNAT原理与应用
- 1、SNAT概述
- 2、SNAT的应用环境
- 3、进行SNAT转换后的情况
- 二、SNAT实验
- 三、DNAT
- 1、DNAT策略概述
- 2、DNAT 实验
一、SNAT原理与应用
1、SNAT概述
SNAT 应用环境:局域网主机共享单个公网IP地址接入Internet(私有不能早Internet中正常路由)
SNAT原理:修改数据包的源地址。
2、SNAT的应用环境
局域网共享上网
SNAT的配置策略
SNAT转换前提条件:
1.局域网各主机已正确设置IP地址、子网掩码、默认网关地址
2.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 #将此行写入配置文件,默认值为0,修改为1是打开
sysctl -p #加载服务 #读取修改后的配置
3、进行SNAT转换后的情况
SNAT转换1:固定的公网IP地址:
iptables -t nat -A POSTROUTUNG -s 192.168.1.0/24 -o ens0 -j SNAT --to 12.0.0.1
内网ip 外网网卡
或者
iptables -t nat -A POSTROUTUNG -s 192.168.1.0/24 -o ens0 -j SNAT --to-source 12.00.1-12.0.0.10
外网ip或者地址池
-t 指定nat表
-A 指定哪个链里面修改
-s 指定对哪个源地址进行修改
-o 指定修改完后再哪个出站网卡
-j 指定类型
--to 转换成一个固定的外网ip地址
SNAT转换2:非固定的公网IP地址(共享动态IP地址):
iptables -t nat -A POSTROUTUNG -s 192.168.1.0/24 -o ens0 -j MASQUERADE
#做随机转换的,非固定
小知识扩展:
一个IP地址做SNAT转换,一般可以让内网 100到200 台主机实现上网。
二、SNAT实验
systemctl stop firewalld
setenforce 0
#在做实验之前要将防火墙全部关闭
1、配置外网web服务器
cd /etc/sysconfig/network-scripts/
#进入修改ip地址
#设置完后重启启动网卡和阿帕奇服务
systemctl restart network
systemctl restart httpd
网站服务设置完毕
2、设置内网客户端
systemctl restart network
#设置完后重启网卡
3、设置网关服务器
设置网关服务器时要添加两张网卡
4、配置内网ip
5、配置外网ip
配置好外网和内网ip
6、在网关服务器上面装个软件
yum install -y iptables*
#将所有以iptables开头的软件都安装
systemctl start iptables.service
#开启服务
systemctl enable iptables.service
#实现kai
在网关服务器上清空所有相关的原先规则
iptables -F && iptables -t nat -F
#删除相关的规则
7、添加新的规则让网关服务器可以允许转发内网ip
iptables -t filter -A FORWARD -s 192.168.80.0/24 -j ACCEPT
#允许192.168.80 网段的都允许转发
8、在配置文件里设置,设置完后就可以让内网ping通外网服务器
vim /etc/sysctl.conf
#进入配置文件里设置
net.ipv4.ip_forward = 1
#写入后,让他可以进行地址的转换
内网可以ping通外网,可以实现转发
9、查看外网服务器访问的记录
10、在网关服务器中添加nat地址转换规则
由原来的私网ip变成了公网ip来进行访问
三、DNAT
1、DNAT策略概述
DNAT原理与应用:
DNAT 应用环境:在Internet中发布位于局域网内的服务器
DNAT原理:修改数据包的目的地址。
DNAT转换前提条件:
1.局域网的服务器能够访问Internet
2.网关的外网地址有正确的DNS解析记录
3.Linux网关开启IP路由转发
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
sysctl -p
2、DNAT 实验
DNAT环境准备:三台主机,一台私网主机、一台公网主机、一台做DNAT转换的网关服务器
1、配置网关服务器
2、去wed服务端进行设置
3、设置客户端主机
4、所有主机关闭防火墙
systemctl disable --now firewalld
#将所有主机进行关闭防火墙
5、修改文件,加载转发服务
vim /etc/sysctl.conf
#修改配置文件,开启转发服务
tcpdump抓包工具的使用方法
yum install -y tcpdump ##下载工具
tcpdump tcp -i ens32 -t -s 0 -c 100 and dst port !22 and src net 192.168.60.0/24 -w xxx.cap保存
(1)tcp:ip icmp arp rarp 和 tcp udp icmp 只写协议选项等都要放到第一个参数的位置,用来过滤数据包的类型
(2)-i ens32:只抓经过接口ens33的包
(3)-t:不显示时间戳
(4)-s 0:抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓取完整的数据包
(5)-c 100:只抓取100个数据包
(6)and:表示“与”的意思可以不加
(7)dst port !22:不抓取目标端口是22的数据包
(8)src net 192.168.60.0/24:数据包的源网段地址
(9)-w ./xxx.cap:保存成cap文件方便ethereal(即wireshark)分析
进行抓包,ctrl+c 退出抓包状态,生成抓包文件
在桌面上生成的一个抓包文件