study the LKL(linux kernel library) https://github.com/lkl/linux
Only apply to 64Bit Linux with ipv4 network.
Rinetd version(with LKL and raw socket backend)
- compile static library liblkl.a
refer to https://github.com/lkl/linux
Linux(LKL)'s kernel configuration file is the
.config file in this repository, it need to be placed at the root directory of the LKL repository.
- compile rinetd(with lkl)
/home/vagrant/lkl/linux/tools/lkl/include with your actual LKL path.
rinetd(lkl) with bbr powered congestion control
wget "https://github.com/linhua55/lkl_study/releases/download/v1.2/rinetd_bbr_powered" -O /usr/bin/rinetd
rinetd(lkl) with bbr congestion control
wget "https://github.com/linhua55/lkl_study/releases/download/v1.2/rinetd_bbr" -O /usr/bin/rinetd
rinetd(lkl) with pcc congestion control
wget "https://github.com/linhua55/lkl_study/releases/download/v1.2/rinetd_pcc" -O /usr/bin/rinetd
For usage, refer to:
Thanks to @phuslu for his one-key script
curl https://raw.githubusercontent.com/linhua55/lkl_study/master/get-rinetd.sh | bash
The configuration file generated by one-key script is
/etc/rinetd-bbr.conf. By default, it only proxy(speed up) port
80, modify the port number as needed.
Determine if function
top command， view process
rinetd's CPU usage. The faster of network speed, the bigger of CPU usage.
- Dependency: iptables, grep, cut, xargs. Usual linux have these tools，But some linux use firewalld instead of iptables, it need install iptables
- For KVM VPS, need to change
venet0:0to the name of the network interface which have KVM's public IP, normally it is