F5负载均衡系列教程四【SNAT实验】

 
基础拓扑如下所示:
0
F5里面的SNAT可以理解为路由交换里面的源地址转换,可以将特定的源地址转成另外一个ip地址(IP地址池)去访问目的服务器
实验环境如下,其中F5到后端服务器网络均路由可达
VS地址
pool member
测试的snat list地址
测试的snat pool地址
10.1.10.132:443
172.16.128.0:80
172.16.128.4:80
172.16.20.200
172.16.20.201
172.16.20.202
一、配置SNAT
创建一个SNAT list如下图所示,作用是将源地址是10.1.0.1/32访问VS的的流量转成172.16.128.200去访问服务器,这里面有个优先级顺序,如果VS没有配置automap或者指定snat pool,那么会命中SNAT list,如果有配置snat pool,那么会优先使用snat pool的地址
create /ltm snat /Common/snat_172.16.20.200 origins add { 10.1.0.1/32 } translation 172.16.20.200
WEB界面配置如下,命令行和web界面配置二选一即可
0
 
首先关闭VS(10.1.10.132:443)的Source Address Translation功能,在F5上抓包,可以发现客户端地址被转换成172.16.20.200了
0
 
二、配置autoMAP
删除第一步配置snat_172.16.20.200,不删除的话同一个源IP是不能做多个SNAT的;此处不在VS上开启Source Address Translation
create /ltm snat /Common/snat_automap automap origins add { 10.1.0.1/32 }
WEB界面配置如下,命令行和web界面配置二选一即可
0
下图是F5设备的接口ip配置
0
再次抓包可以发现,F5会使用和服务器相连的浮动selfIP去建立连接
0
删除snat_automap配置
三、配置snat pool
create /ltm snatpool /Common/my_snatpool members add { 172.16.20.201 172.16.20.202 }
create /ltm snat /Common/test_snatpool origins add { 10.1.0.1/32 { } } snatpool my_snatpool
WEB界面配置如下,命令行和web界面配置二选一即可
0
 
0
访问VS多次抓包,可以发现F5会交替使用snatpool里面的地址去访问后端服务器,如果做了地址池,可能要考虑会话保持的问题
0
四、正常情况下的snat配置
一般情况下是新建一个snatpool,比如新建个snat_172.16.10.1 ,里面有个地址172.16.10.1;然后在VS里面关联该snat地址。一个VS地址关联一个SNAT地址,逻辑清晰
0
五、总结如下
一般我们都是在VS里面配置Source Address Translation ,再在snat pool里面选择转换后的地址,比如autoMap或者snmatpool;但是实际上,可以在SNAT list里面单独做SNAT地址转换,里面有三种类型可以选择:IP address、autoMap,snatpool
0
 
posted @ 2024-03-18 22:34  ROMIN  阅读(312)  评论(0编辑  收藏  举报