目录
1.4SNAT转换2:非固定的公网IP地址(共享动态IP地址)
一、SNAT策略及应用
1.1SNAT策略概述
- SNAT 应用环境
- 局域网主机共享单个公网IP地址接入Internet (私有IP不能在Internet中正常路由)
- SNAT原理
源地址转换,根据指定条件1修改数据包的源IP地址,通常被叫做源映射。
- SNAT转换前提条件
- 局域网各主机已正确设置IP地址、子网掩码、默认网关地址
- Linux网关开启IP路由转发
1.2开启SNAT的命令
1.2.1临时打开
echo 1 >/proc/sys/net/ipv4/ip_forward
或
sysctl -w net.ipv4.ip forward=1
1.2.2永久打开
vim /etc/ sysctl. conf
net. ipv4.ip_ forward = 1 #将此行写入配置文件
sysctl -P #读取修改后的配置
1.3SNAT转换1:固定的公网IP地址
#配置SNAT策略,实现snat功能,将所有192.168.100.0这个网段的ip的源ip改为10.0.0.1
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 10.0.0.1
可换成单独IP 出站外网网卡 外网IP
或
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to-source 10.0.0.1-10.0.0.10
内网IP 出站外网网卡 外网IP或地址池
1.4SNAT转换2:非固定的公网IP地址(共享动态IP地址)
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE
1.5SNAT案例
- web服务器ip:10.0.0.12(Vmnet3)、关闭防火墙和selinux、开启http服务
- 网关服务器内网ip:192.168.100.100(Vmnet2);外网ip:12.0.0.1(Vmnet3)、关闭防火墙和selinux、开启http服务
- win7客户端ip:192.168.100.110(Vmnet2)
- VMware的虚拟网络编辑器中默认Vmnet2模式网段:192.168.100.0,Vmnet3模式网段:12.0.0.0
一、配置网关服务器(192.168.100.100/12.0.0.1)的相关配置
2.复制并修改ens37网卡
3.修改ens33网卡
4.重启网络
systemctl restart network
5.开启SNAT
[root@localhost network-scripts]#
vim /etc/ sysctl. conf
net. ipv4.ip_ forward = 1 #将此行写入配置文件
[root@localhost network-scripts]#sysctl -P #读取修改后的配置
6.配置iptables规则
iptables -nL #查看规则
iptables -nL -t nat #查看规则
iptables -F #清除iptables的规则
iptables -F -t nat #清除iptables的规则
iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j SNAT --to 12.0.0.1
//可换成单独的ip 出栈 外网网卡 外网ip
二、.配置web服务器(10.0.0.12)
1.2配置ens33
2.重启网卡、关闭防火墙和增强、开启http服务
[@localhost network-scripts]#systemctl stop firewalld.service
[root@localhost network-scripts]#setenforce 0
[root@localhost network-scripts]#systemctl start httpd
三、配置客户机(192.168.100.110)
2.配置IP地址
验证结果:局域网主机192.168.100.110能够访问外网的web服务器10.0.0.12
二、DNAT策略与应用
2.1DNAT应用环境
在Internet中发布位于局域网内的服务器
2.2DNAT原理
目的地址转换,根据指定条件修改数据包的目的IP地址,保证了内网服务器的安全,通常被叫做目的映射。
2.3 DNAT转换前提条件
- 局域网的服务器能够访问Internet
- 网关的外网地址有正确的DNS解析记录
- Linux网关开启IP路由转发
2.4DNAT转换1∶ 发布内网的Web服务
#把从ens33进来的要访问web服务的数据包目的地址转换为 192.168.100.110
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 80 -j DNAT --to 192.168.100.110
或
iptables -t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 80-j DNAT --to-destination 192.168.100.110
入站|外网网卡 | 外网ip 内网服务器ip
2.5DNAT转换2∶ 发布时修改目标端口
#发布局域网内部的OpenSSH服务器, 外网主机需使用250端口进行连接
iptables-t nat -A PREROUTING -i ens33 -d 12.0.0.1 -p tcp--dport 250-jDNAT --to 192.168.100.110:22
2.6DNAT案例
实验准备
- web服务器ip:192.168.100.110(Vmnet2)、关闭防火墙和selinux、开启http服务
- 网关服务器内网ip:192.168.100.100(Vmnet2);外网ip:12.0.0.1(Vmnet3)、关闭防火墙和selinux、开启http服务
- win7客户端ip:10.0.0.2(Vmnet3)
- VMware的虚拟网络编辑器中默认Vmnet2模式网段:192.168.100.0,Vmnet3模式网段:12.0.0.0
一、网关服务器配置nat表规则
二、 配置内网服务器(192.168.100.110)
重启网卡
三、配置外网客户端(10.0.0.2)
三、tcpdump—Linux抓包
tcpdump tcp-i ens33 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
(1)tcp∶ ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i ens33 ∶只抓经过接口ens33的包
(3)-t ∶不显示时间戳
(4)-s 0 ∶ 抓取数据包时默认抓取长度为68字节。加上-s 0 后可以抓到完整的数据包
(5)-c 100 ∶只抓取100个数据包
(6)dst port ! 22 ∶不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 ∶数据包的源网络地址为192.168.1.0/24。Net:网段,host:主机
(8)-w ./target.cap ∶ 保存成cap文件,方便用ethereal (即wireshark)分析