Balanceamento de Carga e Alta Disponibilidade usando IPTABLES
Publicado por Daniel Maciel Monteiro 30/12/2008
[ Hits: 13.681 ]
Este script foi implantado em um ambiente de teste ultilizando um servidor DNS, dois servidores WEB(Web Apache) e um servidor de arquivos.
Os servidores WEB são idênticos, onde fazem NFS com o servidor de arquivos, na qual estão localizados as páginas web. Ou seja, as webpages são comuns para os dois servidores WEB. O Script tem que estar localizado no servidor DNS.
A função do script é verificar a disponibilidade dos servidores utilizando o protocolo ICMP e fazer o balanceamento entre o mesmos.
#!/bin/bash www1=192.168.0.3 www2=192.168.0.4 if_int0=eth0 while true; do s1="0" s2="0" #TESTANDO SERVIDOR 1 if ping -c 1 -w 1 $www1 1>/dev/null 2>/dev/null; then s1="1" fi #TESTANDO SERVIDOR 2 if ping -c 1 -w 1 $www2 1>/dev/null 2>/dev/null; then s2="1" fi /sbin/iptables -D PREROUTING -t nat -t $if_int0 -j DNAT --to 192.168.0.3 2>/dev/null /sbin/iptables -D PREROUTING -t nat -t $if_int0 -j DNAT --to 192.168.0.4 2>/dev/null /sbin/iptables -D PREROUTING -t nat -t $if_int0 -j DNAT --to 192.168.0.3-192.168.0.4 2>/dev/null if [ $s1 = "1" -a $s2 = "1" ]; then echo "Server 1e2" /sbin/iptables -A PREROUTING -t nat -i $if_int0 -j DNAT --to 192.168.0.3-192.168.0.4 elif [ $s1 = "1" ]; then echo "Server 1" /sbin/iptables -A PREROUTING -t nat -i $if_int0 -j DNAT --to 192.168.0.3 if [ $s2 = "1" ]; then echo "Server 2" /sbin/iptables -A PREROUTING -t nat -i $if_int0 -j DNAT --to 192.168.0.4 else echo "Servidores 1 e 2 não respondem!" fi sleep 10 done
Instalar Unreal Tourment no Linux
Convertendo vídeos flv para avi
Display números digital no terminal
Tabela do Campeonato Brasileiro Direto no Terminal
Instalador de programas no Ubuntu
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Assinador JNLP do Site Portal da Nota Fiscal Eletrônica (4)
Warcraft II Remastered no Linux? (3)









