我试图用hashlimits设置“synflood”限制,这些是我的规则片段: iptables -A SYNFLOOD_CHECK -p tcp –syn -m hashlimit –hashlimit-above 10/s –hashlimit-burst 6 \ –hashlimit-htable-expire $HTABLE_EXPIRE –hashlimit-mode $HASH_MODE –hashlimit-name synflood_s -j SYNFLOOD_DETECTED iptables -A SYNFLOOD_CHECK -p tcp –syn -m hashlimit –hashlimit-above 25/min –hashlimit-burst 6 \ –hashlimit-htable-expire $HTABLE_EXPIRE –hashlimit-mode $HASH_MODE –hashlimit-name synflood_s -j SYNFLOOD_DETECTED iptables -A SYNFLOOD_CHECK -p tcp –syn -m hashlimit –hashlimit-above 500/h –hashlimit-burst 6 […]
目前我有下面的eth5来接收239.1.1.31的组播数据。 有用。 $ ifconfig eth5 Link encap:Ethernet HWaddr E4:11:5B:94:E1:F3 inet addr:10.185.2.2 Bcast:10.185.2.31 Mask:255.255.255.224 … 路线: $ sudo ip route add 10.0.8.0/24 via 10.185.2.14 dev eth5 $ sudo ip route add 224.0.0.0/4 dev eth5 $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.185.2.0 0.0.0.0 255.255.255.224 U 1 0 0 […]
我试图设置一个透明设备的testing平台(从现在开始称为TD)。 目标是确保它转发并正确logging。 我只需要在testing台上使用1台机器+ TD。 是的,两台机器会比较容易,但是我被要求只使用一台机器。 像这样的东西: +–––––––––––––––––––––––––+ | Linux | +––––––––––––+––––––––––––+ | eth1 | eth2 | | 10.0.0.1 | 11.0.0.1 | +–––––––+–-––+–––-+–––––––+ | | | | +––+-–––––––-+––+ | Transparent | | Device | +–––––––––––––––+ 我不确定这是甚至可能的,但目标是这样的:在Linux上,我可以发送任何IPstream量到11.0.0.1,并将其路由出eth1,在TD上login,并接收eth2。 同样的方向。 我希望我的testing脚本通过打开10.0.0.1和11.0.0.1上的套接字来使用正常的Linux IP协议栈,将testing数据发送到下一个,看看它是否被另一个接收。 我已经看过这些,没有成功: https://stackoverflow.com/a/8539870/375735 我可以得到它的一半工作。 如果我从本地路由表中删除10.0.0.2,重新添加它作为一个单播,并添加ARP条目我可以然后ping 10.0.0.2,并看到回声请求去我想要他们的地方。 虽然没有答复。 当我尝试执行另一半(本地表中没有本地条目)时,ping失败,并显示“connect:invalid argument”。 https://serverfault.com/a/586347/216716 linux盒子没有networking命名空间。 https://serverfault.com/a/128680 还在玩这个,但还没有成功呢。 当然,这个设置有点不同,因为TD不是路由器。
我有一个运行Oracle Linux的PostgreSQL服务器。 在我的networking中,我有几个工作站,每个工作站都运行不同的操作系统(Fedora,Ubuntu,Windows)。 每隔一段时间,我会失去从几个工作站到服务器的连接,而其他工作站可以连接没有问题。 如果我从服务器进行service network restart ,问题就解决了,每个人都可以工作,直到下一次返回。 任何线索? 谢谢, 本。
对你们都有一个很奇怪的感觉。 我有一个networking设置使用一台Linux机器作为各个网段(单独的networking)和虚拟机(其中之一是一个邮件服务器)之间的网关,所有的networking都由shorewall和bind9pipe理。 这一切都一直愉快地运行了很长时间,但周末服务器下降,并重新启动。 从那以后,Windows机器(ONLY)在networking上打开任何大小的东西都有问题。 例如,电子邮件有一个网页,将打开到login点,然后挂起。 邮件客户端可以下载邮件的标题,而不是邮件的正文。 打开共享文件是没有问题的,但是保存它们非常慢,通常超时。 但是,Mac和Linux机器完全没有问题。 这只是Windows,只在内部networking上。 在任何平台上从外部访问所有这些都不成问题。 我看到,在Linux主机上运行的虚拟机客户机上的相同行为是没有问题的。 我没有想法。 我已经完成了数据包嗅探工作,除了在Linux上看不到的一些Windows机器的重试之外,没有任何问题会跳出我的面。 你会怎么build议我尝试和错误find这个? 什么是Windows的堆栈做不同的Linux / MAC堆栈?
我正在实施WD My Book Live Duo的备份过程。 该设备configuration有软件RAID0。 备份源目录是设备的根目录,目标是同一文件系统内的一个目录(适当注意避免备份文件本身的recursion复制)。 备份文件有一层encryption(源文件是明文),需要比NAS能够提供更多的计算能力。 因此,在同一networking中的服务器上执行耗费CPU的操作。 NAS正在通过NFS导出两个目录。 一个是只读的,包含整个文件系统(它是备份源),另一个是读写(它是备份根目录)。 configuration细节在post结尾处陈述。 备份服务器使用encfs作为encryption层,使用encfs rsnapshot执行备份。 问题是:备份的第一步是将上一个备份目录的cp -al到一个新的目录中,需要大约两个小时才能完成。 到目前为止,我已经在NFS服务器端执行了以下testing: 如果直接在NAS中执行,则相同的cp -al操作需要五分钟 dd /dev/zero ~/test.tmp显示的吞吐量非常接近100 MiB / s top显示CPU消耗低。 然而, 平均负荷很高(〜4) iperf传输速率为1000 Mpbs,因此networking链路正在以预期的满容量运行 vmstat 1显示非常高的wa (等待IO)值(〜80-90%) 设置MTU为9000(用ping -M do mybackuptestingping -M do mybackup )似乎没有任何影响 用async导出似乎没有任何效果 以下testing已经在NFS客户端进行了: dd /dev/zero /e/test.tmp (已encryption)显示与dd /dev/zero /b (未encryption)相同的吞吐量。 所以encryption层似乎不成问题。 传输速率是〜30 MiB / s,这是相当低的,艰难的。 […]
我一直试图实现负载平衡,并在具有多个接口的Linux机器上进行故障转移。 目前我正在使用两个ISP线,我希望分裂networkingstream量,使他们都被使用。 为此,我对IP表格和适用于它们的规则进行了更改。 以下是我所指的Linux Advances Routing and Traffic Control(LARTC)链接http://lartc.org/howto/lartc.rpdb.multiple-links.html 连接在两条ISP线路上都得到分配。 然而,据观察,一旦连接被路由到特定的接口,每次都遵循相同的路由。 这是因为在路由caching中进行的入口。 由于这种现象,负载平衡受到严重影响。 我一直在定期清理caching,这并没有使情况变得更好。
我启用IOAT,但似乎没有数据传输使用DMA的networking: 我在BIOS中启用了IOAT。 CPU是Intel(R)Xeon(R)CPU E5-2650 v2 @ 2.60GHz。 我在ubuntu 14.04(3.11.0-26-generic)中加载了这个模块。 这是dmesg中的相关消息: dmesg | grep ioat [ 7.314760] ioatdma: Intel(R) QuickData Technology Driver 4.00 [ 7.315893] ioatdma 0000:00:04.0: irq 186 for MSI/MSI-X [ 7.317850] ioatdma 0000:00:04.1: irq 187 for MSI/MSI-X [ 7.318319] ioatdma 0000:00:04.2: irq 188 for MSI/MSI-X [ 7.323282] ioatdma 0000:00:04.3: irq 189 for MSI/MSI-X [ […]
我试图解决我的一个Linux服务器(Ubuntu的服务器)。 因此,我想拦截发送到默认网关的所有stream量,然后将其写入文件:最好是某种可由tcpdump和/或tshark读取的pcap格式。 由于我不知道,如果机器被恶意软件感染,我想在写入文件后丢弃整个stream量。 这种情况是可行的吗? 到目前为止,我只能用tshark拦截stream量(当前的默认网关来自bash脚本): tshark host <current default gateway> -o traffic.pcap
我正在面对UDP数据包接收错误(在Linux'netstat -su'命令下)。 我在Machine-A(RHEL 5.2)上运行了10个UDP进程,每个UDP进程以每秒50次的速度向同一个地址和相同的UDP端口发送290字节的数据包。 在接收端(Machine-B RHEL5.2),我有一个侦听这个UDP端口的进程。 此外,在机器B,我运行“netstat -su”来检查UDP数据包错误。 我读过,我需要configuration我的Machine-B Linux的sysctl,我做了以上的testing: net.core.rmem_max = 33554432 net.core.netdev_max_backlog = 2000 另外,我已经将Machine-A和Machine-B中两个接口的MTU大小更改为1380。 以上所有,我仍然遇到UDP数据包接收错误增加(在netstat下) 怎么来的? 还有什么我需要configuration? 顺便说一下,我也尝试net.core.rmem_max = 131071,但仍然面临数据包接收错误:(