Hallo!
Ich habe ein Problem mit meinem Grandstream BT100, meinem Linux-SUSE-Router und sipgate. Ich habe diesen Thread schon im Grandstream-Bereich begonnen. Da das Problem jedoch nicht das BT100 sondern anscheinend mein Firewall-Skript für IPTables unter SUSE 9.3 ist, poste ich meine Anfrage etwas modifiziert noch einmal hier!
Irgendetwas scheint an meinem Firewall-Script nicht zu stimmen, denn das BT100 kann keine Verbindung zu sipgate aufbauen. Hier die Details dazu:
Linux-SUSE-9.3-Router auf IP 192.168.2.1 (dsl0 = extern, eth1 = intern).
BT100-IPTelefon auf IP 192.168.2.80.
Ich benutze testweise das folgende Skript zum Einstellen von IPTables:
So eingestellt will mein BT100 keine Verbindung zu sipgate.de aufbauen. Ich habe schon Stunden bei google.de, hier im Forum und mit verschiedensten HOW-TOs und sonstigen Anleitungen wie "man iptables" verbracht. Leider habe ich keine Idee, warum es nicht funktionieren will.
Und weil ich absolut nicht weiter wusste, habe ich mit "tcpdump" eine seltsame Beobachtung gemacht (tcpdump -n -i eth1 | grep 192.168.2.8):
Am meisten hat mich dieser Ausschnitt verwundert:
IP 192.168.2.80.5060 > 217.10.79.9.5060: UDP, length: 450
IP 192.168.2.1.5060 > 192.168.2.80.5060: UDP, length: 450
Hier wird ein UDP-Paket an Sipgate.de gesendet und die Antwort kommt vom Router (statt von sipgate.de) wieder zurück. In einem anderen Netzwerk (in dem das alles funktioniert) kommt die Antwort von sipgate.de zurück. Also in etwa so:
IP 192.168.2.80.5060 > 217.10.79.9.5060: UDP, length: 450
IP 217.10.79.9.5060 > 192.168.2.80.5060: UDP, length: 450
Meine Vermutung ist im Moment, dass meine Firewall die UDP-Pakete vom Telefon direkt wieder zurück ans Telefon schickt. Nur warum?
Es wäre toll, wenn jemand eine Idee hätte und mir helfen könnte Hat jemand eine Idee, was an dem Skript falsch ist? Oder weiss jemand wieso es nicht funktioniert? Oder hat jemand ein Beispiel-Script, mit dem das BT100 mit Sipgate funktioniert?
Gruss & schon jetzt vielen Dank,
Dirk
PS: Meinen ursprünglichen Beitrag bezüglich des Grandstream findet ihr hier. Dort sind auch Details zu den weiteren Einstellungen zu finden.
Ich habe ein Problem mit meinem Grandstream BT100, meinem Linux-SUSE-Router und sipgate. Ich habe diesen Thread schon im Grandstream-Bereich begonnen. Da das Problem jedoch nicht das BT100 sondern anscheinend mein Firewall-Skript für IPTables unter SUSE 9.3 ist, poste ich meine Anfrage etwas modifiziert noch einmal hier!
Irgendetwas scheint an meinem Firewall-Script nicht zu stimmen, denn das BT100 kann keine Verbindung zu sipgate aufbauen. Hier die Details dazu:
Linux-SUSE-9.3-Router auf IP 192.168.2.1 (dsl0 = extern, eth1 = intern).
BT100-IPTelefon auf IP 192.168.2.80.
Ich benutze testweise das folgende Skript zum Einstellen von IPTables:
Code:
#!/bin/sh
# Alte Firewallregeln loeschen
iptables -F
iptables -X
iptables -F
iptables -t nat -F
# IP Forwarding aktivieren
echo "1" > /proc/sys/net/ipv4/ip_forward
# Das Modul für Network Addrestranslation (NAT) bzw: Masquerading
# laden und Masquerading einschalten.
modprobe iptable_nat
iptables -t nat -A POSTROUTING -o dsl0 -j MASQUERADE
# MTU Paketgroesse wir fuer routing anpassen
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Enfache Firewallregeln zur Blockade eingehender Verbindungen
iptables -A INPUT -i dsl0 -m state --state NEW,INVALID -j DROP
iptables -A FORWARD -i dsl0 -m state --state NEW,INVALID -j DROP
# Firewallregeln fuer SSH zulassen
iptables -I INPUT -i dsl0 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -i dsl0 -p tcp --sport 22 -j ACCEPT
# Weiterleitung der Ports 5004 & 5060 auf 192.168.2.80 (IPTel)
iptables -I FORWARD -i dsl0 -p tcp --dport 5060 -j ACCEPT
iptables -I FORWARD -i dsl0 -p tcp --sport 5060 -j ACCEPT
iptables -t nat -I PREROUTING -i dsl0 -p tcp --dport 5060 -j DNAT --to 192.168.2.80
iptables -t nat -I PREROUTING -i dsl0 -p tcp --sport 5060 -j DNAT --to 192.168.2.80
iptables -I FORWARD -i dsl0 -p tcp --dport 5004 -j ACCEPT
iptables -I FORWARD -i dsl0 -p tcp --sport 5004 -j ACCEPT
iptables -t nat -I PREROUTING -i dsl0 -p tcp --dport 5004 -j DNAT --to 192.168.2.80
iptables -t nat -I PREROUTING -i dsl0 -p tcp --sport 5004 -j DNAT --to 192.168.2.80
iptables -I FORWARD -i dsl0 -p udp --dport 5060 -j ACCEPT
iptables -I FORWARD -i dsl0 -p udp --sport 5060 -j ACCEPT
iptables -t nat -I PREROUTING -i dsl0 -p udp --dport 5060 -j DNAT --to 192.168.2.80
iptables -t nat -I PREROUTING -i dsl0 -p udp --sport 5060 -j DNAT --to 192.168.2.80
iptables -I FORWARD -i dsl0 -p udp --dport 5004 -j ACCEPT
iptables -I FORWARD -i dsl0 -p udp --sport 5004 -j ACCEPT
iptables -t nat -I PREROUTING -i dsl0 -p udp --dport 5004 -j DNAT --to 192.168.2.80
iptables -t nat -I PREROUTING -i dsl0 -p udp --sport 5004 -j DNAT --to 192.168.2.80
So eingestellt will mein BT100 keine Verbindung zu sipgate.de aufbauen. Ich habe schon Stunden bei google.de, hier im Forum und mit verschiedensten HOW-TOs und sonstigen Anleitungen wie "man iptables" verbracht. Leider habe ich keine Idee, warum es nicht funktionieren will.
Und weil ich absolut nicht weiter wusste, habe ich mit "tcpdump" eine seltsame Beobachtung gemacht (tcpdump -n -i eth1 | grep 192.168.2.8):
Code:
19:14:41.398582 arp who-has 192.168.2.1 tell 192.168.2.80
19:14:41.401270 IP 192.168.2.80.5060 > 217.10.79.9.5060: UDP, length: 452
19:14:41.401301 IP 192.168.2.1.5060 > 192.168.2.80.5060: UDP, length: 452
19:14:41.401328 arp who-has 192.168.2.1 tell 192.168.2.80
19:14:41.405185 IP 192.168.2.80.5060 > 192.168.2.80.5060: UDP, length: 333
19:14:41.405196 IP 192.168.2.1.2215 > 192.168.2.80.5060: UDP, length: 333
19:14:46.404135 arp who-has 192.168.2.80 tell 192.168.2.1
19:14:46.433845 arp who-has 192.168.2.1 (ff:ff:ff:ff:ff:ff) tell 192.168.2.80
19:14:48.113933 arp who-has 192.168.2.1 tell 192.168.2.80
19:14:48.114814 arp who-has 192.168.2.1 tell 192.168.2.80
19:14:48.114971 arp who-has 192.168.2.1 tell 192.168.2.80
19:14:48.115039 arp who-has 192.168.2.1 tell 192.168.2.80
19:14:50.602245 IP 192.168.2.80.26789 > 192.168.2.1.53: 30343+ A? sipgate.de. (28)
19:14:50.865710 IP 192.168.2.1.53 > 192.168.2.80.26789: 30343 1/13/0 A 217.10.79.9 (255)
19:14:53.104903 IP 192.168.2.80.5060 > 217.10.79.9.5060: UDP, length: 450
19:14:53.104943 IP 192.168.2.1.5060 > 192.168.2.80.5060: UDP, length: 450
19:14:53.108807 IP 192.168.2.80.5060 > 192.168.2.80.5060: UDP, length: 331
19:14:53.108816 IP 192.168.2.1.2215 > 192.168.2.80.5060: UDP, length: 331
19:14:55.864697 arp who-has 192.168.2.80 tell 192.168.2.1
19:14:55.864906 arp reply 192.168.2.80 is-at 00:0b:82:01:5d:15
19:14:58.102025 IP 192.168.2.80.26789 > 192.168.2.1.53: 30346+ A? time.nist.gov. (31)
19:14:58.621658 IP 192.168.2.1.53 > 192.168.2.80.26789: 30346 1/13/0 A 192.43.244.18 (258)
Am meisten hat mich dieser Ausschnitt verwundert:
IP 192.168.2.80.5060 > 217.10.79.9.5060: UDP, length: 450
IP 192.168.2.1.5060 > 192.168.2.80.5060: UDP, length: 450
Hier wird ein UDP-Paket an Sipgate.de gesendet und die Antwort kommt vom Router (statt von sipgate.de) wieder zurück. In einem anderen Netzwerk (in dem das alles funktioniert) kommt die Antwort von sipgate.de zurück. Also in etwa so:
IP 192.168.2.80.5060 > 217.10.79.9.5060: UDP, length: 450
IP 217.10.79.9.5060 > 192.168.2.80.5060: UDP, length: 450
Meine Vermutung ist im Moment, dass meine Firewall die UDP-Pakete vom Telefon direkt wieder zurück ans Telefon schickt. Nur warum?
Es wäre toll, wenn jemand eine Idee hätte und mir helfen könnte Hat jemand eine Idee, was an dem Skript falsch ist? Oder weiss jemand wieso es nicht funktioniert? Oder hat jemand ein Beispiel-Script, mit dem das BT100 mit Sipgate funktioniert?
Gruss & schon jetzt vielen Dank,
Dirk
PS: Meinen ursprünglichen Beitrag bezüglich des Grandstream findet ihr hier. Dort sind auch Details zu den weiteren Einstellungen zu finden.