Εμφάνιση 1-1 από 1
  1. #1
    Εγγραφή
    23-11-2010
    Ηλικία
    38
    Μηνύματα
    233
    Downloads
    0
    Uploads
    0
    Επειδή θεωρώ ότι πρέπει να υπάρχει ένα ξεχωριστό topic και να μην ποστάρονται διάσπαρτα υλοποιήσεις σε άσχετα topics, μεταφέρω εδώ τις ρυθμίσεις που πρέπει να κάνετε για να έχετε Internet + Τηλεφωνία NOVA.

    Οι ρυθμίσεις αυτές έχουν γίνει με κωδικούς που ληφθήκαν από το router του παρόχου. Θεωρείται δεδομένο ότι έχετε ζητήσει να σας δώσουν ξεχωριστά ONT + Router σε περίπτωση που ο αρχικός εξοπλισμός ήταν το NOKIA All in One.

    1. Ρύθμιση των VLAN:

    Μέθοδος Α: Αν πρόκειται για Switch configuration (παλαιότερα router & openWRT versions) και όχι DSA Configuration:

    Network -> Switch -> Προσθέτουμε 2 VLANs (835, 837) και κάνουμε TAG τη WAN και την CPU σε αυτά.
    Network -> Interfaces -> Devices -> Κάνουμε clone το MAC address του router της Nova στο device της WAN (εμένα ήταν "eth0" στο παλαιότερο router) - Αυτό μπορεί να είναι προαιρετικό, δεν έχω δοκιμάσει να το αφαιρέσω ακόμα.

    Μέθοδος Β: Αν πρόκειται για νεότερα router & DSA Configuration:

    Internet: Network -> Devices -> Add Device Configuration
    - Device Type: VLAN (802.11q)
    - VLAN ID: 835
    - MAC Address: Την MAC του router του παρόχου
    - Enable IPv6: Disabled

    Τηλεφωνία: Νetwork -> Devices -> Add Device Configuration
    - Device Type: VLAN (802.11q)
    - VLAN ID: 837
    - MAC Address: Την MAC του router του παρόχου
    - Enable IPv6: Disabled

    2. Ρύθμιση των Interfaces:

    Πάμε Network -> Interfaces

    Internet: Σβήνουμε το WAN interface και φτιάχνουμε ένα νέο με τα εξής στοιχεία:
    - Protocol: PPPoE
    - Device: Το 835 VLAN που φτιάξαμε (στην περίπτωση μου "eth0.835" σε παλιότερο router και "wan.835" σε νεότερο router)
    - PAP/CHAP username: To username για την κλήση (εμένα είναι της μορφής {username}@tellas.gr)
    - PAP/ChAP password: To password για την κλήση (μου είχαν βάλει τον αριθμό τηλεφώνου όταν ζήτησα τους κωδικούς του internet. Πριν το κάνω αυτό ήταν άλλος ο κωδικός που είχα τσιμπήσει από το router τους)

    Advanced settings Tab: Use default gateway

    Firewall settings Tab: Το έβαλα στο wan zone (αν δεν υπάρχει θα δημιουργηθεί).

    Αποθηκεύουμε και βλέπουμε ότι γίνεται κλήση και παίρνουμε IP.

    Τηλεφωνία: Φτιάχνουμε το DHCP client interface με τις εξής ρυθμίσεις:
    - Protocol: DHCP Client
    - Device: Το 837 VLAN που φτιάξαμε (στην περίπτωση μου "eth0.837" σε παλιότερο router και "wan.837" σε νεότερο router)
    - Hostname: Send the hostname of this device - Αυτό μπορεί να είναι προαιρετικό, δεν έχω δοκιμάσει να μην στείλω τίποτα από την στιγμή που μου έπαιξε

    Advanced settings Tab:

    - Client ID to send when requesting DHCP: Αυτό πρέπει να είναι της μορφής "30xxxxxxxxxx_cid.ims.wind.gr" αλλά πρέπει πρώτα να το κάνουμε convert σε HEX και να αφαιρέσουμε οποιοδήποτε separator βάλει ο converter.
    - Απενεργοποιούμε το "Use default gateway"
    - Firewall settings: Το βάζουμε σε ένα δικό του zone με όνομα πχ "wan_voip"

    Αποθηκεύουμε και περιμένουμε λογικά να πάρουμε IP.

    Πάμε Network -> Firewall και το στήνουμε ως εξής:

    Πατήστε στην εικόνα για να τη δείτε σε μεγέθυνση. 

Όνομα:  Screenshot 2024-05-30 at 14.43.23.png 
Εμφανίσεις:  7 
Μέγεθος:  128,2 KB 
ID: 256612

    3. Λοιπές ρυθμίσεις:

    Επειδή o sip server ακούει στο "sip-voice.forthnet.gr" και o DNS κάνει resolve σε private ip, το OpenWRT by default θα παραπονιέται για DNS Rebinding attack (δεν θα γίνεται register και θα βλέπετε error στο log του OpenWRT). Για να το απενεργοποιήσετε πάτε Network -> DHCP & DNS -> Filter και απενεργοποιείτε το "Rebind protection" (δοκίμασα να βάλω σε whitelist το "sip-voice.forthnet.gr" και δεν μου έπαιξε, τσεκάρετε το και εσείς).

    4. Ρυθμίσεις SIP:

    Είναι έτοιμο. Τώρα οποιοσδήποτε client στο lan μας (softphone, sip device) μπορεί να κάνει register και κλήσεις, αρκεί να γνωρίζετε πως να ξεπεράσετε τα NAT issues:

    - Το Zoiper το κάνει από μόνο του ενεργοποιοώντας RPORT for Signalling & RPORT For Media
    - To Telephone app στο macOS το κάνει κάνοντας enable το "Update IP Address" στις ρυθμίσεις Network του SIP Account σας.
    - Δοκίμασα σε yealink συσκευή και ήθελε ενεργοποίηση rport στο Account -> Advanced Settings και επιλογή "IPv4 & IPv6" στο Network -> IP Mode (λίγο παραπλανητικό αλλά έτσι στέλνει την ip του dhcp interface αντί την εσωτερική του NAT.
    - Αν δεν έχετε κάτι από τα παραπάνω τότε υπάρχουν άλλες λύσεις με χρήση ενός package που όμως ανοίγει και άλλα πράγματα οπότε με προσοχή: kmod-nf-nathelper-extra

    Ρυθμίσεις SIP:
    - Server: sip-voice.forthnet.gr
    - Port: 5060
    - Username: Θα το έχετε βρει στο config του ρούτερ του παρόχου (ήταν ο αριθμός μου με πρόθεμα το "30" - 302xxxxxxxxx ή αυτός που θα σας δώσει ο πάροχος κατόπιν αίτησης)
    - Password: Θα το έχετε βρει στο config του ρούτερ του παρόχου (ή αυτός που θα σας δώσει ο πάροχος κατόπιν αίτησης)

    5. Χρήση των nameservers της τηλεφωνίας ΜΟΝΟ για το sip server host:

    Με την ανωτέρω υλοποίηση οι nameservers της τηλεφωνίας μπαίνουν μαζί με του PPPoE στο resolv.conf.auto, οπότε το Dnsmasq θα δοκιμάζει να κάνει resolve διάσπαρτα το traffic με όλους nameservers. Δεν δημιουργεί κάποιο πρακτικό πρόβλημα, αλλά δεν υπάρχει λόγος να γίνεται leak το dns traffic στην τηλεφωνία.

    Αυτό μπορεί να λυθεί με τον εξής τρόπο:

    1. Λέμε στο OpenWRT να μην δίνει στο Dnsmasq τους nameservers που φέρνει το DHCP interface της τηλεφωνίας:
    Network -> Interfaces -> Edit στο DHCP interface της τηλεφωνίας -> Advanced settings -> Απενεργοποιούμε το "Use DNS servers advertised by peer"

    2. Προσθέτουμε τα DNS forwards για το sip-voice.forthnet.gr με αυτοματοποιημένο τρόπο όταν γίνεται renew το lease:

    Για να γίνει αυτό θα πρέπει να βάλουμε ένα script στο "/etc/udhcpc.user.d/". Έστω με ένα filename "10-sip-dns". Το script είναι:

    Κώδικας:
    #!/bin/bash
    
    # Define interface name and domain
    interface="voip"
    domain="sip-voice.forthnet.gr"
    
    # Log message indicating the start of the script
    logger -t voip-dns-specifier "Starting VoIP DNS specifier script..."
    
    # Run ifstatus command and store JSON output in a variable
    ifstatus_output=$(ifstatus $interface)
    
    # Extract DNS servers under inactive -> dns-server
    inactive_dns_servers=$(echo "$ifstatus_output" | jq -r '.inactive."dns-server"[]')
    
    # Get the current list of selective forwarding rules
    current_rules=$(uci get dhcp.@dnsmasq[0].server)
    
    # Loop through the current rules and remove those that contain the specified domain
    for rule in $current_rules; do
        if echo "$rule" | grep -q "/$domain/"; then
            uci del_list dhcp.@dnsmasq[0].server="$rule"
        fi
    done
    
    
    # Check if there are DNS servers found
    if [ -n "$inactive_dns_servers" ]; then
        # Log message indicating DNS servers found
        logger -t voip-dns-specifier "Found DNS servers for selective forwarding."
    
        # Add selective forwarding rules for the domain
        for dns_server in $inactive_dns_servers; do
            uci add_list dhcp.@dnsmasq[0].server="/$domain/$dns_server"
        done
    
        # Commit changes
        uci commit dhcp
    
        # Restart dnsmasq service
        /etc/init.d/dnsmasq restart
    
        # Log success message to OpenWrt system log
        logger -t voip-dns-specifier "Selective forwarding rules added for $domain using the following DNS servers: $inactive_dns_servers"
    else
        # Log message indicating no DNS servers found
        logger -t voip-dns-specifier "No DNS servers found. No changes made."
    fi
    το voip στο interface="voip" θα το αλλάξετε με το όνομα που δώσατε στο DHCP interface σας.

    Μπορεί να γίνει ίσως πιο έξυπνο με UCI scripting, ίσως το ψάξω περισσότερο στην πορεία.

    - - - Updated - - -

    Κάποιος mod ίσως πρέπει:

    • Να προσθέσει το [ΟΔΗΓΟΣ] στον τίτλο του Topic για να είναι πιο ξεκάθαρο
    • Αν χρειάζεται να το μεταφέρει σε άλλη κατηγορία (δεν είμαι σίγουρος αν είναι η σωστή εδώ)
    Τελευταία επεξεργασία από το μέλος WhatTheIanni : 07-06-24 στις 15:53.

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας