Valid XHTML 1.0 Transitional

Kviknet konfigurationer

IP-telefoni (VoIP) hos Mifon via Kviknets Genexis Pure ED500 router

2023-09-19 Jørgen Thomsen
genexis ED500 genexis ED500 bag Her anvendes routeren som modtaget fra Kviknet.
Pr default synes den at være sat op, så den bevarer brugerændringer i konfigurationen
ved ændringer udsendt fra Kviknet.
Derfor skulle ændringerne for SIP IP-telefoni ikke blive overskrevet.
Nedenstående giver fungerende IP-telefoni (Voice-over-IP,VoIP) hos Mifon.
Login på routeren på https://192.168.1.1
bruger: admin
password: admin

Opsæt routeren med denne SIP konfiguration.
Gå ind i menupunktet Voice -> SIP Accounts
Skift til Expert Mode
Telefonnummeret hos Mifon er i dette eksempel 12345678
Tilføj en SIP account med følgende data

Enabled: til
Account Name: 12345678@proxy.mifon.dk
SIP domain name: mifon.dk
SIP Username: 12345678
SIP Authentication name: 12345678
(Sæt flueben i Show Key Text så man kan se password under indtastning)
SIP Password: xxxxxxxxxxx   (modtaget fra Mifon)
Display Name: +4512345678
SIP Server/Registrar: proxy.mifon.dk
SIP Server/Registrar port: 5060
Incoming Phone Lines: flueben i Tel 1
  hvor den analoge telefon forbindes.

Preferred codecs:  G.711ALaw
SIP Transport: TCP
Encryption: fra
Gå ind i menupunktet Voice -> Advanced Settings ->Line Settings
Locale selection: Denmark
Bemærk at visse telefoner (fx. Doro Secure 350) ikke genkender ED500s nummervisning for Danmark. Man kan så prøve et andet locale fx. Norway.
Der kan om nødvendigt modificeres andre parametre.
En manual for Genexis routeren kan findes på http://docs.intenogroup.com/genexis/home/

OBS.På grund af en fejl i ED500 softwaren vedrørende Voice passwords, bør man altid slette en konto og oprette en ny, hvis der skal ske ændringer. I modsat fald kan det ske, at der ikke kan oprettes forbindelse til Mifons server.

Linux server også som router med IPv6 hos Kviknet

2023-04-11 Jørgen Thomsen

Man kan opsætte en Linux server, så den fungerer både som server med en offentlig IP-adresse (IPv4 + IPv6)
og som router uden behov for en anden router.
Der spares derved strøm til routeren, hvis man ikke har behov for Wifi eller har et Wifi access point et andet sted.
Der tages her udgangspunkt i serviceudbyderen Kviknet, herefter kaldet ISPen.
Opsætningen er kun en af flere mulige, men er aftestet i et 24/7 produktionsmiljø.

Det er muligt at have en server på en ren IPv4 linje tilknyttet IPv6 netværket via en tunnel fx hos Tunnelbroker.
Dette er langsommere og giver bl.a. problemer for streaming, da Netflix m.fl. tester på, om IPv6 adressen er i Danmark eller et andet land.
Når man anvender en tunnel sker udgang til IPv6 nettet typisk i et andet land fx Holland eller Sverige.

Ved denne ISP kan man få tildelt danske IPv4 og IPv6 adresser.

Forudsætning: man har kendskab til Linux på kommandolinjeniveau og systemctl samt installation med dnf / apt

Hardware konfiguration

Konfiguration 1 (router + server):
WAN skal adskilles fra de interne enheder med et særskilt kabel ud af huset.
Nedenstående hardware er anvendt i testen af den beskrevne opsætning.

  • server med to ethernet indgange eth0 (WAN) eth1 (LAN) og indbygget wifi wlan0 (WLAN)
  • eth1 -> switch -> PCer, TV og wifi access point (da den indbyggede wifi er for svag)
  • wlan0 -> webcam tæt ved, som sender advarsler og snapshots engang imellem.

Konfiguration 2 (server):
Linux server forbundet til ISP med IPv4 og IPv6 via eth0 (WAN)
Ved denne konfiguration tilrettes eventuelt firewall.sh

Operativsystem

Linux Fedora 38 (Redhat), Ubuntu/Mint m. fl.

IP-adresser

ISPen tilbyder via DHCP en offentlig dansk IP-adresse for hhv IPv4 og IPv6
samt et offentligt dansk /48 IPv6 prefix til anvendelse på det interne net.
I den beskrevne opsætning er disse IP-adresser anvendt.

  • eth0:
    • 185.x.y.z/32 offentlig, fra ISPen
    • 2a06:4000:x::y/128 offentlig fra ISPen
    • 2a06:4004:y::1/64 fra det tildelte prefix 2a06:4004:y::/48 fra ISPen
    • 192.168.1.1/24 selvvalgt internt subnet på WAN forbindelsen
  • eth1:
    • 192.168.2.1/24 selvvalgt subnet til interne enheder
    • 2a06:4004:y:1::1/64 delegeret fra det tildelte prefix 2a06:4004:y::/48 fra ISPen
  • wlan0:
    • 10.0.1.1/24 selvvalgt subnet til interne enheder på indbygget wifi, her et webcam
    • 2a06:4004:y:2::1/64 delegeret fra det tildelte prefix 2a06:4004:y::/48 fra ISPen
    • Et webcam i dette subnet har adressen 10.0.1.2 og kan nås udefra ved port forwarding (se firewall.sh).

Her er anvendt de traditionelle betegnelser for indgange (eth0, eth1, wlan0). Det kan opnås ved at anvende udev til omdøbning.
Se den medfølgende fil extra/70-persistent-net.rules, der tilrettet kan placeres i /etc/udev/rules.d.
Alternativt kan man beholde de nye navne og ændre fra ethx til "nytnavn" i konfigurationsfilerne.
Bemærk, at delegeringen af /48 prefixet kun er halvautomatisk,
da Router Advertisements udsendt af eth1 og wlan0 ikke automatisk kan anvende subprefix af /48 prefixet.
Ved ændring af delegeret prefix fra ISPen skal systemd-networkd 11-eth1.network og 12-wlan0.network derfor ændres.

Software

Der skal konfigures mindst 2 programmer: systemd-networkd og firewalld samt yderligere hostapd, hvis intern wifi anvendes.
De forskellige konfigurationsfiler skal tilpasses ens egen hardwarekonfiguration ved at tilføje/slette afsnit eller ændre IP/MAC-adresser.
Læs kommentarerne i de enkelte filer.

Her følger konfigurationsfiler til systemd-networkd, hostapd samt hjælpescripts til firewalld.
Alle filer er samlet og komprimeret med tar og gzip i filen linuxrouter_1.10.tgz,
der kan downloades og udpakkes til linuxrouter_1.10 (tar -xf linuxrouter_1.10.tgz)

  • systemd-networkd Erstatning for Network Manager
    Se beskrivelse fx i https://man.archlinux.org/man/systemd-networkd.8
    Konfigurationsfiler: /etc/systemd/network/10-eth0.network, 11-eth1.network, 12-wlan0.network
    samt /etc/systemd/system/systemd-networkd.service.d/10-debug.conf

    Hvis man kun har eth0, så er det intet problem. systemd-networkd bruger kun de filer, der er hardware til ([Match] sektionen)

    Name         : systemd-networkd
    Source       : systemd-250.8-1.fc36.src.rpm
    Summary      : System daemon that manages network configurations
    URL          : https://www.freedesktop.org/wiki/Software/systemd
    Description  : systemd-networkd is a system service that manages networks. It detects and
                 : configures network devices as they appear, as well as creating virtual network
                 : devices.
    
    Anvendes i stedet for Network Manager.
    Check om installeret fx med systemctl status systemd-networkd
    Den grafiske brugergrænseflade Gnome baserer sig på Network Manager, men når systemet er sat op, så skal man sjældent ændre på det.
    Det må så ske via en kommandolinje.

    systemd-networkd kan starte en intern IPv4 DHCP server, men har ikke en tilsvarende IPv6 DHCP server.
    Tildeling af IPv6 adresser sker ved, at den udsender Router Advertisements med det relevante prefix,
    hvorefter de modtagne enheder genererer egne IPv6 adresser med dette prefix.

    Efter at have konfigureret systemd-networkd skifter man til systemd-networkd med disse kommandoer
    systemctl stop NetworkManager
    systemctl disable NetworkManager
    systemctl mask NetworkManager
    
    systemctl unmask systemd-networkd
    systemctl enable systemd-networkd
    systemctl start systemd-networkd
    
    journalctl -xeu systemd-networkd
    
    # hvis man vil bruge egne statiske DNSer i /etc/resolv.conf (se 10-eth0.network)
    systemctl stop systemd-resolved
    systemctl disable systemd-resolved
    
    

  • firewalld (konfiguration af IPv4 NAT og IPv6 adgang)
    Konfigurationsfiler er i /etc/firewalld, men rediger altid disse med firewall-cmd
    Name         : firewalld
    Source       : firewalld-1.0.5-2.fc36.src.rpm
    Summary      : A firewall daemon with D-Bus interface providing a dynamic firewall
    URL          : http://www.firewalld.org
    Description  : firewalld is a firewall service daemon that provides a dynamic customizable
                 : firewall with a D-Bus interface.
    
    Konfigurationsscript: firewall.sh
    firewall.sh køres for at opsætte IPv4 NAT (masquerade) og tillade adgang til porte fx 80, hvis man kører en webserver på maskinen.
    Læs kommentarer i filen. Der tilrettes ved udeladt eth1 og wlan0.

    Hvis man vil spærre for uønskede IP-adresser og genspærre dem igen ved boot, så kig på ip_drop.sh, onboot.service og onboot.sh i extra

    ip_drop.sh bruges til at spærre for uønsket trafik udefra ved at droppe pakker fra angivne adresser/net.
    onboot.service og onboot.sh bruges til kommandoer ved boot og shutdown

  • hostapd (Validering af password på WIFI)
    Name         : hostapd
    Source       : hostapd-2.10-3.fc36.src.rpm
    Summary      : IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator
    URL          : http://w1.fi/hostapd
    Description  : hostapd is a user space daemon for access point and authentication servers. It
                 : implements IEEE 802.11 access point management, IEEE 802.1X/WPA/WPA2/EAP
                 : Authenticators and RADIUS authentication server.
                 :
                 : hostapd is designed to be a "daemon" program that runs in the back-ground and
                 : acts as the backend component controlling authentication. hostapd supports
                 : separate frontend programs and an example text-based frontend, hostapd_cli, is
                 : included with hostapd.
    
    Konfigurationsfil: /etc/hostapd/hostapd.conf og /etc/sysconfig/hostapd

Ofte brugt software

Nedenstående programmer anvendes normalt i en router,
men de er indbygget i systemd-networkd og skal derfor ikke benyttes, med mindre man har specielle krav.
dhcpd6 er erstattet af de noget simplere Router Advertisements i systemd-networkd.
I folderen extra findes eksempler på konfigurationsfiler til disse programmer. Bruges på eget ansvar.

  • dhcpd (allokering af IPv4 addresser til interne enheder)
    Konfigurationsfil: /etc/dhcp/dhcpd.conf
    Name         : dhcp-server
    Source       : dhcp-4.4.3-2.fc36.src.rpm
    Summary      : Provides the ISC DHCP server
    URL          : https://www.isc.org/dhcp/
    Description  : DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
                 : individual devices on an IP network to get their own network
                 : configuration information (IP address, subnetmask, broadcast address,
                 : etc.) from a DHCP server. The overall purpose of DHCP is to make it
                 : easier to administer a large network.
    
    ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid
    
  • dhcp6d (allokering af IPv6 addresser til interne enheder)
    Samme som dhcp-server
    Konfigurationsfil: /etc/dhcp/dhcpd6.conf
    ExecStart=/usr/sbin/dhcpd -f -6 -cf /etc/dhcp/dhcpd6.conf -user dhcpd -group dhcpd --no-pid
    
  • radv (udsendelse af IPv6 Router Advertisements)
    Konfigurationsfil: /etc/radvd.conf
    Name         : radvd
    Source       : radvd-2.19-5.fc36.src.rpm
    Summary      : A Router Advertisement daemon
    URL          : http://www.litech.org/radvd/
    Description  : radvd is the router advertisement daemon for IPv6.  It listens to router
                 : solicitations and sends router advertisements as described in "Neighbor
                 : Discovery for IP Version 6 (IPv6)" (RFC 2461).  With these advertisements
                 : hosts can automatically configure their addresses and some other
                 : parameters.  They also can choose a default router based on these
                 : advertisements.
                 :
                 : Install radvd if you are setting up IPv6 network and/or Mobile IPv6
                 : services.