NAT实验:桥接模式下使用SNAT策略连通客户机
Posted 文不丁儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NAT实验:桥接模式下使用SNAT策略连通客户机相关的知识,希望对你有一定的参考价值。
一、前言:什么是SNAT?
SNAT用于局域网访问互联网,局域网的主机A想访问互联网上的主机C,首先要将数据包发送到防火墙所在的主机B,B收到后修改数据包的源地址为B机的公网IP,然后再发送到互联网。
C机收到后将回应包经互联网发送给B,B收到回应包之后修改回应包的目的地址为A,然后将数据包转发给A。
至此就是SNAT的完整过程,在这个过程中,修改了请求报文的源地址,叫做SNAT(source NAT POSTROUTING),用于局域网访问互联网。
而DNAT(destination NAT POSTROUTING),修改了请求报文的目标地址,用于互联网访问局域网。
二、 实验规划
本次实验需要两台虚拟机,一台做客户机,一台做服务器,都是CentOS系统,版本为CentOS Linux release 8.3.2011。
各个虚拟机的IP设置如上图所示,配置时要遵循以下四点:
- 客户机的网关要和服务器的输入网卡(图中为ens37)一致(192.168.81.254)
- 客户机的IP地址的网络位要和服务器的输入网卡的网络位保持一致(192.168.81.XXX)
- 服务器的输出网卡的网络位要和路由器的网络位保持一致(192.168.2.XXX)
- 服务器的输入网卡(ens37)不要设置网关
不同网络路由器的IP地址不同,可以通过以下步骤来获取自己网络的路由器IP地址
修改IP地址的具体流程见下一步,新建网卡需要关闭虚拟机,在"编辑虚拟机设置"中添加"网络适配器",注意所有的网卡都要设置为桥接模式,不要勾选"复制物理网络连接状态",下图为例:
全部配置好之后,通过ping百度来测试,服务器可以上网,客户机不能上网。
服务器
客户机
三、修改IP地址
第一步,进入网卡配置文件目录==/etc/sysconfig/network-scripts/==
cd /etc/sysconfig/network-scripts/
vim ifcfg-ens33
第二步,修改你的网卡配置文件,例如"ifcfg-ens33"
“ens33” 是具体接口的名字(注意不要打错,打错的地方不会报错但是会失效)
BOOTPROTO="static" #指定是用静态配置还是动态配置,none为静态
NAME="ens33" #网卡的名字
DEVICE="ens33"
ONBOOT="yes" #yes表示开机的时候激活这个网络连接
IPADDR=192.168.2.1 #IP地址
NATMASK=255.255.255.0 #子网掩码
GATEWAY=192.168.2.1 #设置网关,这个网关必须跟虚拟机NAT设置里的网关一样,要不然就上不了网,如果不知道可删去,会自动配置
DNS1=114.114.114.114 #首选DNS服务器
DNS2=8.8.8.8 #备选DNS服务器
第三步,重新启动服务
1.centos8里(不能一次重启两个网卡,只能一个一个来)
ifup ens33
2.centos7里
service network restart
(结尾附有两台虚拟机的网卡设置文件的具体内容)
三、开启服务器的路由功能
临时开启路由功能(重启失效)
echo 1 >/proc/sys/net/ipv4/ip_forward
永久开启路由功能
cat /etc/sysctl.conf
sysctl -p
四、关闭服务器的Selinux和防火墙
关闭selinux
临时关闭
setenforce 0
永久关闭
vim /etc/sysconfig/selinux
>>
SELINUX=disabled
关闭防火墙
临时关闭
service firewalld stop
永久关闭
systemctl disable firewalld
五、使用Iptables实现SNAT策略
在服务器上新建snat.sh脚本
#!/bin/bash
#临时开启路由功能
echo 1 >/proc/sys/net/ipv4/ip_forward
#临时关闭selinux
setenforce 0
#清除filter表和nat表里的防火墙规则
iptables -F
iptables -t nat -F
#关闭firewalld服务
service firewalld stop
#snat策略,将进入的LAN口网段(192.168.81.0)包装成出去的WAN口网段(192.168.2.15)
iptables -t nat -A POSTROUTING -s 192.168.81.0/24 -o ens33 -j SNAT --to-source 192.168.2.15
运行该脚本
. snat.sh
六、实验完成,测试客户机
附:两台虚拟机网卡的具体配置文件
1、服务器的ens33输出网卡
BOOTPROTO="static"
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR="192.168.2.15"
NETMASK="255.255.255.0"
GATEWAY="192.168.2.1"
DNS1="114.114.114.114"
DNS2="8.8.8.8"
2、服务器的ens37输入网卡
BOOTPROTO=static
NAME=ens37
DEVICE=ens37
ONBOOT=yes
PREFIX=24
IPADDR=192.168.81.254
3、客户机的ens33输出网卡
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.81.1"
NATMASK="255.255.255.0"
GATEWAY="192.168.81.254"
DNS1="114.114.114.114"
DNS2="8.8.8.8"
以上是关于NAT实验:桥接模式下使用SNAT策略连通客户机的主要内容,如果未能解决你的问题,请参考以下文章