Articles of networking

用于TCP连接的networking传感器,用于每秒收集统计信息

我需要一个networking传感器来收集几个TCP连接的基本端到端统计信息(包丢失,抖动和networking延迟/ RTT),这些TCP连接指向Ubuntu 12.04上相同的目的地(ip-addr:port)。 传感器必须能够收集1秒的统计数据。 无源传感器是优选的。 你有什么build议可以用于我的目的的工具或工具集? 到目前为止我所探索的解决scheme使用tshark 。 例如: 我被动地收集相关TCP连接的原始数据。 tshark -i eth0 -f "tcp port 6666 and host 192.168.0.9" -w ./data.pcap 一旦捕获/实验完成,我提取时间戳和属于filter的数据包和前一个数据包之间的delta(应该是抖动,对吗?)。 tshark -r ./data.pcap -T fields -e frame.time_epoch -e frame.time_delta_displayed -E header=y > output.csv 问题是被捕获的文件太重(运行可能持续〜7小时),我不知道如何监视丢包和networking延迟/ RTT。

如何在Windows上模拟networking分区?

在一个实现聚类algorithm的项目上工作。 集群的一个重要属性是在面对networking分区时尊重保证。 为了certificate集群工作,我需要一种方法来在我的Windows开发环境中模拟分区。 在下面的例子中,我将使用term节点,在这个上下文中是一个Tcp侦听器,它启动一个Ip并接受一个端口上的传入连接。 例如在C#中: new TcpListener("10.16.8.9", 12345) testing用例:N2从N1和N3分区 Given I have a cluster of 3 nodes running on one NIC with 3 IPs N1 running at 10.16.8.9 N2 running at 10.16.8.10 N3 running at 10.16.8.11 Dev can connect to N1, N2, N3 When A partition occurrences for N2 Then N2 cannot reach N1 and […]

安全问题w /物理vs虚拟网关

我正在build立一个专用networking,使用网关系统访问networking后面的系统上的某些服务,例如ssh,ftp。 我有一些使用虚拟化基础架构的经验,但是想validation我正在使用最佳实践来设置环境。 在私有networking内部会有多种服务,例如DHCP,DNS,LDAP等,这些对于网关另一端的系统应该是或多或less的不可见的; 但是,会有一些服务,如Web服务器,file upload,可能需要访问这两个networking。 我花了一些时间在内部区域,外部区域和DMZ的防火墙devise和布局上工作; 计算出不同区域需要提供哪些服务,并已经开始为系统整合ACL。 我的计划是虚拟化许多服务,并在LXC或Docker容器中运行它们(目前使用LXC,但如果有强有力的理由可以切换到Docker)。 在设置系统的过程中,我一直在使用单个虚拟机pipe理程序来设置和configuration容器,然后将它们移动到适当的存储区。 当我接近生产状态(其他人将有机会使用我的networking),我有一些安全问题/关注。 看起来隔离事物的最安全的方法是运行至less3个pipe理程序/pipe理程序configuration(如果发生故障等,必要时可以启动额外的pipe理程序等)。 看起来,如果发现主要的pipe理程序漏洞,就会降低networking的风险。 是否有一些更好的解决scheme隔离虚拟服务的方式描述? 在不同防火墙区域运行的系统/服务专用存储有多必要? 似乎适当的防火墙/ ACL设置共同的后端存储与单独的外部备份将是足够的,但build议/input有关存储虚拟化容器组与不同的访问设置的最佳做法将不胜感激。 以这种方式虚拟化基础设施真的值得吗? 我有经验在一些专用的服务器上运行类似的服务,当服务器出现故障时使用备份和故障转移服务器。 这些系统都已经安装完毕,因此可以使用高度自定义的kickstart或类似的构buildconfiguration文件来重build所需的操作系统。 任何已经通过这种方式对物理基础设施进行虚拟化的人的意见将不胜感激。 特别是,除了networking服务之外,pipe理虚拟机pipe理程序的复杂性增加在可靠性和可伸缩性方面产生了足够的好处,值得付出额外的努力?

OpenVPN的sndbuf和rcvbuf

我想知道OpenVPN和net.core.w / rmem_default或net.ipv4.tcp_r / wmem使用的sndbuf和rcvbuf缓冲区有什么区别。 当configuration中为这些参数提供了一些值时,OpenVPN会做什么? 我读过,如果你使用0,它使用操作系统的默认缓冲区大小,但从哪个缓冲区大小? 或者它是一个额外的图层,当你把它设置为0这个额外的布局消失? 我的问题是,当我将sndbuf和rcvbuf设置为0,并将net.core.w / rmem_default或net.ipv4.tcp_r / wmem设置为64k时,我期望与sndbuf和rcvbuf未设置相同的吞吐量,因为默认值为sndbuf和rvbuf是64k 不幸的是,使用OS缓冲区的情况并非如此,吞吐量较低。 这可能是因为我没有设置正确的OS缓冲区,或者使用sndbuf和rcvbuf时,OpenVPN做了一些特殊的事情。 如果有人能详细解释,我会很感激 谢谢 ALO —————————————– 经过一番研究,我发现OpenVPN使用setsockopt在configuration文件中使用sndbuf和rcvbuf值来设置SO_SNDBUF和SO_RCVBUF的值。 这只会影响OpenVPN创build的套接字,而不会影响所有的TCP / UDP套接字。 SO_SNDBUF和SO_RCVBUF相当于以下设置: 的/ proc / SYS /网/核心/ rmem_max 的/ proc / SYS /网/核心/ wmem_max /proc/sys/net/net.ipv4/tcp_rmem 的/ proc / SYS /网/网/的IPv4 / tcp_wmem 对于openvpn(tcp或udp)使用的协议(可能是_default,而不是_max,我仍然不确定)。 使用setsockopt()手动调整套接字缓冲区大小会禁用TCP自动调整。 (可能不是真的) 关于TCP受r / wmem_default缓冲区大小的影响,我发现两个答案相反: 您不需要调整rmem_default或wmem_default(至less不用于TCP调整)。 这些是非TCP套接字(例如unix域和UDP套接字)的默认缓冲区大小。 wmem_default和wmem_max这些设置是修复所有networkingstream量(UDP和TCP)的默认发送和接收窗口大小, 任何人有更多的知识,欢迎纠正我:)

在同一个networking中模拟2个集群

我有4个pc和另一个pc,它们将作为代理,全部在同一个networking中:172.16.96.0/20。 我可以彼此之间ping。 但是,我想把它们分成两组。 那是: pc1 is directly connected to pc2 pc3 is directly connected to pc4 但是,从pc1或pc2到pc3或pc4的所有通信必须经过代理,并且从pc3或pc4到pc1或pc2的所有通信必须经过代理。 就像是: pc1 pc3 | -proxy- | pc2 pc4 pc1 IP: 172.16.97.24 pc3 IP: 172.16.97.27 proxy IP: 172.16.97.2 要在pc1上做到这一点,我补充道: ip route add 172.16.97.27 via 172.16.97.2 但是,当我做traceroute 172.16.97.27不会显示为一跳。我不知道是否应该.. 在代理上,路由表如下所示: default via 172.16.111.254 dev eth0 172.16.96.0/20 dev eth0 proto kernel scope […]

在摘要授权代理服务器上进行基本身份validation客户端身份validation

我的公司有一个传统的应用程序需要连接到互联网。 不幸的是,我们的networking工作人员已经改变了代理设置,以便只接受摘要authentication,这个应用程序不支持。 有什么办法来设置这些身份validation方法之间的中间层? Legacy —> (interface, maybe another proxy) —> Digest Auth Proxy (squid). 应用程序和代理(鱿鱼)在Linux上运行。

3PAR服务时间过夜

我有一个最近升级的3PARarrays(3.2.1 MU1),它在一夜之间正在获得一些高层iowaits – 一些path下降和服务器崩溃的地步(特别是如Oracle)。 我认为自升级以来,但我不是100%肯定的。 当我们查看3PARpipe理工具(SSMC)上的“总磁盘”图时,我们看到在0100 BST服务时间上升(6k ms)并且指示在同一对节点上有8个近线磁盘,所有显示高服务时间。 这已经发生了好几个晚上了 – 每次都是不同的节点和磁盘集合 – 但不是每晚。 它在这个状态说了几个小时。 现在这听起来像是某种计划的任务(媒体磨砂可能?)“走下坡路”,但我有些不知所措。 有人能够指出我在正确的方向如何弄清楚这是怎么回事?

将docker容器端口绑定到特定的外部服务器地址

这是我第一次解决这个networking“问题”来解决docker工,我需要一些input。 这是我的情况: 运行NginX的Ubuntu 14.04,作为防火墙和Docker容器运行PHP后端应用程序。 对于INPUT和OUTPUT以及FORWARD,Ufw默认策略设置为DROP。 sysctl规则: net.ipv4.conf.all.forwarding = 0 我的需要: 一个运行在守护进程模式下的容器,其端口8888 / tcp接受来自外部的连接,但仅来自ip 8.8.8.8,并且端口4444 / tcp从localhost 我的问题: Ufw被设置为仅接受来自IP 8.8.8.8的端口8888 / tcp上的传入连接。 因此,基本上: sudo ufw allow in from 8.8.8.8 to any port 8888 proto tcp 然后,我运行容器: docker run -p 8888:8888/tcp -p 127.0.0.1:4444:4444/tcp [other options ] 之后,从没有ip = 8.8.8.8的机器上运行nmap -p 8888 45.45.45.45 ,我希望得到port filtered 。 但…. Host […]

IP转发configuration

我正在testingip转发从家里的计算机接收外部连接。 我从我的路由器设置做了以下: closures路由器和fedora的防火墙,完成转发设置,设置netcat监听端口80,并通过canyouseeme.org检查连接(也试图从我的移动互联网连接向我的公共IP(来自whatismyip.com)发送http请求。 我在这里错过了什么? 抱歉的链接,不能直接上传图像,因为低代表。 PS:我的路由器是Netmaster CBW 383Z4。

Debian – 没有互联网stream量,wget失败。 Ping,DNS和Telnet工作

我有一个KVM服务器上的几台计算机的互联网连接问题,这也有同样的问题。 Windows客人的互联网连接工作正常。 这发生在多台机器上。 网关是一个pfsense防火墙,根据其默认configuration允许所有LAN端stream量,192.168.1.1路由器使用其DMZ将所有stream量推送到防火墙。 我用pingtesting过连接。 $ ping 216.58.220.100 PING 216.58.220.100 (216.58.220.100) 56(84) bytes of data. 64 bytes from 216.58.220.100: icmp_seq=1 ttl=56 time=49.3 ms 64 bytes from 216.58.220.100: icmp_seq=2 ttl=56 time=51.5 ms 64 bytes from 216.58.220.100: icmp_seq=3 ttl=56 time=49.8 ms 64 bytes from 216.58.220.100: icmp_seq=4 ttl=56 time=84.2 ms 64 bytes from 216.58.220.100: icmp_seq=5 ttl=56 time=49.1 ms […]