51 lines
1.8 KiB
Bash
51 lines
1.8 KiB
Bash
#!/bin/bash
|
|
|
|
# Compilar o programa XDP de otimização MTU para WireGuard
|
|
echo "Compilando programa XDP de otimização para WireGuard..."
|
|
clang -O2 -target bpf -c xdp_wg_mtu_optimizer.c -o xdp_wg_mtu_optimizer.o \
|
|
-I/usr/include/bpf -I/usr/include/ \
|
|
-Wno-unused-function -D__TARGET_ARCH_arm64
|
|
|
|
# Verificar se a compilação foi bem-sucedida
|
|
if [ $? -ne 0 ]; then
|
|
echo "ERRO: Falha na compilação do programa XDP de otimização para WireGuard"
|
|
exit 1
|
|
fi
|
|
|
|
# Implantar o programa XDP na interface WireGuard
|
|
echo "Implantando programa XDP na interface wg0..."
|
|
ip link set dev wg0 xdp object xdp_wg_mtu_optimizer.o verbose
|
|
|
|
# Verificar se carregou corretamente
|
|
if [ $? -eq 0 ]; then
|
|
echo "Programa XDP de otimização para WireGuard carregado com sucesso"
|
|
else
|
|
echo "ERRO: Falha ao carregar programa XDP na interface wg0"
|
|
echo "Tentando adicionar o programa em modo 'generic' (menos eficiente, mas mais compatível)..."
|
|
ip link set dev wg0 xdp object xdp_wg_mtu_optimizer.o section xdp verbose mode generic
|
|
|
|
if [ $? -eq 0 ]; then
|
|
echo "Programa XDP carregado em modo generic com sucesso"
|
|
else
|
|
echo "ERRO: Falha ao carregar programa XDP mesmo em modo generic"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# Configurar MTU eficiente para WireGuard
|
|
echo "Configurando MTU otimizado para interface WireGuard..."
|
|
ip link set dev wg0 mtu 1420
|
|
|
|
# Configurar ajustes do kernel para melhorar fragmentação IP e PMTUD
|
|
echo "Aplicando ajustes de kernel para otimização de MTU..."
|
|
sysctl -w net.ipv4.ip_forward=1
|
|
sysctl -w net.ipv4.tcp_mtu_probing=1
|
|
sysctl -w net.ipv4.tcp_base_mss=1024
|
|
|
|
# Exibir informações
|
|
echo ""
|
|
echo "=== Otimização de MTU para WireGuard ativa ==="
|
|
ip link show dev wg0 | grep -E 'mtu|xdp'
|
|
echo ""
|
|
echo "Para monitorar estatísticas: bpftool map dump name mtu_stats_map"
|