我正在GKE / Kubernetes中运行一个服务,这个服务公开了一个星形IP地址的单个UDP端口。 (我已经在GCE中提供了一个临时的静态IP地址。)如果我按如下方式部署它,那么服务是可以访问的。 spec: type: LoadBalancer loadBalancerIP: <static-ip-address> 但是,我不打算运行我的服务的多个副本,我甚至不确定GKE的负载平衡器是否可以与UDP协同工作,所以我想尝试一下。 下面的替代configuration还没有工作。 有了它,服务出现了,但在一个不同的IP地址,因此不能从外部到达所需的。 spec: type: NodePort externalIPs: – <static-IP-address> 那么,在没有负载平衡器的情况下,在“自己”的静态IP地址上运行一个外部可见的服务,如果可以的话,又如何呢? 更新进一步的进展表明,工作平衡器也可以与UDP协同工作,但似乎仍然是多余的。
我已经被赋予了在Nginx上设置透明IP的任务,以便将客户端地址和端口传递给上游服务器。 设置看起来像这样: Client –> Nginx (listens for udp on 90009) –> Service (listens on localhost:59153) Nginx和Service是在同一台主机上build立的。 基本设置工作没有任何问题 – 请求被nginx捕获,被路由到服务,服务响应到nginx,并返回到客户端。 预期的行为是通过请求源IP服务,所以我设置nginx像这样: stream { upstream upstream_servers { server 127.0.0.1:59153; } server { listen 90009 udp; proxy_bind $remote_addr:$remote_port transparent; proxy_pass upstream_servers; } } proxy_bind $remote_addr:$remote_port transparent; 正确地执行它的工作ip/port被传递给nginx后面的服务。 然而,服务(不奇怪)是试图直接响应给定的ip/port 。 与外部世界的通信只允许在端口90009上进行,所以不会传递响应。 我试图做的是将基于IP透明和直接服务器返回的响应作为透明代理路由到NGINX和NGINX Plus 。 所以我做了以下几点: iptables -t mangle -N […]
所以我有一个虚拟服务器设置在亚马逊,我将调用OSERV,在3个不同的端口上运行openvpn。 所有的OpenVPN服务器都充当了路由网关。 在TCP上运行的服务器中的2个工作得很好,但是我的UDP服务器虽然能够进行本地连接,但总是超时用于外部IP。 我将称之为UDPSERV。 所以当我通过UDPSERV到OSERV ssh,它工作正常。 但是,当我尝试通过UDPSERV在其他任何地方ssh(或执行任何其他types的活动)时,连接超时。 我将调用我正在testing的外部服务器作为EXSERV。 我已经在冗长级别6观看了日志,并且在尝试连接到EXSERV时看到发送和接收的数据包。 所以我知道这是有效的。 我也在客户端机器上运行了wireshark,并看到它发送和接收数据包也很好,当SSH到EXSERV。 ssh root@ESERV -o ConnectTimeout=60 Connection reset by ESERV port 22 虽然奇怪,当我通过UDPSERV到OSERV进行活动时看日志,似乎并没有显示出来。 我已经确认MTU不是问题。 有趣的是,我实际上可以推送> 4000字节作为MTU。 我曾尝试将其设置为500。 所以我认为这就是设置这个问题的一切。 如果有人能帮我弄清楚为什么这不起作用,我真的很感激。 在这下面是所有我的configuration。 [编辑]哦,是的。 我通过UDPSERV从我的客户端到EXSERV做了一个netcat,它工作正常。 所有3个openvpn服务器configuration都具有以下相关设置: dev tun ifconfig-pool-persist ipp.txt push "redirect-gateway def1 bypass-dhcp" keepalive 10 120 comp-lzo persist-key persist-tun 不同的设置: Serv1 : port 80 proto tcp server 10.8.0.0 […]
我有2个Linux的框与以下描述 方框A:内核:Linux 2.6 IP:172.19.1.99/24 方框B:内核:Linux 3.14 IP:192.168.200.100/24 连接到第2层交换机 两个盒子都运行UDP广播服务和UDP接收器服务。 接收服务收到广播发送的任何内容。 这些服务一起构成在这些框上运行的Web应用程序使用的自定义发现协议。 问题: 当框A移动到192.168.200.0/24子网,然后移回到172.19.1.0/24子网时,框B上的接收机服务仍然从框A接收广播,但从技术上讲,它应该停止从A接收广播。现在运行在框A上的相同服务此时不接收框B的广播。 只是为了确认我在B框上的接收服务上附加了strace,我可以看到recvfrom系统调用确实正在接收由A框发送的地址为192.168.200.255的广播。 现在,如果我杀死了Box B上的接收服务并重新启动它,那么它将停止接收Box A发送的广播。 总而言之,只有当运行在同一子网中的一个盒子迁移到不同的子网时才会出现这个问题,只能在盒子B上看到。 任何想法,为什么这可能会发生? 更新:只是添加更多的信息框B也使用conntrack模块的iptables可以这一些如何影响这种行为?
我有一个Ubuntu服务器,在某些端口有公共服务,包括TCP和UDP,并试图保护它免受端口扫描器(TCP和UDP)。 TCP扫描器块是通过使用iptables的“最近”模块来完成的,它检测并且黑名单TCP端口扫描器。 UDP端口扫描器的方式与TCP不同。 AFAIK,UDP扫描器方法是:将UDP包发送到目标服务器S中的所有(UDP)端口,如果端口Pclosures,则S将返回ICMP“端口不可达”错误码,攻击者将知道该端口已closures,开放的端口(有)是在剩余的端口。 如果没有来自S的响应,则攻击者假设端口P被防火墙过滤打开,这要花费很长时间来区分。 从这个线索,我想到了两个想法: – 除了我的服务端口,在所有端口阻塞ICMP。 – 阻止除服务端口以外的任何UDP端口。 我不擅长防范攻击。 有没有办法阻止UDP端口扫描,而不会影响我的服务端口正常运行?
我有两个站点,我想通过OpenVPN隧道连接。 我已经使用TCP作为传输协议运行安装程序,但是由于这带有性能问题,我想将其更改为UDP。 但是设置失败了。 站点A为v4和v6提供双栈的DSL上行链路。 直接连接有一个Fritzbox,然后我有一台运行Ubuntu的电脑作为防火墙。 还有一个OpenVPN服务器,其configuration如下: port 1194 proto udp dev tun2 ca /etc/openvpn/server-fw/ca.crt cert /etc/openvpn/server-fw/server.crt key /etc/openvpn/server-fw/server.key dh /etc/openvpn/server-fw/dh2048.pem server 192.168.42.0 255.255.255.0 ifconfig-pool-persist server-fw-udp-ipp.txt client-to-client keepalive 10 120 comp-lzo user openvpn group openvpn persist-key persist-tun status openvpn-status-fw-udp.log verb 4 cipher AES-256-CBC auth SHA384 tun-mtu 1500 fragment 1300 mssfix client-config-dir server-fw-ccd 此外,Fritzbox有一个用于UDP端口1194的端口转发,而Ubuntu机器防火墙有一个允许stream量的规则。 在现场BI有一个电视电缆连接与一个Unitymedia连接盒(由我的有线电视提供商出货的路由器),然后是一个Ubiquity EdgeRouter X,它具有以下VPNconfiguration。 […]
我有一台服务器在Server 2012 R2上运行RRAS。 客户端使用IKEv2 VPN进行连接,并且位于相同的子网:192.168.1.0/24和255.255.255.0。 服务器有一个NIC,VPN端口通过路由器转发。 VPN上的客户端无法向内部networking发送或接收广播UDP数据包。 我正在使用的应用程序将UDP广播数据包发送到特定端口上的192.168.1.255来宣传自己并启用握手。 例如,我有以下几点: 在本地networking上: 路由器在192.168.1.1(外部IP是1.2.3.4) VPN服务器在192.168.1.2 应用程序计算机1在192.168.1.3 应用程序计算机2在192.168.1.4 在通过VPN连接的外部networking上 应用程序计算机3在192.168.1.100(连接到1.2.3.4的VPN) 在这种情况下,应用程序计算机1和2能够看到彼此并完成握手,但是既不能看到应用程序计算机3,应用程序计算机3也不能看到任何东西。 他们都可以相互平好。 如果在本地networking上完成UDP握手,然后将应用程序计算机移动到外部networking并通过VPN连接,则应用程序计算机仍然能够通信,直到需要另一次握手。 如何configurationRRAS将VPN广播数据包从VPN客户端转发到内部networking对端?
我使用绑定9.6.1和大约2天前,我意识到,有一个窗口的平台上绑定的bug。 当服务器得到“UDP客户端处理程序closures由于致命的接收错误:主机不可达”错误。 它保持活着,但在DNS查询后没有响应。 那么我需要手动重新启动,以使其响应(我把这个问题的任务从Windows)。 我不能使用微软的Windows DNS服务器,因为我使用的Windows 2008服务器networking版不包括。 所以我的问题是什么是你用于Windows中的DNS服务器的其他解决scheme?
我有一个我需要监视的大型分布式系统。 背景: 我的系统由两台服务器组成,集中和控制系统。 每个服务器连接到一组设备(一些自定义types的RF控制器,对我的问题无关紧要),每台设备连接到一台networking交换机,最终所有设备都与服务器通话,服务器和设备之间的协议是UDP,通常这个数据包很小,但是确实有很多数据包。 networking也有些复杂,并在物理上大面积部署。 我将有150-300个这样的设备,每个设备每秒产生多达100多个数据包,还有几个networking交换机,可能在2个不同的子网上。 题 我正在寻找一些解决scheme,让我能够监控所有这些乱七八糟的事情,发送多less包,在哪里,如何通过networking,带宽利用率,吞吐量等等。 你会推荐什么来达到这个目的? 顺便和窗户打好是一个要求。
我需要收集一些networking统计信息来testing我的服务器应用程序。 我已经尝试了许多Linux工具,但没有发现适合我的需求。 基本上我想收集一些UDP统计信息(bytes / time_interval,packets / time_interval,packets_loss),但只涉及两个特定的主机 – 例如,我想从IP_A:PORT_A到IP_B:PORT_B的stream量获取UDP统计信息。 像tcpdump / wireshark这样的工具可以很容易地转储这样的stream量,但我得到像临时速度(也看到吞吐量窥视)统计数据的问题,和Linux系统统计给我所有stream量的数字。 得到文本输出会更好,所以可以parsing它并把它放到gnuplot。 我能够从iptables得到所需的信息,但parsing输出 iptables -L -v 看起来相当困难。 任何人有任何想法我怎么能实现它? 提前致谢