
Ich habe zwei Server, auf denen php5-fpm läuft, und einen Load Balancer, auf dem nginx läuft. Die drei Server teilen sich /var/www/drupal über NFS. NFS funktioniert einwandfrei. Ich habe die Datenbank der beiden Server über MySQL Master Master Replication repliziert. Alles hat gut funktioniert, bis ich meine iptables-Regeln hinzugefügt habe. In meinem iptables-Skript lösche ich zuerst alle Ketten und akzeptiere dann die, die ich möchte. Ansonsten gibt es keine weiteren Drop-Anweisungen. Ich habe Port 3306 für MySQL Replication wie folgt geöffnet: (die Regel gilt auf beiden Servern)
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
Das Problem ist, dass ich mich nicht anmelde, wenn ich beide Server betreibe und versuche, mich mit meinem Drupal-Konto anzumelden, obwohl ich in den Drupal-Protokollen einen erfolgreichen Anmeldeversuch finde. Wenn ich nur einen davon betreibe, kann ich mich normal anmelden. Wenn ich in meinen iptables-Regeln alles zulasse, funktioniert es normal. Ich glaube, es gibt einen Port, den ich mit iptables öffnen muss, damit die Replikation richtig funktioniert, aber ich kann nicht herausfinden, welchen ich öffnen soll.
Antwort1
Ich musste nur die ausgehenden Verbindungen öffnen:
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