aFleX案例:使用同一公网IP管理内部多台服务器

简介:

之前针对aFleX已经有详细的介绍(见这里),今天我们讲述一个真实的在用案例: 不需要一行一行的去配置NAT映射,通过A10设备aFleX的灵活功能,迅速实现使用同一个公网IP地址管理内部多台服务器的应用。

客户拓扑简易描述如下:

A10 双机冗余路由模式接入外网交换机和内网交换机之间,内网有多个网段,从192.168.1.0到192.168.x.0。服务器的网关可以指向A10负载均衡设备也可以指向内网网关(只要服务器回报流量通过A10设备即可)。

客户要求:可以方便的管理内部多个网段的服务器,并可能通过3389(windows) 22 (Linux),  443等多个端口从公网登陆;并且尽量减少占用的公网IP地址。

aFleX实现: 通过分析以及和用户讨论后,该功能可以用aFleX一劳永逸的解决问题,避免一条一条增加NAT映射带来的繁琐配置。

原理如下:

和客户讨论后明确公网端口各数字的含义,这样可以使用同一个公网IP的不同端口映射到内部不同服务器的不同应用。

aFleX实现:

 
  1. when CLIENT_ACCEPTED { 
  2. set dport [TCP::local_port] 
  3. if { $dport < 10000 } { 
  4.  drop 
  5. #注解: 将低于10000端口的请求丢弃,因为按照约定,正常情况访问的目标端口>10000
  6.  
  7. scan $dport "%c%c%c%c%c" a b c d e 
  8. #注解:接受目标端口,并拆分为 a b c d e五个变量
  9.  
  10. set realport 0 
  11.  
  12. switch  [ format  %c $a]  { 
  13.  "1"   { set realport 3389 } 
  14.  "2"   { set realport 23 } 
  15.  "3"   { set realport 443 } 
  16. }        
  17. #注解:需要映射的服务器端口。变量a的含义代表不同的应用端口,1对应3389, 2对应23,3对应443,此处可根据需求扩展
  18.  
  19. set p1 [ format  %c $c ]  
  20. set p2 [ format  %c $d ]  
  21. set p3 [ format  %c $e ]  
  22.  
  23. if { $p1 == 0 } { 
  24.      if { $p2 == 0 } { 
  25.           set realip $p3 
  26.            } else { 
  27.           set realip $p2$p3 
  28.            }  
  29.  } else { 
  30.   set realip $p1$p2$p3 
  31.  } 
     
      
    • #注解:上一段获取需要映射的服务器IP。
set target 192.168.[ format  %c $b].$realip  node $target  $realport 
 
#注解:明确映射的对应服务器IP和端口并根据映射关系转

在A10设备上配置并应用该aFleX

 

 
  1. slb virtual-server management 1.1.1.1 
  2.    ha-group 1 
  3.    port 0  tcp 
  4.       source-nat pool 45     (注解:从安全考虑,可以允许访问的源IP地址段) 
  5.       service-group mgmt-grp (注解:映射的服务器和端口组,aFleX中的每一个node在这个组中需要定义) 
  6.       aflex manage          (注解:启用aFleX) 

配置完毕后,就可以实现用户访问一个公网IP(例如1.1.1.1)的不同端口映射到不同后台服务器的不用应用,例如

11111对应192.168.1.111的3389端口

23025对应192.168.3.25的23端口

39006对应192.168.9.6的443端口

以上为aFleX的一个典型应用,A10的aFleX是一个很强大的工具,在此类集中管理或者其他具体应用中都可以考虑部署实施,可以提高整个应用的灵活性,满足客户特殊要求的复杂性等等需求。

(J.L.)


本文转自 virtualadc 51CTO博客,原文链接:http://blog.51cto.com/virtualadc/839464



相关文章
|
3天前
|
存储 SQL 关系型数据库
服务器数据恢复—同友存储中raid5阵列上层虚拟机数据恢复案例
某单位同友存储,存储设备中若干磁盘组建了raid5磁盘阵列。未知原因导致存储设备崩溃无法启动,raid5阵列上层的虚拟机全部丢失,其中存放了重要数据的3台虚拟机需要恢复。
服务器数据恢复—同友存储中raid5阵列上层虚拟机数据恢复案例
|
4天前
|
运维 数据挖掘
服务器数据恢复—RAID5磁盘阵列2块盘离线的数据恢复案例
服务器中有一组由多块硬盘组建的raid5磁盘阵列,服务器阵列中2块硬盘先后掉线导致服务器崩溃。
服务器数据恢复—RAID5磁盘阵列2块盘离线的数据恢复案例
|
5天前
|
运维 监控 安全
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
2023年最详细的:本地Linux服务器安装宝塔面板,并内网穿透实现公网远程登录
|
5天前
|
网络协议 物联网 Linux
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
你不能不知道的:无公网IP,SSH远程连接CentOS服务器【内网穿透】
|
6天前
|
安全 Linux 网络安全
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
Windows搭建Emby媒体库服务器,无公网IP远程访问本地影音文件
16 0
|
7天前
|
网络协议 安全
ensp中nat server 公网访问内网服务器
ensp中nat server 公网访问内网服务器
|
7天前
|
存储 关系型数据库 MySQL
服务器数据恢复—ESXi虚拟机无法启动的数据恢复案例
**服务器数据恢复环境:** 某品牌EVA某型号存储中部署VMware ESXi虚拟化平台,数据盘(精简模式)+快照数据盘,虚拟机中有mysql数据库。 **服务器故障:** 机房意外断电导致该存储中的一台VMware虚拟机无法启动,管理员清空cache并尝试重新启动该虚拟机 ,问题依旧,无法成功启动虚拟机。用户方联系到我们数据恢复中心要求恢复该无法启动的虚拟机中的数据。
|
12天前
|
Apache 项目管理 数据安全/隐私保护
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
Windows安装TortoiseSVN客户端结合Cpolar实现公网提交文件到本地服务器
|
13天前
|
Apache 项目管理 数据安全/隐私保护
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
TortoiseSVN客户端如何安装配置并实现公网访问服务端提交文件到本地服务器
|
13天前
|
数据安全/隐私保护 Windows
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问-2
使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问

热门文章

最新文章