Werkende 3vlan configuratie op Proximus fiber zonder B-Box maar met Linux machine voor Android v7

Hebt u opmerkingen, klachten, steunbetuigingen voor Proximus (Belgacom)? Dan kan u deze hier kwijt.
bartvh
Starter
Starter
Berichten: 4
Lid geworden op: 05 feb 2023, 11:42
Uitgedeelde bedankjes: 1 keer
Bedankt: 6 keer

Deze draad steunt op het werk van Bartb_ in viewtopic.php?t=59990 en dior_dna in viewtopic.php?t=62873. Bedankt!

Voor wie het interesseert hier is mijn configuratie om internet en interactieve tv via Android v7 settop werkende te krijgen op Proximus fiber zonder gebruik te maken van de B-Box. In de plaats daarvan gebruik ik een standaard Linux machine, hier met systemd maar dat moet eenvoudig aan te passen zijn voor distributies die iets anders gebruiken.

Vooraf: de machine heeft twee netwerk interfaces: eno1 en eno2. eno1 is een verbinding met een switch voor mijn interne netwerk. eno2 is verbonden met de fibermodem geleverd door Proximus. Ik heb ervoor gekozen om de interne netwerken adressen in de range 172.16. - 172.20.xx.yy te kiezen. Achteraf gezien niet de beste keuze misschien want interactieve tv gebruikt blijkbaar ook 172.28.xx.yy Maar goed, ik ontloop het conflict net.

Vooraf2: ik ben verre van professional in deze zaken dus goed mogelijk dat er dingen fout/niet veilig zijn. Eigen risico! Verbeteringen hoor ik graag.

Stap 1: het netwerk aan de kant van proximus.

Dit is een relatief simpele stap: op een drie vlan configuratie moet het gewone internet verkeer naar vlan 10 en het interactieve tv verkeer naar vlan 30. We configureren het fysieke eno2 interface dus zo

Code: Selecteer alles

[root@gatekeeper network]# cat /etc/systemd/network/eno2.network
[Match]
Name=eno2

[Network]
VLAN=eno2.10
VLAN=eno2.30
en de twee virtuele interfaces voor de VLANs

Code: Selecteer alles

 
[root@gatekeeper network]# cat /etc/systemd/network/eno2.10.netdev
[NetDev]
Name=eno2.10
Kind=vlan

[VLAN]
Id=10

[root@gatekeeper network]# cat /etc/systemd/network/eno2.30.netdev
[NetDev]
Name=eno2.30
Kind=vlan

[VLAN]
Id=30
Voor interactieve tv moeten we simpelweg een ip adres vragen via DHCP op eno2.30:

Code: Selecteer alles

[root@gatekeeper network]# cat eno2.30.network
[Match]
Name=eno2.30

[Network]
BindCarrier=eno2
DHCP=yes

[DHCP]
UseDNS=no
VendorClassIdentifier=IPTV.000000.HGW_Technicolor
Dat laatste is belangrijk: we doen ons hier voor als de Android v7. Controleer via ifconfig dat eno2.30 een IP adres krijgt (bij mij is dat in de 10.129.xx range) en via route dat je een heleboel routes doorkreeg via eno2.30 (voor ips in de ranges 195.238 en 172.28 in mijn geval)

Voor gewoon internet is een stap extra nodig: daar gebruiken we PPP over Ethernet. Dus maken we een ppp interface aan

Code: Selecteer alles

[root@gatekeeper network]# cat ppp0.network
[Match]
Name=ppp0

[Network]
IPForward=ipv4
We configureren pppoe (ik paste gewoon de voorbeeld configuratie aan, hier laat ik enkel zien wat ik veranderde)

Code: Selecteer alles

[root@gatekeeper ppp]# cat /etc/ppp/pppoe.conf
....
ETH='eno2.10'
# vervang door je eigen username vind je op my proximus onder producten
USER='puXXXXXX@PROXIMUS'
DEFAULTROUTE=yes
Proximus gebruikt CHAP authentificatie dus ik moest ook /etc/ppp/chap-secrets aanpassen.

Code: Selecteer alles

[root@gatekeeper ppp]# cat chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
# YYYYYY is je eigen paswooord ook in te stellen via my proxiumus
"puXXXXXXXX@PROXIMUS"     *       "YYYYYYYYYY"
Na enablen van alle netwerk interfaces en pppoe, zou je een device moeten hebben (ppp0) met een publiek ip waarlangs je normale internet toegang hebt. Het configureren van het internet netwerk voor internetverkeer post ik hier niet gezien de grote variatie: daar zijn genoeg handleidingen over te vinden. Vergeet je firewall niet! Ik ga er vanuit vanaf het volgende dat je internet netwerk ook een ip adres heeft en netwerk verkeer werkt.

Stap 2: interactieve tv

Hier wijk ik misschien af van de gemiddelde configuratie omdat ik een managed switch gebruik en ook intern VLANS gebruik. Voor een 'normale' installatie zal je dus waar ik eno1.130 schrijf (het interne vlan voor interactieve TV), waarschijnlijk eno1 gebruiken. Bij mij heeft eno1.130 een vast ip adres gekregen (172.20.0.1)

Stap2a: dhcp voorzien voor de interactieve tv box via dhcpd.

Code: Selecteer alles

[root@gatekeeper etc]# cat /etc/dhcpd.conf
...
subnet 172.20.0.0 netmask 255.255.255.0 {
  range 172.20.0.16 172.20.0.127;
  option domain-name-servers 195.238.16.47, 195.238.16.147, 195.238.16.148, 195.238.16.48, 8.8.8.8, 8.8.4.4;
  option subnet-mask 255.255.0.0;
  option routers 172.20.0.1;
  option ntp-servers 195.238.16.48,195.238.16.148,195.238.16.47,195.238.16.147;

  host ProximusTVBox1 {
    fixed-address 172.20.0.200;
    hardware ethernet XX:XX:YY:VV:WW:ZZ;
    option bootfile-name "CVT/2/239.255.1.218:64010+SA=239.255.1.218:64010+SAP/3/239.192.4.63:9875";
  }
}
De options hierboven zijn wel degelijk allemaal van belang. Ik heb ze zelf gehaald door tcpdump te gebruiken op eno2.30 op het moment dat ik die interface een ip adres liet aanvragen. Ik heb zelf nog de google domain name servers toegevoegd (8.8...) Het kan waarschijnlijk geen kwaad om dit zelf te kijken of je options hetzelfde zijn via het sniffen van eno2.30 maar waarschijnlijk zal het wel lukken door de bovenstaande te copiëren. Het mac adres van de box vind je op het label dat erop kleeft.

Stap 2b: firewall configureren

Aangenomen dat er reeds de standaard firewall regels zijn om netwerk verkeer van het privé netwerk naar proximus toe te laten moeten we nog multicast trafiek accepteren van Proximus (eno2.30) en verkeer tussen eno2.30 en ons lokaal netwerk toelaten (in mijn geval eno1.130) Aangezien ik een afgescheiden LAN gebruik voor interactieve TV kan ik hier nogal liberaal zijn. Als je dat niet doet, zal je voor je eigen veiligheid wel strenger moeten zijn

Code: Selecteer alles

[root@gatekeeper etc]# cat /etc/iptables/iptables.rules
...
-A POSTROUTING -o eno2.30 -j MASQUERADE
...
-A INPUT -d 224.0.0.0/4 -i eno2.30 -j ACCEPT
-A FORWARD -i eno2.30 -o eno1.130 -j ACCEPT
-A FORWARD -i eno1.130 -o eno2.30 -j ACCEPT
Je zou nu reeds je Android v7 set top box kunnen aansluiten. De opstart procedure zou moeten werken, je zou moeten zien dat je set top box een ip krijgt en moeten kunnen pingen. Je zou tv moeten kunnen terugkijken maar als je live wilt kijken zal je een paar seconden beeld hebben maar daarna niet meer: hiervoor moeten we de multicast proxy installeren, igmpproxy.

Code: Selecteer alles

[root@gatekeeper etc]# cat /etc/igmpproxy.conf
quickleave
##------------------------------------------------------
## Configuration for eth0 (Upstream Interface)
##------------------------------------------------------
phyint eno2.30 upstream  ratelimit 0  threshold 1
        altnet 0.0.0.0/0
        altnet 195.238.0.0/16
        altnet 195.13.12.128/26
        altnet 172.28.32.0/20
        altnet 81.245.3.128/26
        altnet 10.88.0.0/16
        altnet 10.48.22.128/26
        altnet 10.53.64.0/21
        altnet 10.53.72.0/23


##------------------------------------------------------
## Configuration for eth1 (Downstream Interface)
##------------------------------------------------------
phyint eno1.130 downstream  ratelimit 0  threshold 1
Et voila: werkende interactieve tv + internet zonder gebruik te maken van de b-box.

Ook hier zou het moeten lukken om de lijst op te schonen, maar daar heb ik eerlijk gezegd het geduld niet meer voor.
Plaats reactie

Terug naar “Proximus (Belgacom, Skynet)”