WireGuard

CentOS 7

Upgrade Kernel

# import key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

# install elrepo repo
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

# install kernel
yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y

# modify grub
grub2-set-default 0

# reboot
reboot

Install dnf

wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo rpm -Uvh epel-release-latest-7*.rpm

sudo su

cat <<EOF > /etc/yum.repos.d/dnf-stack-el7.repo
[dnf-stack-el7]
name=Copr repo for dnf-stack-el7 owned by @rpm-software-management
baseurl=https://copr-be.cloud.fedoraproject.org/results/@rpm-software-management/dnf-stack-el7/epel-7-\$basearch/
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://copr-be.cloud.fedoraproject.org/results/@rpm-software-management/dnf-stack-el7/pubkey.gpg
enabled=1
enabled_metadata=1
EOF

sudo yum install dnf

Install WireGuard

sudo dnf copr enable jdoss/wireguard

sudo dnf install kernel-devel wireguard-dkms wireguard-tools

Start WireGuard

TBD

Enable BBR

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

sysctl -p

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

lsmod | grep bbr