一.实验准备
1.两台虚拟机
2.准备画图工具,规划网络
备注:SNAT策略的的典型应用环境–》局域网主机共享单个公网IP地址接入Internet
策略原理
1.源地址转换,source Network address Translation
2.修改数据包的源IP地址
什么叫网关?
服务器的LAN口
二.实验步骤
一》进行网络规划,使用桥接模式时,wan口网段要和本机连接的WiFi在同一个网段比如:我的实验都在31网段下----我的实验规划如下图所示:
一般虚拟机都只有一个网卡,需要手动添加一个:
操作步骤:
1.先关闭虚拟机
2.点击编辑虚拟机
3.点击添加如图:
4.点击网络适配器,然后点击确定即可
一般虚拟机不会自动生成网卡配置文件,后续需要在虚拟机配置另外一个网卡文件操作步骤放入文档下面
:
三.正式开始实验
1.配置用来做网络服务器的虚拟机
1.进入 /etc/sysconfig/network-scripts/修改文件你要配置的网卡(我这里修改的的是ens33和ens37)
2.进入后你会发现只有ens33的配置文件,这里就是我前面说的添加网卡不会自动生成配置文件 ,cp ifcfg-ens33 ifcfg-ens37
3.对配置文件ens33进行修改:
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes
IPADDR="192.168.0.204"
PREFIX="24"
GATEWAY=192.168.0.1
DNS1=114.114.114.114
对ens37配置
BOOTPROTO="none"
NAME="ens37"
DEVICE="ens37"
ONBOOT="yes"
IPADDR="192.168.70.254"
PREFIX="24"
4.刷新网络服务:
CentOS7 ===>service neteork restart
CentOS 8 ====> ifup ens33 /ifup ens37
2.配置客户机
客户机只需要配置IP地址和网关,DNS
BOOTPROTO="none"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.60.1"
PREFIX="24"
GATEWAY=192.168.60.254
DNS1=114.114.114.114
刷新网络服务:
CentOS7 ===>service neteork restart
CentOS 8 ====> ifup ens33 /ifup ens37
3.关闭防火墙和selinux
无论是客户机还是网关服务器机都要关闭selinux和防火墙
简答介绍下selinux是系统的一个安全机制
关闭seliunx
#临时关闭selinux:
setenforce 0
#永久关闭seliunux
vim /etc/sysconfig/selinux
#然后修改
SELINUX=disable
#然后重启生效
reboot
关闭防火墙
#临时关闭 ===>马上关闭
service firewall stop
#永久关闭
systemctl disable firewalld
4.开启路由功能
临时开启路由
echo 1 >/proc/sys/net/ipv4/ip_forward
永久开启路由:vim /etc/sysctl.conf
在里面写入一条命令:net.ipv4.ip_forward = 1
reboot重启
注意:如果Windows里面没有到客户机网段的需要手动添加
在windows里添加了一条到192.168.60.0网段的路由
C:\Users\Administrator>route add 192.168.60.0/24 192.168.31.20
············································· 目标网段 ··········· 下一跳地址
5.编写SNAT脚本
#开启SNAT功能
[root@firewall 7-30]# vim snat.sh
[root@firewall 7-30]# cat snat.sh
#!/bin/bash
#清除filter表和nat表里的防火墙规则
iptables -F
iptables -t nat -F
#SNAT策略
iptables -t nat -A POSTROUTING -s 192.168.60.0/24 -o ens33 -j SNAT --to-source 192.168.31.204
#关闭firewalld服务
service firewalld stop
#设置开机不启动firewalld服务
systemctl disable firewalld
6.检测实验成果
使用客户机ping 百度能ping通就说明实验成功了
7.实验时候遇到的问题总结与自我分析
1.firewall没有关闭无法ping通域名
2.xshell断开,IP地址更改了需要重新填写IP地址
3.客户机无法连接xshell因为客户机不在31号网段下所有无法连接xshell但是通过网关服务器机ssh + ip 连接到客户机
4.配置网卡时候容易把IPADDR写成IPADD
5.桥接模式配置的网段必须和真实机一样