Lösung für Asterisk hinter NAT bei Software-Router

rannseier

Aktives Mitglied
Mitglied seit
5 Mai 2004
Beiträge
986
Punkte für Reaktionen
0
Punkte
0
Moin..

Nach vielen vielen Monaten hier nun die Lösung für die NAT-Probleme bei Asterisk nach einem IP-Wechsel.

Das Script setzt vor raus, das der ppp.d /etc/ppp/ip-down.d/ existiert und aufgerufen wird.

Folgende Script kommt in dieses Verzeichnis:

Code:
#!/bin/bash
RMMOD=/sbin/rmmod
IPTABLES=/sbin/iptables

$IPTABLES -F
$IPTABLES -F -t filter
$IPTABLES -F -t nat
$IPTABLES -F -t mangle
$IPTABLES -t filter -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

( rmmod ip_contrackt ip_contrack_ftp ip_nat_ftp ip_queue ip_tables \
        ipt_LOG ipt_MARK ipt_MASQUERADE ipt_MIRROR ipt_REDIRECT \
        ipt_TCPMSS ipt_TOS ipt_limit ipt_mac ipt_mark ipt_multiport \
        ipt_owner ipt_state ipt_tcpmss ipt_tos ipt_unclean \
        iptable_filter iptable_mangle iptable_net \
        iptable_nat ipt_REJECT )

Beim nächsten adsl-stop ; adsl-start wird es aufgerufen.


MfG,
Karl
 
Hallo Karl,

kannst Du Dein Script bitte mal etwas genauer erklären.
Verstehe ich das richtig, das der iptable cache gelöscht wird ?

Wo genau hast Du das Script eingebunden ? In das Script, daß die PPP Verbindung aufbaut oder ?

Ich benutze eine Astaro Firewall, die auf Suse Linux aufsetzt, daher muß ich dann mal gucken, wo ich das einbauen kann.
Was passiert den mit den anderen Verbindung die über meine Firewall gehen z.B. Internes Netz ==> DMZ, wenn ich Dein Script laufen lasse ?

Danke & Gruß
Guidau :?:
 
Moin,

Das kommt in das Script, das beim runterfahren der PPP-Verbindung im Router ausgeführt wird.

Also normalerweise /etc/ppp/ip-down.d/, dort einfach ein ausfürbares Script mit beliebigen Namen rein.

Das Script basiert darauf, das einfach alle Module entladen werden, damit werden auch die NAT-Tabellen gelöscht.

Hier nochmal die aktuelle Variante:


Code:
#!/bin/bash
RMMOD=/sbin/rmmod
IPTABLES=/sbin/iptables

$IPTABLES -F
$IPTABLES -F -t filter
$IPTABLES -F -t nat
$IPTABLES -F -t mangle
$IPTABLES -t filter -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X

( rmmod ip_contrackt ip_contrack_ftp ip_nat_ftp ip_queue ip_tables \
        ipt_LOG ipt_MARK ipt_MASQUERADE ipt_MIRROR ipt_REDIRECT \
        ipt_TCPMSS ipt_TOS ipt_limit ipt_mac ipt_mark ipt_multiport \
        ipt_owner ipt_state ipt_tcpmss ipt_tos ipt_unclean \
        iptable_filter iptable_mangle iptable_net \
        iptable_nat ipt_REJECT ip_conntrack ip_conntrack_ftp ip_tables \
        ip_conntrack )

Das ist die sichere Variante damit alle Module entladen werden.


MfG,
Karl
 
Dann sag doch nochmal explizit, daß man NAT+CONNTRACK nicht in den Kernel kompilieren darf, sondern als Kernel Modul einzubinden ist.

Sonst geht auch kein rmmod :)

Oder wie auf der VOIP-FAQ von mir und Otaku zu finden ist:
Einfach Router (falls Extra-Router) nachts per crontab rebooten :)
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.