可以使用iptables或者nginx进行连接搭建。
Linux下端口转发一般都使用iptables来实现,使用iptables可以很容易将TCP和UDP端口从防火墙转发到内部主机上。但是如果需要将流量从专用地址转发到不在您当前网络上的机器上,可尝试另一个应用层端口转发程序Rinetd。Rinetd短小、高效,配置起来比iptables也简单很多。
如果你要配http、https转发,要配ssl证书,那nginx大概是最合适的了。不过要注意nginx本身有一些限制,比方说一次上传的数据大小。之前我没注意这点,在主站配了又配,最后发现中转的服务器没配置,秀逗了。另外新版的nginx不仅可以转发http,也支持tcp流转发了。
数据中转站中安装有数据中转应用服务器,由计划任务或者其他唤醒程序启动。
运行时注意的三步如下:
1、开启源服务器网络连接,连接源服务器,约定下次通讯的方式(可选),获取数据。
2、关闭与源服务器网络的连接,开启目标服务器网络连接,向目标服务器写入数据。
3、关闭与目标服务器网络的连接,进入缄默模式,等待下一次被唤醒。
nginx安装手册
LVS,Nginx和HAProxy负载均衡对比
Nginx支持TCP代理和负载均衡-stream模块
该 ngx_stream_core_module 模块自1.9.0版开始提供。默认情况下不构建此模块,应使用 --with-stream 配置参数启用它。
IPv6地址在方括号中指定:
UNIX域套接字使用“ unix: ”前缀指定:
该 ssl 参数允许指定此端口上接受的所有连接都应在SSL模式下工作。
该 udp 参数配置一个侦听套接字以处理数据报(1.9.13)。
的 proxy_protocol 参数(1.11.4)允许指定这个端口上接受的所有连接应使用 代理服务器协议 。
该 listen 指令可以有几个特定于与套接字相关的系统调用的附加参数。
不同的服务器必须监听不同的 address : port 对。
可以将地址指定为域名或IP地址,以及可选端口。如果未指定端口,则使用端口53。以循环方式查询名称服务器。
默认情况下,nginx将在解析时查找IPv4和IPv6地址。如果不需要查找IPv6地址,则 ipv6=off 可以指定参数。
默认情况下,nginx使用响应的TTL值缓存答案。可选 valid 参数允许覆盖它:
该 ngx_stream_core_module 模块支持自1.11.2以来的变量。
启动nginx,发现nginx已经开始监听2018端口了
在客户端通过telnet连接realserver的2018端口:
在realserver上查看网络连接:
可以正常连接
在客户端通过telnet连接nginx所在服务器的2018端口
在nginx机器上查看网络连接
在realserver上查看网络连接
nginx是给做了一个TCP连接的中转。
client和nginx有一个tcp长连接,nginx和realserver有一个tcp长连接,但是client和realserver之间并没有tcp长连接,仅由nginx服务器负责数据中转。
负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡根据所采用的设备对象( 软/硬件负载均衡 ),应用的OSI网络层次( 网络层次上的负载均衡 ),及应用的地理结构( 本地/全局负载均衡 )等来分类。根据应用的 OSI 网络层次来分类的两个负载均衡类型。
网络模型图,包含了 OSI 模型及 TCP/IP 模型,两个模型虽然有一点点区别,但主要的目的是一样的,模型图描述了通信是怎么进行的。它解决了实现有效通信所需要的所有过程,并将这些过程划分为逻辑上的层。层可以简单地理解成数据通信需要的步骤。
根据负载均衡所作用在 OSI 模型的位置不同,负载均衡可以大概分为以下几类:
在实际应用中,比较常见的就是四层负载及七层负载。这里也重点说下这两种负载。
所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)