防火墙的注意事项
你可以配置并且限制涉及防火墙端口的使用状况。例如:客户端与服务器,服务器与服务器之间的连接。
防护墙和连接
注意连接存在的问题可能是运行在机器上的防火墙引起的。
Pivotal Gemfire是一个以网络为中心的分布式系统,所有如果有一个防火墙运行在机器上,将会导致连接问题。例如:防火墙限制地方入站或者出站权限,连接就有可能失败。你需要修改防火墙的配置来允许运行在机器上的java应用的通信。这个指定的配置依靠于你使用的防护墙。
下面举个例子,防火墙可能会因为超时设置连断开gemfire的连接,如果防火墙的感官在一个特定的时间内没有活动,当活动恢复的时候将会关闭连接和打开一个新的连接,这可能会导致一些混乱的连接。
防火墙和端口
确保防火墙端口配置正确。
对一个服务器来说,关于防火墙有两个不同的端口需要关注。
Cache 服务器监听的端口,这个端口使用cache.xml文件中的cache-server元素,ava的CacheServer类中和gfsh start server命令行的选项来配置。
Locator端口,Gemfire客户端可以使用locator自动的发现cache服务器,locator端口是是相同的配置成点到点的信息传递。这个locator端口号可以在gfsh命令行中进行配置。
对于一个客户端来说,你告诉客户端怎么使用一个池选项来连接服务器。在这个客户端池配置中,你可以创建一个既含有服务器元素,也包含locator元素的池。对每一个元素,你需要指定要连接的主机和端口号。
默认情况下,Gemfire客户端和服务器在本地发现先前定义的40404端口,每一个gateway接收器使用一个端口去监听在Gemfire站点之间的一个或者多个gateway发送者的通讯信息。
为点到点成员限制临时端口
默认情况下,Gemfire从包含大量数据的可能的端口的特定区域内分配临时端口。当一个防火前运行的时候,临时端口通常被限制在一个小的多的数量中,例如6.如果你通过防火前配置了一个点到点通信,你必须为每一个进程的每个TCP端口进行设置,确保UDP传输可以通过防火墙传输。
防火墙的属性和端口配置
这个表包含了可能参与防火墙行为的属性,每一个属性都包含简要的概述。
配置 | ||
配置区域 | 属性或者设置 | 定义 |
Peer-to-peer | conserve-sockets | 执行socket是否是被系统成员线程共享 |
Peer-to-peer | locators | 被系统成员使用的locators,对分布式系统的每一个成员的locators必须配置一致 |
Peer-to-peer | Mcast- address | Address用来发现分布式系统的其他成员,当值不是0的时候使用,才分布式系统中,这个值必须配置一致 |
Peer-to-peer | Mcast-port | 伴随着mcast-address一起使用,用于分布式系统成员之间的多路广播通讯,如果是0,对于成员的发现和分配,多播是不可用的 |
Peer-to-peer | Membership- Port-range | 可用于在peer-to-peer分布式系统中单一广播udp信息和tcp错误检测 |
Peer-to-peer | Tcp-port | 用于监听cache通讯的tcp端口 |
配置 | ||
配置区域 | 属性或设置 | 定义 |
Cache server | Hostname-for-client | 将主机名和端口号传递给客户端,像服务器监听的位置一样 |
Cache server | Max-connections | 连接到服务器的客户端的最大数目,当到达这个最大值的时候,服务器将拒绝添加新的服务器连接 |
Cache server | Port(cache.xml)或者在gfsh命令行中start server的--port参数 | Server为客户端通讯监听的端口 |
配置 | ||
配置区域 | 属性或配置 | 定义 |
Multi-site | Hostname-for-senders | 被gateway发送者用来连接的gateway发送者的主机名和IP地址 |
Multi-site | Remote-locators | 在远程WAN站点可以使用的locators |
Multi-site | Start-port和end-port(cache.xml)或者在gfsh命令行下启动gateway接收器命令下的--stert-port和--end-port参数 | Gateway接受者可以用来监听gateway发送者通讯的端口号的范围。 |
配置 | ||
端口的名字 | 相关的配置 | 默认端口 |
Cache server | Port(cache.xml) | 40404 |
Gateway receiver | Start-port和end-port(cache.xml)或者在gfsh命令行下启动gateway接收器命令下的--stert-port和--end-port参数 | 没有对每一个gateway receiver设置相同的端口来接收来自其他系统的gateway sender的连接。但是,这个配置制定了gateway receiver可以是用的一个端口号的范围,当gateway receiver启动的时候,Gemfire查找一个可以使用的范围。需要配置你的防火墙使这些端口可以进入。 |
http | http-service-port | 7070 |
locator | Start-locator或者在用gfsh命令行启动locator的时候--port参数 | 如果没有指定,那么默认情况下为10334 |
Membership port range | Membership port range | 1024到65535 |
Memcached port | memcached-port | 没有设置 |
multicast | Mcast port | 10334 |
RMI | Jmx-manager-port | 1099 |
TCP | Tcp pot | 短暂性接口 |
为了获得更多的信息。可以查看下面内容。
558 客户端服务器是怎样连接工作的
402 socket通讯
392 控制socket的使用
402 设置socket缓存的大小
Locators,gateway receiver和ports
短暂性端口范围和locator的tcp端口范围必须要可以通过防火墙进入成员,gateway receiver也应该在防火墙中设置,是其可以通过WAN进入。在peer-to-peer缓存中。Locator被用来发现其他的进程,可以被客户用来定位服务器,作为一个替代物去配置有许多服务器地址和端口的客户端。
Locators有一个所有成员都可以连接到的TCP/IP端口,它们也启动一个分布式系统,所以需要通过设置防火墙,从而可以通过设置的端口范围来进入其他的成员。
Client仅仅需要能够连接locator的locator端口,他们不与locator分布式系统相互作用。Client从locator中得到server的名字和端口号,然后使用这些信息去连接server。在273页有详细介绍。