[fli4l] NAT timeout für udp und tcp

Christoph Schulz fli4l at kristov.de
Fr Aug 19 15:40:07 CEST 2016


Hallo!

Am Thu, 18 Aug 2016 12:08:52 +0200 schrieb Erwin Lottermann:

> Schaut man sich die Log-Einträge von Thomas/News[1] an, dann sieht es so
> aus, als wenn der SIP-Conntrack-Helper das Timeout für UDP-Verbindungen
> von 180s auf 3600s erhöht.

So ist es. Aus include/linux/netfilter/nf_conntrack_sip.h:

#define SIP_TIMEOUT     3600

Die Beschreibung des Modul-Parameters lautet "timeout for the master SIP 
session". Somit kannst du den SIP-Timeout-Wert als Modul-Parameter 
angeben. Zum Testen könntest du über ein selbstgeschriebenes Skript /etc/
rc.d/rc050.sip-timeout o.ä. den folgenden Eintrag an die /etc/
modprobe.conf anhängen:

  options nf_conntrack_sip sip_timeout=600

Das würde den Timeout auf 600 Sekunden senken. Das Skript könnte etwa so 
aussehen:

  #!/bin/sh
  echo "options nf_conntrack_sip sip_timeout=600" >> /etc/modprobe.conf

Wenn du der C-Programmiersprache mächtig bist, solltest du dir den 
Quelltext der Datei net/netfilter/nf_conntrack_sip.c anschauen. Dort 
findest du vermutlich alle Informationen, die du brauchst. Interessant 
wären vermutlich:

/* Parse a REGISTER request and create a permanent expectation for 
incoming
 * signalling connections. The expectation is marked inactive and is 
activated
 * when receiving a response indicating success from the registrar.
 */
static int process_register_request(struct sk_buff *skb, unsigned int 
protoff,
                                    unsigned int dataoff,
                                    const char **dptr, unsigned int 
*datalen,
                                    unsigned int cseq)

und

static int process_register_response(struct sk_buff *skb, unsigned int 
protoff,
                                     unsigned int dataoff,
                                     const char **dptr, unsigned int 
*datalen,
                                     unsigned int cseq, unsigned int code)

> Kann jemand sagen, ob es Szenarien gibt, bei denen ein so großes Timeout
> für UDP-Verbindungen störend sein kann?

Ich wüsste nicht, warum das so sein sollte. Wenn die Internet-Verbindung 
neu aufgebaut wird, wird die Conntrack-Tabelle sowieso geleert.


Viele Grüße,
-- 
Christoph Schulz
[fli4l-Team]


Mehr Informationen über die Mailingliste Fli4L