Skip to content

Instantly share code, notes, and snippets.

@cairoapcampos
Forked from pensierinmusica/network-tuning.conf
Last active April 4, 2021 18:34
Show Gist options
  • Save cairoapcampos/f350d5f6932d03c7e3c0a8224670eed6 to your computer and use it in GitHub Desktop.
Save cairoapcampos/f350d5f6932d03c7e3c0a8224670eed6 to your computer and use it in GitHub Desktop.
Definição de um arquivo de configuração sysctl para Nginx
## Coloque este arquivo em "/etc/sysctl.d/network-tuning.conf" e
## execute "sysctl -p /etc/sysctl.d/network-tuning.conf" para que as novas configurações sejam definidas no kernel.
# Evita um smurf attack
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Ativa a proteção contra bad icmp error messages
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Ativa syncookies para proteção contra SYN flood attack
net.ipv4.tcp_syncookies = 1
# Ativa o registro em logs de pacotes forjados (spoofed), source routed ou redirect
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
# Evita que pacotes de origem sejam roteados
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Ativa a filtragem de caminho reverso
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Certifica de que ninguém pode alterar as tabelas de roteamento
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
# Desativa a atuação como um roteador
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Ativa execshild - Funciona somente em Red Hat
#kernel.exec-shield = 1
#kernel.randomize_va_space = 1
# Ajuste IPv6
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
# Otimização para uso de porta para LBs
# Aumentar o limite do descritor de arquivo do sistema
fs.file-max = 65535
# Permitir mais PIDs (para reduzir problemas de rollover); pode quebrar alguns programas 32768
kernel.pid_max = 65536
# Aumenta os limites da porta IP do sistema
net.ipv4.ip_local_port_range = 2000 65000
# Aumenta o tamanho máximo do buffer TCP configurável usando setsockopt ()
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 87380 16777216
# Aumenta os limites de buffer TCP de ajuste automático do Linux
# min, padrão e número máximo de bytes a serem usados
# define o máximo como pelo menos 4 MB ou mais se for utilizado caminhos BDP muito altos
# Tcp Windows etc
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1
# Quando o servidor precisa passar por um alto volume de conexões TCP,
# pode criar um grande número de conexões no estado TIME_WAIT.
# TIME_WAIT significa que uma conexão foi encerrada,
# mas os recursos alocados ainda não foram liberados.
# Definir esta diretiva como 1 dirá ao kernel para tentar
# reciclar a alocação para uma nova conexão quando for seguro fazê-lo.
# Isso é mais barato do que configurar uma nova conexão do zero.
net.ipv4.tcp_tw_reuse = 1
# O número mínimo de segundos que deve decorrer antes que uma
# conexão no estado TIME_WAIT possa ser reciclada.
# Reduzir este valor significa que as alocações serão recicladas mais rapidamente.
net.ipv4.tcp_fin_timeout = 15
# Outras configurações
net.core.somaxconn = 4096
net.ipv4.tcp_max_syn_backlog = 20480
net.ipv4.tcp_max_tw_buckets = 400000
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
vm.min_free_kbytes = 65536
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment