1、1内网服务器主动出向访问F5 简单配置F5 Networks2016-06-20231 服务器出向访问简单配置 .41.1 网络拓扑 .41.2 建立默认网关池 .51.3 建立 SNAT Pool(指定 SNAT 地址) 51.4 配置全零 VS 进行出向访问 61.5 配置 iRule 脚本用于自定义出向 SNAT.741 服务器出向访问简单配置1.1 网络拓扑(1) 压测环境 F5 采用旁路模式部署,服务器默认网关指向核心交换机,因而如果服务器主动出向访问,默认不会经过 F5,通过上行交换机就直接出去了,在这种架构下,建议服务器主动出向的 SNAT 由核心交换机上面的防护墙来做;(2)
2、如果服务器主动出向访问一定要经过 F5,由 F5 来做 SNAT,那么在旁路模式的部署情况下,这些要主动出去访问的服务器的默认网关需要指向 F5,如果是双机环境下即指向 F5 的 floating IP (以压测环境的网络部署为例见下图)51.2 建立默认网关池点击 Local Traffic Pools Pool List Create:此处建立的是 F5 的默认网关池,调用后用于配置 F5 将数据包扔给哪个下一跳;在 Name 栏输入相应的名称如: pool_default_gateway,Health Monitors 选择gateway_icmp 用于探测 F5 与默认网关是否连通,在
3、下面的 New Members 右边的 Address 栏输入 F5 的默认网关:172.16.4.254(以压测环境为例),Service Port栏选择 All Services,并点击 Add,完成后点击 Finished。1.3 建立 SNAT Pool(指定 SNAT 地址)点击 Local Traffic Address Translation SNAT Pool List Create:6在 Name 栏输入相应的名称方便调用如: snat_pool_out1,在下面的 IP Address栏输入对应的 SNAT(即想要内网服务器被 SNAT 成的地址),并点击 Add,完成后点
4、击 finished。1.4 配置全零 VS 进行出向访问点击 Local Traffic Virtual Server Virtual Server List Create:7在 Name 栏输入相应的名称如: vs_outbound,Type 栏选择 Performance (Layer 4),Destination 右边的 Type 选择 Network,在下面的 Address 和 Mask 栏分别输入0.0.0.0,Service Port 选择 All Ports,在下面的 Configuration 配置区域的 Protocol栏选择 All Protocols,Source A
5、ddress Translation 栏选择 SNAT,在随后跳出的SNAT Pool 栏选择对应的 SNAT Pool,在下面 Resources 配置区域的 Default Pool 栏选择刚才创建的网关池:pool_default_gateway;完成后点击 Finished。(1) 以上配置方式的意思是,任何一台内网的服务器(它们的默认网关需指向 F5),如果主动出向访问经过 F5,它们的源地址都会被转换成 snat_pool_out1 里的地址,并由 F5 将数据包扔给默认网关 172.16.4.254 出去(pool_default_gateway 里的 member 地址);(2
6、) 但是如果需要对出向的 SNAT 进行精细的控制,比如这几个内网服务器要SNAT 成地址 1,而另外几个内网服务器则要 SNAT 成地址 2,以此类推,那么需要通过 iRule 脚本语言来实现,详见 1.5 节。1.5 配置 iRule 脚本用于自定义出向 SNAT(1) 建立 Data Group 对服务器地址进行分类 : Local Traffic iRules Data Group List Create:8在 Name 栏输入相应的名称如: server_out1 方便被 iRule 调用,在下面的Address Records 区域右边的 Type 栏根据具体情况选择 Host 还
7、是 Network,在Address 栏输入对应的地址(就是要主动出向访问的内网服务器地址),并点击Add 完成后点击 Finished。(2) 编写 iRule 脚本用于出向指定 SNAT: Local Traffic iRules iRule List Create:Microsoft Word Document以上 iRule 脚本的意思是:如果主动出向访问的服务器的源 IP 是 server_out1 里的地址,那么将它们的源地址 SNAT 成 snat_pool_out1 里的地址,如果主动出向访问的服务器的源 IP 是 server_out2 里的地址,那么将它们的源地址 SNAT成 snat_pool_out2 里的地址,其他主动出向访问的服务器的源 IP 都 SNAT 成 F5的 floating IP 出去。9(3) 将该 iRule 脚本关联给 vs_outbound 进行调用: