F5 SNAT NAT相关
SNAT:
跟路由器、防火墙一样,BIG-IP系统提供NAT (Network Address Translation)和SNAT(Secure Network Address Translation)地址转换机制,SNAT地址转换跟Cisco PAT方式类似。如果不启用NAT/SNAT,负载均衡池内部节点将无法访问外部网络,即外部IP可以通过虚拟服务器IP访问负载均衡池节点,但负载均衡池内部节点不能发起对外连接。
NAT和SNAT都可以通过地址转换访问外部网络,不过SNAT不接受外部发起的连接。一个SNAT地址可以对应一个节点地址、多个节点地址或一个VLAN网段。NAT地址与节点地址是一对一的关系。本文仅给出业务与软件常用的SNAT配置步骤。
说明:
SNAT地址可以不是唯一的,比如,SNAT地址可以使用虚拟服务器的IP地址。
配置步骤(1)
在导航面板中选择Local Traffic->SNATs标签,点击“Create”按钮添加SNAT地址。
SNAT配置
(2)
在“Name”文本框中输入名称
(3)
在 “Translation”文本框中输入SNAT IP地址,并在“Origin List”的“Origin Address”文本框中输入节点IP地址或在“VLAN Traffic”的下拉框中选择“Enable on”或“Disable on”在VLAN List中选择相应的Vlan,点击“<<”加入“Selected”列表。
(4)
按“Finished”完成添加SNAT IP地址。
(5)
通常我们希望内部节点可以Ping到外部网络,这时我们需要在System>Gernal Properties>Local Traffic>Gernal”中启用“Snat Packet forwarding“。
说明:
如果需要添加外部单独访问内部特定节点IP。由于NAT和SNAT不能共存,可以针对特定节点创建单个节点组成的负载均衡池Pool,服务为“0”,然后创建虚拟服务器VIP,服务也为“0”,将VIP和Pool关联起来,这时候这个VIP就是那台要访问的服务器。
验证SNAT配置
在检查SNAT配置正确性之前,必须确保BIG-IP系统网关已经配置完毕。请在CLI界面用“netstat –nr”命令确定网关信息已经配置完毕:
f5test1:~# netstat -nr
Routing tables
Internet:
Destination Gateway Flags MTU If
default 10.77.88.254 UGS 3400 vlan1
10.76.160.135 10.77.88.254 UGHc 3400 vlan1
10.77.88.192/26 link#7 UC 3400 vlan1
10.77.88.250 0.e0.fc.5.36.78 UHLc 3400 vlan1
10.77.88.254 0.e0.fc.2.5d.f2 UHLc 3400 vlan1
127 127.0.0.1 UGRS 4352 lo0
127.0.0.1 127.0.0.1 UH 4352 lo0
192.168.1 link#6 UC 3400 vlan0
192.168.129 link#8 UC 3400 vlan2
192.168.129.12 link#8 UHLc 3400 vlan2
192.168.129.13 link#8 UHLc 3400 vlan2
192.168.129.16 0.e0.81.3.45.27 UHLc 3400 lo0
f5test1:~#
在BIG-IP系统CLI界面中用TCPDUMP验证SNAT配置。举例,在内部节点(IP:192.168.129.12)中Ping外部IP地址(10.77.220.82),BIG-IP的Internal VLAN IP为192.168.129.16(对应SNAT地址为10.77.88.213),测试显示如下:
f5test1:~# tcpdump -i external host 10.77.88.213 and icmp
tcpdump: listening on external
11:04:55.085576 10.77.88.213 > 10.77.220.82: icmp: echo request
11:04:55.087803 10.77.220.82 > 10.77.88.213: icmp: echo reply
11:04:55.099550 10.77.88.213 > 10.77.220.82: icmp: echo request
11:04:55.102797 10.77.220.82 > 10.77.88.213: icmp: echo reply
f5test1:~# tcpdump -i internal host 192.168.129.12 and icmp
tcpdump: listening on internal
11:06:02.859518 192.168.129.12 > 10.77.220.82: icmp: echo request
11:06:02.861788 10.77.220.82 > 192.168.129.12: icmp: echo reply
11:06:02.865022 192.168.129.12 > 10.77.220.82: icmp: echo request
11:06:02.866768 10.77.220.82 > 192.168.129.12: icmp: echo reply
如何实时监视BIG-IP的连接状态?
请使用“watch b conn”命令,退出请按“Ctrl + C”,显示示例如下:
F5 SNAT NAT相关的更多相关文章
- f5 SNAT
request过程: 1.真实源地址(3.3.3.3)将数据包发给f5虚拟的vs地址(1.1.1.5:80): 2.f5将真实源地址(3.3.3.3)转换成SNAT地址(1.1.1.100),并将vs ...
- F5 负载均衡 相关资源
F5负载均衡之检查命令的说明http://net.zdnet.com.cn/network_security_zone/2010/0505/1730942.shtml F5培训http://wenku ...
- VMware中Linux的NAT相关配置
我这边使用的是CentOS7,因为搭建环境主要是为了后期做集群,所以会搭建三台机器master,slave1,slave2. 一.设置固定IP 1. 进入到/etc/sysconfig/network ...
- 虚机中访问外网;NAT中的POSTROUTING是怎么搞的?
看下docker中是怎么配置的网络 在虚机中访问外网:设定了qemu,在主机上添加路由:sudo iptables -t nat -I POSTROUTING -s 192.168.1.110 -j ...
- [译] NAT - 网络地址转换(2016)
[译] NAT - 网络地址转换(2016) Published at 2019-02-17 | Last Update 译者序 本文翻译自 2016 年的一篇英文博客 NAT - Network A ...
- HCNA Routing&Switching之地址转换技术NAT
前文我们了解了包过滤工具ACL相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15156308.html:今天我们来聊一聊地址转换技术NAT相关话题: ...
- NAT技术
该文摘自百度百科"NAT"中的一部分 NAT(Network Address Translation,网络地址转换)是1994年提出的.当在专用网内部的一些主机本来已经分配到了本地 ...
- 关于NAT穿透的一些理解
前些天在知乎回答了一个智能家居远程控制方面的问题,感觉自己对无公网IP地址环境下的穿透问题有些了解.昨天同事拿来一个网络摄像头,安装在ADSL路由器上网的环境下,可以远程查看视频,效果还挺不错,问我厂 ...
- Ubuntu 设置NAT共享网络(命令行方法)
本文介绍如何使用iptables来实现NAT转发,事实上就是将一台机器作为网关(gateway)来使用.我们假设充当网关的机器至少有网卡eth0和eth1,使用eth0表示连接到外网的网卡,使用eth ...
随机推荐
- Bootstrap and Angular
- 使用Python登陆QQ邮箱发送垃圾邮件 简单实现
参考:Python爱好者 知乎文章 需要做的是: 1.邮箱开启SMTP功能 2.获取授权码 上述两步百度都有. 源码: #!/usr/bin/env python from email.mime.te ...
- Python学习札记(三十五) 面向对象编程 Object Oriented Program 6
参考:实例属性和类属性 NOTE Python是动态语言,根据类创建的实例可以任意绑定属性. class Student(object): def __init__(self, name): self ...
- 解决 docker: Error response from daemon: ... : net/http: TLS handshake timeout.
参考:解决 Docker pull 出现的net/http: TLS handshake timeout 的一个办法 问题: 执行 $ sudo docker run hello-world 时出现: ...
- python 返回列表中的偶数
def is_even_num(l): enum = [] for n in l: == : enum.append(n) return enum print(is_even_num([, , , , ...
- 使用 if 表达式
由于 if 本质上是一个原函数,它的返回值就是满足条件分支表达式的值,因此,if 表达式也可以用作内联函数.我们以 check_positive( )为例进行说明.尽管条件表达式中不另写 return ...
- 谈谈刚接触sea.js框架得看法
向大神致敬,也是我接触框架得开始. 感谢张鑫旭大神,专业!致敬~ sea.js的7个API,都在下面得链接中有详细说明: http://www.zhangxinxu.com/sp/seajs/do ...
- 路由跟踪tracert
Tracert命令 如果我们要测试某一个IP都经过哪些路由,用trcert命令即可,这是dos下的一个基本网络命令,具体使用方法: 1,在windows系统下,打开 运行 :输入 cmd :在弹出的d ...
- IOS-多线程(NSOperation)
一.基础用法 // // ViewController.m // IOS_0120_NSOperation // // Created by ma c on 16/1/20. // Copyright ...
- openfalcon源码分析之hbs
openfalcon源码分析之hbs 本节内容 hbs功能 hbs源码分析 hbs设计优劣 1. hbs功能 hbs在整个open-falcon项目中承担的角色就是连接数据库,作为数据库缓存,缓存配置 ...