OPNsense Forum

International Forums => German - Deutsch => Topic started by: ReneDD on January 24, 2018, 09:20:32 pm

Title: VoIP Netcologne
Post by: ReneDD on January 24, 2018, 09:20:32 pm
Hallo,

ich nutze als Internet Provider Netcologne.

NetCologne stellt auf VLAN 10 das Internet bereit und auf VLAN 20 VoIP.

Meine Konfiguration sieht wie folgt aus:

Draytek Vigor 130 -> OPNSense -> Netgear Managed Switch mit VLAN -> Gigaset VoIP Telefon.

Ich habe 2 VLANs angelegt und diese der Schnittstelle für den WAN Zugang zugewiesen. Danach habe ich 2 Schnittstellen die jeweiligen VLANs angelegt.

Die Schnittstelle mit VLAN 10 baut per PPPoE eine Internetverbindung auf. Die Schnittstelle mit VLAN 20 ist auf DHCP konfiguriert und erhält auch eine private IP von Netcologne.

Wie bekomme ich nun die Verbindung von der VoIP Schnittstelle auf das Gigaset hin?

Ich habe hier auch noch einen USB zu LAN Adapter um eine dritte Schnittstelle direkt auf der OPNSense zu erzeugen.

Vielen Dank,
René
Title: Re: VoIP Netcologne
Post by: NicholasRush on January 25, 2018, 01:04:23 am

Ich verweise dich mal auf den 1und1 VOIP Thread. Das was du Konfigurieren musst ist ähnlich dem dort beschriebenen Beispiel. Mit dem Unterschied das du VLAN 20 von Netcologne fast wie ein zweites WAN Interface behandeln musst, was die Konfiguration anbelangt.

Kurz beschrieben also:
Bitte auch die Anleitung beachten: http://gse.gigaset.com/fileadmin/legacy-assets/NAT_troubleshooting_de.pdf (http://gse.gigaset.com/fileadmin/legacy-assets/NAT_troubleshooting_de.pdf)

WICHTIG: Das Gigaset Telefon darf die Ports nicht zufällig generieren!

Firewall: LAN Interface Regeln
Quellnetz: [IP vom GIGASET]    Zielnetz: VLAN 20    SRC Port Range: ALLE    Protokoll:  TCP/UDP     DST Port Range: ALLE

Firewall: VLAN 20 Interface Regeln
Quellnetz: VLAN 20     Zielnetz: [IP vom GIGASET]    SRC Port Range:5060    Protokoll:  TCP/UDP     DST Port Range: 5060
Quellnetz: VLAN 20     Zielnetz: [IP vom GIGASET]    SRC Port Range:5004 - 5008   Protokoll:  UDP     DST Port Range: 5004 - 5008

NAT: TYP: SOURCE VLAN 20 Interface Regeln
Quellnetz: [IP vom GIGASET]    Zielnetz: ALLE    SRC Port Range: ALLE    Protokoll:  ALLE     DST Port Range: ALLE   Interface: VLAN 20
Diese Regel sieht aus wie die von deinem WAN Interface für den Internetzugriff.

NAT: TYP: DESTINATION (Port Forwarding) VLAN 20 Interface Regeln
Quellnetz: ALLE    Zielnetz: [IP vom GIGASET]     SRC Port Range: 5060    Protokoll:  TCP/UDP     DST Port Range: 5060 Interface: VLAN 20
Quellnetz: ALLE    Zielnetz: [IP vom GIGASET]     SRC Port Range: 5004 - 5008    Protokoll:  UDP     DST Port Range: 5004 - 5008 Interface: VLAN 20

So sollte es gehen hoffe ich.
Title: Re: VoIP Netcologne
Post by: ReneDD on January 27, 2018, 11:30:32 am
Hallo,

danke für die Mühe.

Nach langem probieren, gings viel einfacher :)

Die Schnittstelle WAN_VoIP ist dem VLAN 20 zugewiesen und erhält per DHCP eine IP Adresse. Dieser ist auch als Gateway angelegt.

Mein Gigaset hat eine statische IP im lokalen Netzwerk.

Ich habe nun 2 Firewallregeln angelegt die die Pakete auf den richtigen Weg bringen.

Firewall: LAN Interface
Proto: UDP
Quelle: Einzelner Host - Gigaset IP
Quellport: Alias SIP (5060)
Ziel: NetCologne SIP Server - 172.17.66.118
Zielport: Alias SIP (5060)
Gateway: WAN_VoIP_DHCP

Firewall: LAN Interface
Proto: UDP
Quelle: Einzelner Host - Gigaset IP
Quellport: Alias SIP_Sprache (5004:5020)
Ziel: NetCologne SIP Server - 172.17.66.118
Zielport: jeglich
Gateway: WAN_VoIP_DHCP

Dies funktioniert nun in beide Richtungen.

Am Gigaset sind folgende Einstellungen gesetzt:

DNS SRV Lookup benutzen: nein
Domain: IP SIP NetCologne
Registrations-Server: IP SIP NetCologne
Registrations-Port: 5060
STUN: Nein
Outbound-Proxy: autoamtisch
Netzwerkprotokoll: nur UDP

Danke nochmals!
Title: Re: VoIP Netcologne
Post by: neacal on February 05, 2018, 05:26:02 pm
Moin moin ReneDD ,

ich habe Deine Konfig mit den Vlans übernommen und bekomme auf VLAN20 auch ne IP mit dem GW 10.14.0.1.
Den GW kann ich von OPNsense aus pingen.
Dann bin ich den Weg über siproxd gegangen und habe mich an diesem Post https://forum.opnsense.org/index.php?topic=6112.msg25603#msg25603 orientiert.
Siproxd bekommt keine Verbindung zu 172.17.66.118 zu Stande. Unter Current registrations sehe ich eine Registrierung im siproxd:
sip:21XXXXXX@192.168.22.101:31606
sip:21XXXXXX@10.14.249.21
sip:21XXXXXX@172.17.66.118
Aber das Sipphone ist nicht bei NC registriert. Ich nutze OPNsense 18.1_1. Kann mir jemand einen Schubser gegen? Hier stehe ich quasi auf der Leitung. Mich verwirrt die Tatsache, daß Deine Konfig so bei Dir läuft.
In diesem Post schreibt jemand, warum NC nur mit Siproxy funktionieren wird: http://www.bsdforen.de/threads/openbsd-router-firewall-am-netcologne-anschluss.33591/#post-292268

Ich bin für jeden Hinweis dankbar,

Allerbeste Grüße

neacal
Title: Re: VoIP Netcologne
Post by: NicholasRush on February 05, 2018, 11:46:39 pm
Hallo neacal,

du kannst bei Siproxd fast alles auf Default lassen, das was im BSD Wiki dort eingestellt wird, bitte nicht einfach übernehmen, denn das führt zu noch mehr Problemen. Zudem stellst du bei Siproxd dann auch nicht das WAN Interface, als Outbound Interface ein, sondern das VLAN von Netcologne für Telefonie. Zudem musst du auf diesem VLAN Interface, die Ports die im Siproxd Plugin angezeigt werden, mit dem Ziel auf die OPNsense IP in diesem VLAN, öffnen. Aus dem Lan das gleiche. Im NAT wird nichts konfiguriert, es sei denn Siproxd soll aus dem LAN Transparent laufen, dann musst du eine NAT Regel setzten, die alles an Zielport 5060 auf 127.0.0.1:5060 UDP weiterleitet. Siproxd funktioniert eigentlich mit fast allem, was Sip mit IPv4 im VOIP Bereich spricht.

Gruß
NR
Title: Re: VoIP Netcologne
Post by: neacal on February 06, 2018, 03:17:28 pm
Hallo NicholasRush,

vielen Dank für Deine Hinweise. Es klappt leider noch immer nicht.
siproxd:
Inbound = Lan
Outbound = VLAN20_VOIP
Siproxd-config ist Standard bis auf den STUN-Server. Der steht auf 172.17.66.118

Firewall (zum Testen):
LAN
Proto:IPv4
Source: LAN net
Source-Port: ALL
Destination: ALL
Destination Port: ALL
Gateway: default

LAN
Proto:IPv4
Source: VLAN20_VOIP net
Source-Port: ALL
Destination: ALL
Destination Port: ALL
Gateway: default

VLAN20_VOIP
Proto:IPv4
Source: VLAN20_VOIP net
Source-Port: ALL
Destination: ALL
Destination Port: ALL
Gateway: default

VLAN20_VOIP
Proto:IPv4
Source: LAN net
Source-Port: ALL
Destination: ALL
Destination Port: ALL
Gateway: default

Als Outbound-Proxy steht die LAN-IP in den SIP-Clients.
Leider ist keine Registrierung be NC möglich.  :( Habe ich noch was vergessen?

Allerbeste Grüße
neacal
Title: Re: VoIP Netcologne
Post by: JeGr on February 06, 2018, 04:40:38 pm
Der jeweils zweite Regelblock macht keinen Sinn. Also auf dem LAN Source VLAN20 zu definieren oder umgekehrt auf dem VLAN mit Source LAN zu kommen. Es wird nur _eingehend_ gefiltert. Und eingehend kann auf dem VLAN20 keine IP aus dem LAN ankommen und vice versa natürlich ebenso wenig.

Davon abgesehen: was gibt es denn von siproxd an Logs? Und bekommt die Firewall da irgendwas ab, was sie blockt (weil es etwas gibt, was höher schon greift?) Sind auf dem VLAN20 bspw. private IPs geblockt? Bogons? Mal abschalten zum Test?
Title: Re: VoIP Netcologne
Post by: neacal on February 06, 2018, 05:10:50 pm
Danke JeGr!
Quote
Der jeweils zweite Regelblock macht keinen Sinn
werde ich entfernen.

Der Log des siproxd ist meiner Meinung nach nicht aussagekräftig. Gibt es außer dem system.log noch ein anderes Logsfile?

Code: [Select]
Feb 6 16:51:46 OPNsense configd.py: [83841910-b05d-496c-8b83-ec557f0fb563] request Siproxd status
Feb 6 16:51:44 OPNsense siproxd[29919]: sock.c:131 INFO:bound to port 5060
Feb 6 16:51:44 OPNsense siproxd[29919]: rtpproxy_relay.c:121 INFO:Current thread stacksize is 2048 kB
Feb 6 16:51:44 OPNsense siproxd[29919]: plugins.c:116 INFO:Plugin 'plugin_stun' [Use an external STUN server to determine my public IP] loaded with success, exemask=0x5
Feb 6 16:51:44 OPNsense siproxd[29919]: plugin_stun.c:109 INFO:plugin_stun is initialized, using 172.17.66.118:3478 as STUN server
Feb 6 16:51:44 OPNsense siproxd[29919]: plugins.c:116 INFO:Plugin 'plugin_fix_fbox_anoncall' [Fixes issues with incoming anonymous calls on Fritzbox UAs] loaded with success, exemask=0x40
Feb 6 16:51:44 OPNsense siproxd[29919]: plugin_fix_fbox_anoncall.c:91 INFO:plugin_fix_fbox_anoncall is initialized
Feb 6 16:51:44 OPNsense siproxd[29919]: plugins.c:116 INFO:Plugin 'plugin_fix_DTAG' [Fixes issues with DTAG (t-online.de) broken SIP headers] loaded with success, exemask=0x40
Feb 6 16:51:44 OPNsense siproxd[29919]: plugin_fix_DTAG.c:88 INFO:plugin_fix_DTAG is initialized
Feb 6 16:51:44 OPNsense siproxd[29919]: plugins.c:116 INFO:Plugin 'plugin_fix_bogus_via' [Fixes broken VIA headers on incoming calls] loaded with success, exemask=0x40
Feb 6 16:51:44 OPNsense siproxd[29919]: plugin_fix_bogus_via.c:88 INFO:plugin_fix_bogus_via is initialized
Feb 6 16:51:44 OPNsense siproxd[29919]: siproxd.c:290 INFO:daemonized, pid=29919
Feb 6 16:51:44 OPNsense siproxd[29378]: siproxd.c:233 INFO:siproxd-0.8.2-7997 amd64-portbld-freebsd11.1 starting up
Feb 6 16:51:44 OPNsense configd.py: [6442ebea-b56b-423f-8a15-264e2040be70] starting Siproxd
Feb 6 16:51:43 OPNsense configd.py: generate template container OPNsense/Siproxd
Feb 6 16:51:42 OPNsense configd.py: [5a909c0f-4814-424d-a244-d99724e6db63] generate template OPNsense/Siproxd
Feb 6 16:51:42 OPNsense configd.py: [263015c2-5bdd-41d7-8e6e-62cc92c1727d] stopping Siproxd
Feb 6 16:51:42 OPNsense configd.py: [9f491bee-1c3e-4c9f-9fcc-1b56dd6ce229] request Siproxd status
Feb 6 16:51:34 OPNsense configd.py: [a222dc18-2c24-4c92-bf28-8ee32f862881] request Siproxd status
Feb 6 15:54:03 OPNsense configd.py: [5338fd63-96c6-432f-a11f-584a016787ac] request Siproxd status
Feb 6 15:25:58 OPNsense configd.py: [ea8732af-825b-46d0-ba2e-749c17174145] request Siproxd status
Feb 6 15:22:29 OPNsense siproxd[23576]: sock.c:131 INFO:bound to port 5060
Feb 6 15:22:29 OPNsense siproxd[23576]: rtpproxy_relay.c:121 INFO:Current thread stacksize is 2048 kB
Feb 6 15:22:29 OPNsense siproxd[23576]: plugins.c:116 INFO:Plugin 'plugin_stun' [Use an external STUN server to determine my public IP] loaded with success, exemask=0x5
Feb 6 15:22:29 OPNsense siproxd[23576]: plugin_stun.c:109 INFO:plugin_stun is initialized, using 172.17.66.118:3478 as STUN server
Feb 6 15:22:29 OPNsense siproxd[23576]: plugins.c:116 INFO:Plugin 'plugin_fix_fbox_anoncall' [Fixes issues with incoming anonymous calls on Fritzbox UAs] loaded with success, exemask=0x40
Feb 6 15:22:29 OPNsense siproxd[23576]: plugin_fix_fbox_anoncall.c:91 INFO:plugin_fix_fbox_anoncall is initialized
Feb 6 15:22:29 OPNsense siproxd[23576]: plugins.c:116 INFO:Plugin 'plugin_fix_DTAG' [Fixes issues with DTAG (t-online.de) broken SIP headers] loaded with success, exemask=0x40
Feb 6 15:22:29 OPNsense siproxd[23576]: plugin_fix_DTAG.c:88 INFO:plugin_fix_DTAG is initialized
Feb 6 15:22:29 OPNsense siproxd[23576]: plugins.c:116 INFO:Plugin 'plugin_fix_bogus_via' [Fixes broken VIA headers on incoming calls] loaded with success, exemask=0x40
Feb 6 15:22:29 OPNsense siproxd[23576]: plugin_fix_bogus_via.c:88 INFO:plugin_fix_bogus_via is initialized
Feb 6 15:22:29 OPNsense siproxd[23576]: siproxd.c:290 INFO:daemonized, pid=23576
Feb 6 15:22:29 OPNsense siproxd[23116]: siproxd.c:233 INFO:siproxd-0.8.2-7997 amd64-portbld-freebsd11.1 starting up
Feb 6 15:22:29 OPNsense configd.py: [8e6ba7bc-5bed-4ff0-a89d-ada5896a2d44] restarting Siproxd
Feb 6 14:57:50 OPNsense siproxd[23253]: sock.c:131 INFO:bound to port 5060
Feb 6 14:57:50 OPNsense siproxd[23253]: rtpproxy_relay.c:121 INFO:Current thread stacksize is 2048 kB
Feb 6 14:57:50 OPNsense siproxd[23253]: plugins.c:116 INFO:Plugin 'plugin_stun' [Use an external STUN server to determine my public IP] loaded with success, exemask=0x5
Feb 6 14:57:50 OPNsense siproxd[23253]: plugin_stun.c:109 INFO:plugin_stun is initialized, using 172.17.66.118:3478 as STUN server
Feb 6 14:57:50 OPNsense siproxd[23253]: plugins.c:116 INFO:Plugin 'plugin_fix_fbox_anoncall' [Fixes issues with incoming anonymous calls on Fritzbox UAs] loaded with success, exemask=0x40
Feb 6 14:57:50 OPNsense siproxd[23253]: plugin_fix_fbox_anoncall.c:91 INFO:plugin_fix_fbox_anoncall is initialized
Feb 6 14:57:50 OPNsense siproxd[23253]: plugins.c:116 INFO:Plugin 'plugin_fix_DTAG' [Fixes issues with DTAG (t-online.de) broken SIP headers] loaded with success, exemask=0x40
Feb 6 14:57:50 OPNsense siproxd[23253]: plugin_fix_DTAG.c:88 INFO:plugin_fix_DTAG is initialized
Feb 6 14:57:50 OPNsense siproxd[23253]: plugins.c:116 INFO:Plugin 'plugin_fix_bogus_via' [Fixes broken VIA headers on incoming calls] loaded with success, exemask=0x40
Feb 6 14:57:50 OPNsense siproxd[23253]: plugin_fix_bogus_via.c:88 INFO:plugin_fix_bogus_via is initialized
Feb 6 14:57:50 OPNsense siproxd[23253]: siproxd.c:290 INFO:daemonized, pid=23253
Feb 6 14:57:50 OPNsense siproxd[23081]: siproxd.c:233 INFO:siproxd-0.8.2-7997 amd64-portbld-freebsd11.1 starting up
Feb 6 14:57:50 OPNsense configd.py: [f4f07a57-fb0c-45d4-91bd-dde6914e525f] restarting Siproxd
Feb 6 14:57:19 OPNsense configd.py: [4f4a156f-17b3-4b14-8043-06b382dcc260] request Siproxd status
Feb 6 14:42:23 OPNsense configd.py: [638491e3-9252-450b-9cdc-e4cc045c5194] request Siproxd status
Feb 6 14:37:33 OPNsense configd.py: [79734f8f-6c4b-44a9-889f-64938c91aabe] request Siproxd status

Allerbeste Grüße
neacal
Title: Re: VoIP Netcologne
Post by: JeGr on February 06, 2018, 05:14:11 pm
Ich frage mich nur ob der STUN Server auch erreichbar ist für den SIPROXD und ob er über das richtige Interface angesprochen wird und nicht versehentlich über WAN?
Title: Re: VoIP Netcologne
Post by: neacal on February 06, 2018, 05:37:13 pm
Die Frage war gut!

so kommts im LAN rein:
Code: [Select]
tcpdump -i igb0 -nn -v | grep 172.17.66.118
tcpdump: listening on igb0, link-type EN10MB (Ethernet), capture size 262144 bytes
        INVITE sip:021XXXXXX@172.17.66.118 SIP/2.0
        From: <sip:21XXXXXX@172.17.66.118>;tag=16569826
        To: <sip:021XXXXXXX@172.17.66.118>

Und so gehts auf dem phy if WAN raus. Das sieht aus wie VLAN10, denn die 87.XXX ist ja meine PUB IP:

Code: [Select]
tcpdump -i igb1 -nn -v | grep 172.17.66.118   
tcpdump: listening on igb1, link-type EN10MB (Ethernet), capture size 262144 bytes
    87.X.X.X.5060 > 172.17.66.118.5060: SIP, length: 1187
        INVITE sip:021XXXXXXX@172.17.66.118 SIP/2.0
        From: <sip:21XXXXXXX@172.17.66.118>;tag=341706473
        To: <sip:021XXXXXXX@172.17.66.118>
        P-preferred-identity: <sip:21XXXXXXX@172.17.66.118>

Ja wie geht das denn?

Allerbeste Grüße

neacal
Title: Re: VoIP Netcologne
Post by: neacal on February 06, 2018, 08:15:57 pm
So Problem ist für mich gelöst:
Ich habe eine Route für das Netz 172.17.0.0/16 über den Gateway VLAN20_VOIP_DHCP gesetzt.
Nun läuft VOIP.

Besten Dank für eure Unterstützung!

Allerbeste Grüße

neacal