SuSEFirewall SIP

T

tiptel170

Tripel-As
Guten Abend,

ich habe folgende Problematik:

Ich kann von einem interen Telefon an einer TK-Analge auf ein SIP-Endgerät anrufen. Ich höre zwar das SIP-Endgerät, aber auf SIP-Endgerät höre ich nichts vom Telefon.

Telefon <---> ( Telefonanalge mit LAN-Modul ) <---> ( Gateway IP-Extern 192.168.1.6 / IP-Interen 192.168.0.6 ) <---> ( DWL 2100AP ) Wlan auf ( Android HTC Zoyper-App )

Auf dem Gateway ist SUSE 11.2 Installiert mit der SusE Firewall.
Der SIP-Port 5060 ist in der Firewall freigeschaltet. Und auch der RTP 5004.

Ich habe einen STUN-Server installiert, allerdings funktioniert es damit auch nicht.
Meine Vermutung ist: Dass meine Firewall die Sprachverbindung vom Zoyper auf das normale Telefon durch lässt. Aber in die andere Richtung ist keine Verbindung möglich.

Testweise habe ich es mal direkt verbunden, ohne Firewall geht es.

Wo kann ich da noch ansetzten? Muss ich da was mit den IP-Tables beachten?

Gruß tiptel170
 
Ich würde - am besten auf der Firewall selber - mit tcpdump mitverfolgen was mit den Paketen passiert. Das kannst du auch in eine Datei schreiben lassen und diese Nachher mit Wireshark anschauen. Ich vermute, es werden für die Übertragung der Sprache RTP-Pakete in anderen Portranges benutzt, die von der Firewall gedroppt werden.
 
Was ich festgestellt habe ist folgendes:

Mein Gateway (Server), der hat zwei Netzwerkkarten drin.

eth0 192.168.0.6 Intern (für die Rechner, die in diesem Netz liegen haben es als default-route drin)
eth1 192.168.1.6 Extern -> geht auf den DSL-Router mit Switch, an dem Switch hängt das LAN-Modul von der TK-Anlage.

Aus meinem 192.168.0.xxx Netz kann ich alle Geräte im 192.168.1.xxx anpingen und komme damit ins Internet. Aber wenn ich mein Laptop an das 192.168.1.xxx Netz hänge mit IP 192.168.1.10, Weiterleitung 192.168.1.6 und DNS 192.168.1.6 dann kann ich nur dieses Netz anpingen.

Aber ich komme damit nicht ins Internet und das 192.168.0.xxx Netz ist unerreichbar.

Auf dem Gateway ist die SuSE Firewall aktiv, mit Masquerading und Portweiterleitung.

Das habe ich deswegen herausgefunden, als ich tcpdump ausgefürht habe und mir die Datei durchgelesen habe. Da wurde die Namensauflösung von meinem lokalem DNS-Server nicht korrekt aufgelöst. Dann habe ich in dem 192.168.1.xxx mal meine Geräte mit meinen lokalen DNS-Namen angepinkt mit dem Ergebnis, dass das 192.168.0.xxx Netz nicht erreichbar ist.

Vielleicht kann man mir mit den Einstellungen von der Firewall / Routing behiflich sein.

hier meine netstat -r
Code:
Gateway:/etc # netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
default         LANCOM.casa.red 0.0.0.0         UG        0 0          0 eth1
loopback        *               255.0.0.0       U         0 0          0 lo
link-local      *               255.255.0.0     U         0 0          0 eth0
gateway         *               255.255.255.0   U         0 0          0 eth0
gateway         *               255.255.255.0   U         0 0          0 eth1

Gruß tiptel170
 
Wenn ich tcpdum eingebe bekomme ich folgende Rückmeldung:

Code:
tcpdump |grep udp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:27:41.524268 IP agfeo.casa.red > htcs.casa.red: ICMP agfeo.casa.red udp port 33005 unreachable, length 92

agfeo.casa.red hat die IP 192.168.1.23
htcs.casa.red hat die IP 192.168.0.52

Die Ports auf beiden Seiten sind die gleichen.

Die Firewall habe ich deaktiviert um zu testen habe ich dann folgende Optionen in der Kommandozeile eingestellt:

Code:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -j MASQUERADE

Gruß tiptel170
 
Nun denn, jetzt habe ich in den Rechner eine dritte Netzwerkkarte drin. Diese hat die IP-Adresse: 192.168.2.66 und läuft als eth3 und in der Firewall als external Zone.

In der log-Datei steht folgendes drin:

Code:
SFW2-FWDext-DROP-DEFLT IN=eth2 OUT=eth0 MAC=00:15:e9:ef:f2:df:00:09:40:68:11:e0:08:00 SRC=192.168.2.23 DST=192.168.0.52 LEN=200 TOS=0x18 PREC=0xA0 TTL=63 ID=0 DF PROTO=UDP SPT=33004 DPT=33000 LEN=180

Es werden die Datenpakete die von der TK-Anlage (192.168.2.23) die dann auf die eth2 (192.168.2.6) ankommen dort im Kernel verworfen und nicht auf die eth0 (192.168.0.6) weitergeleitet zum Ziel (192.168.0.52). In die andere Richtung geht das problemlos.

Vielleicht hilft dies weiter...
 
[Gelöst]

[Gelöst]

Die SuseFirewall muss folgende Einstellungen haben, damit die Datenpakete in beide Richtungen gesendet / empfangen werden können:

Code:
iptables -I FORWARD -i eth0 -o eth2 -j ACCEPT
iptables -I FORWARD -i eth2 -o eth0 -j ACCEPT

Die eth0 ist die interne Lan-Karte, wo alle Computer und Drucker angeschlossen sind. Die eth1 ist die Karte die auf das DSL-Modem wirk und nur die Internet-Verbindung zu verfügung stellt. Und die eth2 ist schließlich die Karte, die an die TK-Anlage angeschlossen ist.

Die zwei Zeilen habe ich mir als Script-Datei hinterlegt und in die /etc/init.d/boot.local eingetragen, damit bei einem Serverneustart diese Einstellungen wirksam werden.

Gruß tiptel170
 

Ähnliche Themen

Routing mehrere Netzwerkkarten

linphone und sipgate.de

Zurück
Oben