Perché iptables improvvisamente bloccava HAProxy

Ho un server Apache dietro un server HAProxy. All'inizio di oggi, il server è diventato non disponibile e HAProxy ha lanciato 503 errori nella parte anteriore. Dopo aver esaminato, sembra che iptables ha iniziato a bloccare le richieste da HAProxy e riavviando Apache ha risolto il problema. Ho bisogno di aiuto per capire perché iptables inizierebbe in modo random a negare queste richieste in modo da impedirlo che accada in futuro.

HAProxy = 10.xxx.xxx.26
Web1 = 10.xxx.xxx.229

voce del registro iptables:

May 16 22:12:27 web1 kernel: [339449.200414] iptables denied: IN=eth1 OUT= MAC=40:40:e9:0d:29:96:40:40:25:5e:3d:74:08:00 SRC=10.xxx.xxx.26 DST=10.xxx.xxx.229 LEN=80 TOS=0x00 PREC=0xC0 TTL=64 ID=9773 PROTO=ICMP TYPE=3 CODE=3 [SRC=10.xxx.xxx.229 DST=10.xxx.xxx.26 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=15095 DF PROTO=TCP SPT=80 DPT=43176 WINDOW=55 RES=0x00 ACK FIN URGP=0 ] 

iptables config (le regole nagios / ssh rimosse per la leggibilità):

 Web1:/var/log# cat /etc/iptables.test.rules *filter :INPUT ACCEPT [5620:459239] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [4375:4238642] -A INPUT -i lo -j ACCEPT -A INPUT -d 127.0.0.0/8 -i ! lo -j REJECT --reject-with icmp-port-unreachable -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth1 -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -i eth1 -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -i lo -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -i lo -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 -A INPUT -j REJECT --reject-with icmp-port-unreachable -A FORWARD -j REJECT --reject-with icmp-port-unreachable -A OUTPUT -j ACCEPT COMMIT 

  • Quando si utilizzano le regole del firewall di iptables, perché affermare lo stato NUOVO su tutte le porte consentite?
  • iptables che registrano inondazioni / var / log / messaggi
  • Proxmox Nat Networking Issue
  • Trasporto di porti tra 2 macchine Internet
  • Stringa Iptables
  • mod_evasive DOSSystemCommand non funziona
  • Un set di regole standard iptables standard e standard per un server web HTTP (s) di base
  • Ponte di networking in dom0 non può ping domU
  • One Solution collect form web for “Perché iptables improvvisamente bloccava HAProxy”

    Questa linea è il tuo colpevole per la voce del registro:

     -A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7 

    Ma la roba reale succosa è nell'output. HAProxy invia i pacchetti ICMP al server Web1, che è quello che stai vedendo nel registro.

    La cosa strana è il tipo … HAProxy sta inviando il tuo server Web ICMP Tipo 3 / Code 3, che è una risposta che afferma che una port è irraggiungibile. Questa è una risposta da un pacchetto precedente originato dal tuo server web (port 80) al server HAProxy (Dyn port 43176). Quello che sembra aver accaduto è che HAProxy ha concluso una session e chiuso la port dynamic prima che Apache ritenesse che la conversazione fosse finita.

    La ragione per cui è accaduto sopra, non lo so. Date un'occhiata a timeouts forse?

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.