前言 我是一个贸易开发者,所以networking安全并不是我的职责。 但是,解决问题是我的职责,我有一个需要帮助的问题。 另外,请原谅我,如果我得到任何技术术语不正确。 我可以谈好发展,我不讲networking安全好。 当前解决scheme 我的公司使用运行Windows Server 2012 R2 Datacenter的Azure虚拟机。 服务器运行SQL Server和Oracle的实例(不确定版本号)。 目前,如果我想要连接到这两个数据库实例之一,我需要将RDP放入Windows服务器,打开SSMS或SQL Developer ,并连接到本地主机。 期望的解决scheme 我想能够通过安装在本地机器上的数据库客户端连接到数据库服务器。 我不想要RDP,因为这意味着我们必须共享一个RDP插槽。 注意事项 我认为我们使用RDP解决scheme的原因是,build立服务器的人不知道如何configuration防火墙来让我们做我们需要做的事情。 服务器没有完全closuresInternet。 显然,RDP端口是开放的,我们也可以通过Visual Studio发布Web应用程序。 它确实有面向互联网的网站。 这些似乎是很多伟大的攻击媒介。 题 让SQL Server和Oracle端口对互联网开放有多糟糕? 它们比RDP和HTTP更易受到攻击吗? 我们应该如何configuration服务器以允许开发人员通过本地机器连接到数据库? VPN是一个很好的解决scheme吗? 我讨厌走这条路,因为我曾与之合作过的每一个VPN客户端都是痛苦的。 而且我讨厌给我的开发者造成不必要的痛苦。 我们可以configuration服务器的防火墙白名单入站连接从办公室的IP移植数据库? 这将排除在家工作的人连接到服务器,但他们总是可以VPN到办公室networking(在这一点上必要的邪恶)。
这个问题已经经历了两年多的时间,我从来没有真正放慢脚步,花时间去问,主要是因为我一直在使用云服务,而不是直接pipe理自己的服务器,现在。 公司提到线性/水平缩放是相当普遍的事情,当事情变得有点困难时,他们会在服务器应用程序上投入更多的机器来提高吞吐量。 请求将由所提供的许多机器之一来处理,并对客户做出响应。 在大多数情况下,我所读到的是,请求/连接和关联的数据被转发到应该根据所使用的algorithm处理特定连接/请求的设备。 这在理论上听起来不错,但是没有一个单一的失败/限制点 ? 如果有一个应用程序将所有这些请求(思考REST请求在这里)路由到应该处理它的机器,是不是还有一台机器正在接收和处理每一个请求? 如果你有5台机器,或者20台机器没有关系,如果有一台机器处理每个请求,并把它交给其他机器处理。 这似乎是一个可怕的实现,因为它在增加吞吐量方面没有做任何事情,但这是我读到最多的一个。 我如何总是想到这一点是有一个单一的服务器来处理决定哪个机器应该处理你的请求,你将在启动时发起一个GET请求。 这个请求可以通过关于您应该与之通话的服务器的信息来解决。 每隔5分钟左右,您将向服务器发送另一个GET请求,以查看是否应更改服务器,并始终发送GET请求以获取有关任何networking错误的新服务器。 这将确保你永远不会试图与离线服务器进行通信,并且我唯一想要调用它的“切换服务器”请求是询问我们应该与哪个服务器进行通信的请求。 这个切换服务器应该通过保持活动的TCP连接连接到每个单独的服务器,并确保服务器正在运行。 在服务器脱机的情况下,build议客户端使用新的服务器。 这样,即使机器停机,最终用户也不会注意到它。 在这个问题上我读到的信息有两个核心的区别,我怎么会认为它是有效的,这就是“Handoff server”的请求处理的数量,而我的实现只需要最less量的请求,我总是阅读有关请求切换服务器来处理每一个请求。
我有一堆私人networking,都在172.XXX.XXX.XXX IP空间。 当我通过OpenVPN连接时,VPN有时会通过同一个网关进行连接,只允许来自第一个VPN的stream量工作。 例: $ netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire ………… 172.31 10.8.0.5 UGSc 1 0 utun3 172.32 10.8.0.5 UGSc 1 0 utun3 这里172.31.XXX.XXX和172.32.XXX.XXX使用相同的网关/接口,只允许来自第一个连接的VPN的stream量传输。 服务器#1的OpenVPNconfiguration: push "route 172.32.0.0 255.255.0.0" 服务器#2的OpenVPNconfiguration: push "route 172.31.0.0 255.255.0.0" 有什么办法可以使这两个使用不同的隧道/网关? 有时候,当我断开连接并连接一堆时,他们最终会使用不同的隧道,但这种情况并不是每次都发生,连接和断开连接直到工作正常也是一件痛苦的事情。 VPN configs只是带有额外的push指令的Sampleconfiguration。
我们的客户正在使用Centos 7.1和7.3。 他们是两个10GB的卡绑定到一个20GB的链接。 每个网卡都连接到一对Cisco N5000交换机。 在运行cp或iperf时,我可以看到有时stream量只能通过一个接口,所以我们只能达到10GB。 其他时候,它通过这两个接口,我们得到20GB。 这不是一个错误的网卡或电缆,因为我testing了一些服务器,他们都performance出相同的行为。 同一交换机/子网上两个客户端之间的iperf。 # for i in {1..10}; do iperf -c 172.16.15.19 -l 1M -P 16 -t 300| grep SUM; done [SUM] 0.0-300.0 sec 344 GBytes 9.84 Gbits/sec [SUM] 0.0-300.0 sec 344 GBytes 9.84 Gbits/sec [SUM] 0.0-300.0 sec 344 GBytes 9.84 Gbits/sec [SUM] 0.0-300.0 sec 344 GBytes 9.84 Gbits/sec […]
我有一个OpenVPN的服务器与Debian 8和OpenVPN 2.3.14 x86_64-pc-linux-gnu 。 今天我已经意识到丢包了。 我的服务器在TCP端口443上。 Ping statistics for 144.76.41.103: Packets: Sent = 1135, Received = 1121, Lost = 14 (1% loss), Approximate round trip times in milli-seconds: Minimum = 29ms, Maximum = 961ms, Average = 51ms 其他属性: Ping statistics for 144.76.41.103: Packets: Sent = 1135, Received = 1121, Lost = 70 (5% loss), […]
首先请看这些: https://en.wikipedia.org/wiki/Ephemeral_port https://support.microsoft.com/en-us/help/929851/the-default-dynamic-port-range-for-tcp-ip-has-changed-in-windows-vista-and-in-windows-服务器2008 我知道这些端口范围是针对每个本地IP的传出连接,但对于PC上只有1个IP的典型家庭条件,是否限制所有传出连接或每个目的地的值? 例如,我设置了“netsh int ipv4 set dynamicport tcp start = 10000 num = 1000”,然后我开始尝试build立ipv4 TCP连接到互联网上的5个不同的IP尽可能多,我能build立1000个连接共计5000个(每个IP 1000个)?
首先,我将尝试描述这个问题。 我们使用以下networkingconfiguration: machine1安装了haproxy machine2与应用程序(在这种情况下,我们可以认为是只有RabbitMq服务) machine3作为testing服务器(machine2的副本) 所有的stream量到达机器1的端口(例如777)。 Haproxy将stream量redirect到machine2的端口(例如888)。 在machine2上应用监听端口888并处理请求。 我们也有machine3作为testing服务器,当我们准备下一个版本时,我们要用真实的负载来testing它。 所以现在的问题:是否有可能将来自机器1的端口777到机器2的端口888的传入networking通信复制到机器3的端口888(当我们需要的时候) PS抱歉我的英文不好
我正在通过代理服务器返回零星的502s。 当检查数据包stream时,我看到nginx发送POST请求到源服务器已经发送[FIN,ACK]的套接字。 我想了解这是如何可能和任何潜在的解决scheme。 原始问题(发送响应后5秒发送FIN还是ACK)还是代理服务器? 下面是PCAP的屏幕截图,说明问题: 我的理解: 来自原点的响应是[PSH,ACK]; 代理发送一个与[P]一起收到的数据的[ACK](wireshark确认下一个[ACK]用于之前收到的[PSH-ACK])。 7秒过去了(注意时间戳btw / [FIN,ACK]和我们的POST([PSH,ACK])); 原点发送[FIN,ACK]。 当第一个[FIN,ACK]发送时,原始TCP状态机应处于FIN_WAIT_1状态。 然后我们发送另一个POST,导致[RST]作为回报,因为起源不期待[PSH,ACK]。 题: 这种情况可能的解释是什么? 为什么代理(nginx)发送另一个请求,如果它已经收到一个FIN并且实际上是承认它! (POST [PSH,ACK]数据包中的确认号实际上是[FIN,ACK]的SEQ_NUMBER + 1),所以它确认幻像位FIN。 5秒后,原点返回[FIN,ACK]而不是直接返回的可能原因是什么? 读取超时/空闲超时? 我没有自己的起源 – 所以不能在那里捕捉。 额外细节: 代理(nginx错误日志)上的错误日志: 2017/04/17 06:51:07 [error] 123091#0: *225010841 upstream prematurely closed connection while reading response header from upstream, client: X.90.10, server: www.example.com, request: "POST /web/?a=b HTTP/1.1", upstream: "http://X.32.238:80/web/?a=b", host: "www.example.com" […]
我有这个在etc/network/interfaces : auto eth0 iface eth0 inet static address 192.168.1.119 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 8.8.8.8 8.8.4.4 我不使用networkingpipe理员。 ifdown eth0 && ifup eth0不更新我的ip。 但是,如果我重新启动,更新完成。 我错过了什么?
我将puppet服务器设置为docker-composition的一部分。 我有直接连接到容器的组成内的节点。 这可以正常工作,因为Puppet master使用本地名称自动创build一个SSL证书(只在docker组合中可用) ,其格式类似于: puppet.upgrades.jjk32jl.svc.dockerapp.io 我也有外部节点,这不是组成部分,需要通过外部链接upgrades.myorg.com连接。 当我尝试与外部节点连接时,我得到: 错误:无法请求证书:服务器主机名“puppet.upgrades.jjk32jl.svc.dockerapp.io”与服务器证书不匹配; 预计其中一个是upgrades.myorg.com,DNS:木偶,DNS:upgrades.myorg.com 我可以设置第二个用于处理外部节点的证书(或使用alt-name)来处理这种情况吗? 或者是否需要redirect节点之间的内部通信,以在upgrades.myorg.com从外部进行连接? 更新: 我已经添加了几个alt-name到我的主证书现在看起来像这样当我使用puppet cert -la : (SHA256)4B:A6:1F:C6:EA:8E:69:17:E3:43:C6:AE:A1:AE: BB:7B:9A:4F:09:5C:6F:92:BD:E7:C8:56:43:D8:03:12:59:58(alt名称:“DNS:puppet”,“DNS:puppet- 1.upgrades.fdafdafda.cont.dockerapp.io“,”DNS:puppet.c9039f55-d345-45d1-a8bd-8fec89481559.local.dockerapp.io“,”DNS:puppet.upgrades.jjk32jl.svc.dockerapp.io“ ) puppet.upgrades.jjk32jl.svc.dockerapp.io被列为alt-name,但我得到: 错误:无法请求证书:服务器主机名“puppet.upgrades.jjk32jl.svc.dockerapp.io”与服务器证书不匹配; 预计其中一个puppet.64b21c37-fa14-4406-b931-5add61cf582e.local.dockerapp.io,DNS:puppet,DNS:puppet.64b21c37-fa14-4406-b931-5add61cf582e.local.dockerapp.io 这是令人困惑的,因为puppet.64b21c37-fa14-4406-b931-5add61cf582e.local.dockerapp.io没有被提及作为主证书上的替代名称。