一、前言:什么是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-script