
Eu tenho dois servidores rodando php5-fpm e um balanceador de carga rodando nginx, os três servidores compartilham/var/www/drupal usando nfs. nfs está funcionando corretamente. Repliquei o banco de dados dos dois servidores usando a replicação master master mysql. tudo estava funcionando bem até que adicionei minhas regras de iptables. No meu script iptables, primeiro descarto todas as cadeias e depois aceito as que desejo, exceto que não há outras instruções drop. Abri a porta 3306 para replicação mysql assim: (a regra está em ambos os servidores)
iptables -A INPUT -p tcp -s $ip_Of_Other_Server --dport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -d $ip_Of_Other_Server --sport 3306 -j ACCEPT
O problema é que, quando executo os dois servidores e tento fazer login usando minha conta no drupal, ele não faz login, embora encontre uma tentativa de login bem-sucedida nos logs do drupal. Quando executo apenas um servidor deles consigo logar normalmente. quando eu permito tudo nas minhas regras do iptables, ele funciona normalmente. Acredito que preciso abrir alguma porta usando iptables para que a replicação funcione corretamente, mas não consigo encontrar qual abrir.
Responder1
Eu só precisava abrir as conexões de saída:
iptables -A OUTPUT -p tcp -d $ip_Of_Other_Server --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp -s $ip_Of_Other_Server --sport 3306 -j ACCEPT