linux initcwnd和initrwnd通过/etc/sysctl.conf

大家好,我们知道,3.x内核有更高的TCP默认连接值,比如initcwnd和initrwnd。 对于2.x的朋友,有没有办法在/etc/sysctl.conf中设置这些而不是ip route方式?

而不是以下:

sudo ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10 

有没有办法在/etc/sysctl.conf中设置相同的?

谢谢

通过“通过sysctl.conf”你是否真的意味着你想设置应用每一次启动?

如果是这样,你可以编写/sbin/ifup-local作为接口启动的最后一部分运行任何命令。 ifup脚本使用接口名称作为参数来调用它。

所以你的/sbin/ifup-local可以包含:

 #!/bin/bash if [[ "$1" == "eth0" ]] then ip route change default via 192.168.1.1 dev eth0 proto static initcwnd 10 fi 

至less这在RHEL / CentOS上是可行的。 我还没有尝试过Deb / Ubu /别人。

在CentOS 7中,ifup中调用的脚本是/ sbin / ifup-pre-local。 所以我只是做了脚本/ sbin / ifup-pre-local:

 #!/bin/bash defrt=`ip route | grep "^default" | head -1` ip route change $defrt initcwnd 10 

并且initcwnd在所有的重启和networking重启中被设置。