Viel Traffic durch Paket-Ping-Pong?



  • Hallo zusammen,

    ich habe seit geraumer Zeit folgendes Problem.

    Wir haben einen Server, der via IMAP/POP3 Mails abruft.
    Soweit so gut.. nur ab und an schaukelt sich das ganze so hoch, dass da minuten/stundenlang 100MBit/s an Traffic generiert werden.

    Ein tcpdump auf der Firewall und auf dem Server selbst zeigt entsprechend viel IMAP/POP3-Traffic.
    Wird dieser nun via iptables lokal geblockt (iptables -A INPUT -s Mailserver-IP/32 -j DROP), ist zwar Ruhe, aber ich hab dennoch keine dauerhafte Lösung.

    Ich habe nun bereits versucht, die Connections + States über die Regeln zu limitieren.

    Die Rule sieht wie folgt aus:

    Source: Private IP des Servers
    Destination: IP des Mailservers (Wird nicht von uns verwaltet, sondern von einem der vielen großen Hoster)

    Unter "Advanced Options" habe ich außerdem:
    max States: 50
    Max. connections: 5
    Max. src. states: 50

    Die Rule zeigt folgende Infos an:
    evaluations: 2.639 K
    packets: 69.847 M
    bytes: 2.62 GiB
    states: 1
    state creations: 391

    Wie kann ich dem ganzen am besten Einhalt gebieten?
    Kann ich ggf. den Traffic Shaper verwenden, um Incoming/Outgoing Traffic pro IP zu limitieren?

    Würde mich über Tipps freuen! :)

    Viele Grüße



  • Ich würde mal nachschauen, wer euch da was schicken will und wie groß die Dateien auf dem Server sind.
    Erst mit dem Wissen kannst du dann über das weitere Vorgehen nachdenken.



  • Das sind normale Mails. Ggf mit 1-2 Anhängen. Maximalgröße sind 2MB, meist eher ein paar Kilobytes.
    Der Mailserver, von dem wir den Kram abholen ist ebenfalls legitimiert.



  • Dann zeichne doch mal den Traffic auf, dann siehst du, was schief läuft.
    Ein Packet Capture ist doch in pfSense schon eingebaut.



  • @Kurzschluss:

    Ein tcpdump auf der Firewall und auf dem Server selbst zeigt entsprechend viel IMAP/POP3-Traffic.

    @jahonix:

    Dann zeichne doch mal den Traffic auf, dann siehst du, was schief läuft.

    Wie gesagt, hab ich schon gemacht, jedoch kann ich da nicht wirklich einen Fehler erkennen. ;)

    tcpdump -n -s 0 -XX -vvv not port 22

    
    tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
    20:07:22.834787 IP (tos 0x0, ttl 64, id 56117, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 3172385979, ack 18681361, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db35 4000 4006 8fe7 0afe ab0d b221  .(.5@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.834797 IP (tos 0x0, ttl 53, id 39666, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9af2 4000 3506 db2a b221 6786 0afe  .(..@.5..*.!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.834801 IP (tos 0x0, ttl 64, id 56118, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db36 4000 4006 8fe6 0afe ab0d b221  .(.6@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.834803 IP (tos 0x0, ttl 53, id 39667, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9af3 4000 3506 db29 b221 6786 0afe  .(..@.5..).!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.834807 IP (tos 0x0, ttl 64, id 56119, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db37 4000 4006 8fe5 0afe ab0d b221  .(.7@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.834809 IP (tos 0x0, ttl 53, id 39668, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9af4 4000 3506 db28 b221 6786 0afe  .(..@.5..(.!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.834812 IP (tos 0x0, ttl 64, id 56120, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db38 4000 4006 8fe4 0afe ab0d b221  .(.8@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.835795 IP (tos 0x0, ttl 53, id 39670, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9af6 4000 3506 db26 b221 6786 0afe  .(..@.5..&.!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.836425 IP (tos 0x0, ttl 53, id 39693, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b0d 4000 3506 db0f b221 6786 0afe  .(..@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.836440 IP (tos 0x0, ttl 64, id 56145, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db51 4000 4006 8fcb 0afe ab0d b221  .(.Q@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.836445 IP (tos 0x0, ttl 53, id 39694, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b0e 4000 3506 db0e b221 6786 0afe  .(..@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.836506 IP (tos 0x0, ttl 64, id 56153, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db59 4000 4006 8fc3 0afe ab0d b221  .(.Y@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.836901 IP (tos 0x0, ttl 53, id 39704, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b18 4000 3506 db04 b221 6786 0afe  .(..@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.836915 IP (tos 0x0, ttl 64, id 56156, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db5c 4000 4006 8fc0 0afe ab0d b221  .(.\@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.836919 IP (tos 0x0, ttl 53, id 39705, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b19 4000 3506 db03 b221 6786 0afe  .(..@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.837569 IP (tos 0x0, ttl 53, id 39712, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b20 4000 3506 dafc b221 6786 0afe  .(..@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.837581 IP (tos 0x0, ttl 64, id 56164, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db64 4000 4006 8fb8 0afe ab0d b221  .(.d@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.837584 IP (tos 0x0, ttl 53, id 39713, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b21 4000 3506 dafb b221 6786 0afe  .(.!@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.838256 IP (tos 0x0, ttl 53, id 39722, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b2a 4000 3506 daf2 b221 6786 0afe  .(.*@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.838269 IP (tos 0x0, ttl 64, id 56174, offset 0, flags [DF], proto TCP (6), length 40)
        10.254.XXX.XXX.57846 > 178.33.XXX.XXX.143: Flags [.], cksum 0xeefa (correct), seq 0, ack 1, win 32160, length 0
    	0x0000:  0060 e056 23a7 0050 5697 29f3 0800 4500  .`.V#..PV.)...E.
    	0x0010:  0028 db6e 4000 4006 8fae 0afe ab0d b221  .(.n@.@........!
    	0x0020:  6786 e1f6 008f bd16 c4bb 011d 0e11 5010  g.............P.
    	0x0030:  7da0 eefa 0000                           }.....
    20:07:22.838273 IP (tos 0x0, ttl 53, id 39723, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b2b 4000 3506 daf1 b221 6786 0afe  .(.+@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.838547 IP (tos 0x0, ttl 53, id 39730, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b32 4000 3506 daea b221 6786 0afe  .(.2@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    20:07:22.839235 IP (tos 0x0, ttl 53, id 39735, offset 0, flags [DF], proto TCP (6), length 40)
        178.33.XXX.XXX.143 > 10.254.XXX.XXX.57846: Flags [.], cksum 0x7314 (correct), seq 3882474578, ack 3882474577, win 29200, length 0
    	0x0000:  0050 5697 29f3 0060 e056 23a7 0800 4500  .PV.)..`.V#...E.
    	0x0010:  0028 9b37 4000 3506 dae5 b221 6786 0afe  .(.7@.5....!g...
    	0x0020:  ab0d 008f e1f6 e886 ea62 a480 a10c 5010  .........b....P.
    	0x0030:  7210 7314 0000 0000 0000 0000            r.s.........
    
    [...]
    
    


  • Speichere das mal in eine Datei und schau es dir dann in WireShark an. Das ist IMHO deutlich übersichtlicher.



  • Hi,

    ich hab nun einen Dump gezogen und via Wireshark analysiert.
    Dort sehe ich relativ viel "TCP Dup ACK", wir haben jedoch nichts an unserem Netzwerk umgestellt.




  • Sorry, auf der Ebene fehlt mir jegliches Wissen, ergo kann ich dazu leider gar nichts sagen. Sogern ich auch würde.
    Hoffentlich findet sich hier jemand, ansonsten kann ich nur auf die große Wissensbasis im internationalen Teil des Forums verweisen.



  • Hi,

    ich hänge mich mal weit aus dem Fenster und behaupte:

    Sieht für mich nach einem ack storm aus.

    https://www.ietf.org/mail-archive/web/tcpm/current/msg09450.html

    Ist doch immer das gleiche ack was hin und her geschickt wird.

    Gruß
    pfadmin



  • Hi,

    das dup ack kann eventuell auch von einem Loadbalancer kommen. Vielleicht ist hier auch schon die Lösung. Das mitten im abrufen die Session hängen bleibt.
    Vielleicht kann euer interner Mailserver ja auch ein Limit. Sprich max 30 Mails pro connection abholen.

    Mit dem Traffic share kannst du die Auswirkungen reduzieren während du analysierst. Somit kannst du sagen max. 50mbit für alle imap Verbindungen. Somit hat du nicht Gleichzeit mit der Fehleranalyse UND den Usern / aka Leitung ist ausgelastet zu kämpfen  ;)

    Gruß blex