---
author: anton
title: kako se znebiti T-2 usmerjevalnika
categories: internet
tags: internet homelab sysadmin
lastmodified-not: 2020-11-07 22:15:00
---
Ob priklopu optičnega Interneta sem kmalu hotel povečati svoje omrežje strežnikov in doma namestiti strežnik, na katerem bi lahko gostoval spletno stran, imenski strežnik, poštni strežnik in še kaj. Kajkmalu sem naletel na težavo.
Ker T-2 na območju priključka nima svojega FTTH omrežja, nam je priklop GPON vlaken izvedel Telekom, T-2 pa je njihovo omrežje uporabil za zagotavljanje Interneta. To pomeni, da ni vse tako, kot mora biti, ker se mora T-2 za ceno uporabniške izkušnje podrediti zahtevam omrežja Telekoma. Poleg raznih tehničnih zahtev, kot so kratenje Internetne nevtralnosti v obliki filtriranja TCP povezav glede na številko vrat, so tu še omejitve glede uporabe opreme na strani naročnika.
Medtem ko imajo naročniki T-2 Interneta na T-2 omrežju opremo, ki uporabnika na njegovo željo priključi direktno v javno Internetno omrežje, so naročniki na T-2 gostovanju izpostavljeni veliko slabšim pogojem, recimo izbiri NAT usmerjevalnika. Ne le to, da je izbira majhna, T-2 ima kar v obvezni modem vgrajen NAT usmerjevalnik, tako da uporabnik do obljubljenih treh javnih IPv4 naslovov sploh nima dostopa.
T-2 sicer ponuja neko opcijo IP mostu, ki bi mi zagotovila en statičen IPv4 naslov, vendar sem po treh telefonskih klicih na pomoč uporabnikom obupal, ker T-2 modem ni in ni hotel posredovati mojih IP paketov.
Ker neka bela škatlica, ki lahko beleži moj promet tudi v zasebnem omrežju, zame ni sprejemljiva, sem se odločil poiskati najpreprostejšo alternativo, ki bi mi poleg svobode izbiranja naročniške opreme prinesla tudi možnost gostovanja Internetnih storitev.
Odločil sem se za [Rock64](//wiki.pine64.org/wiki/ROCK64), majhen računalnik z gigabitnim Ethernetom, arm64 procesorjem, štirimi gigabajti RAMa, USB 3.0 in 64 gigabajti eMMC hitre shrambe. Ne sicer neposredno kot NAT usmerjevalnik, temveč kot zmogljiv medijski strežnik, saj ima HDMI izhod za zvok in 4K60s/sek sliko, ter pogon za mrežni disk. Če se name ne bi osredotočili na poštni carini, bi me brez dodatne opreme (infrardeči daljinec, napajalnik, ...) to stalo manj kot 50€.
A kajkmalu po odločitvi, da mora T-2 modem stran, sem ugotovil, da zna biti samo en Ethernet priključek na Rock64 omejitev. Izkazalo se je, da ni, saj Linux lahko pripravimo do vsega mogočega.
Vse skupaj sem priklopil takole: Iz Telekomovega ONT sem potegnil UTP kabel do Ethernet stikala, v katerega sem priključil tudi vse ostale naprave, ki morajo biti v NAT omrežju, ter Rock64 računalnik, ki ga bom uporabljal kot NAT usmerjevalnik. Sedaj naj povem, da taka konfiguracija še vedno ni brez možnosti za napade s strani operaterja, saj lahko le-ta uporabi tehniko [ARP ponarejanja](//en.wikipedia.org/wiki/ARP_spoofing), ker je moje zasebno omrežje v istem lokalnem omrežju [plasti podatkovne povezave](//sl.wikipedia.org/wiki/Plast_podatkovne_povezave).
Kar se tiče distribucije operacijskega sistema, sem pa [najbolj navajen na Debian](/o.html), zato sem namestil [ayufanovo gradnjo Debiana za Rock64](//wiki.pine64.org/index.php/ROCK64_Software_Release#Debian_Stretch), ki sem jo z APT spravil na Debian 10.
Najbolj osnovna zadeva je bila priklop v javno omrežje. Z `nmtui` sem naredil novo Ethernet povezavo in kloniral MAC naslov T-2jevega Iskratel modema, s katerim se oglaša po WAN priključku. To ni bilo zahtevno, ker je MAC naslov napisan na nalepki. Nastavitve IPv4 sem prepustil DHCP strežniku, ki mi bo ob ustreznem MAC naslovu povedal IPv4 naslov. O IPv6 lahko verjetno samo sanjam.
DHCP strežnika zaradi morebitnih konfliktov z operaterjevim DHCP strežnikom rajši nisem postavljal, NAT zasebne IP naslove sem v naprave vpisoval statično.
Uredil sem datoteko `/etc/sysctl.conf`, kjer sem nastavil nastavitev `net.ipv4.ip_forward=1`, da bo Linux postal usmerjevalnik po zagonu, ter datoteko `/etc/network/interfaces.d/20-nat`, kamor sem vpisal slednje besedilo, da sem dodal virtualni mrežni vmesnik, ki služi kot NAT vmesnik.
auto eth0:1
iface eth0:1 inet static
address 10.69.69.1
netmask 255.255.255.0
Seveda sedaj NAT še ne deluje, je pa čas za preverjanje delovanja posredovanja paketov. Za vsak slučaj sem ponovno zagnal vsa Ethernet stikala in izvedel `reboot` na Rock64 ter priklopil osebni računalnik v stikalo, mu nastavil statični IPv4 naslov (`10.69.69.***/24`, maska `255.255.255.0`, prehod `10.69.69.1`) in naslovu bodočega prehoda poslal ICMP ping: `ping 10.69.69.1`. Delovalo je.
Ker se na `iptables` ukaze ne spoznam najbolje, sem malo [pogledal po spletu](//www.miljan.org/main/2006/12/26/linux-nat-with-one-network-interface/) in sestavil tale sklop ukazov, ki poveže `eth0` in virtualno NAT `eth0:1`:
iptables -A FORWARD -i eth0 -o eth0:1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0:1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Za ohranitev `iptables` pravil obstaja v Debianu skript `iptables-persistent`:
apt install iptables-persistent # potrimo shranjevanje pravil, ko nas vpraša
To je vse. Po ponovnem zagonu vse opreme se NAT omrežje postavi nazaj in uspešno deluje. uPNP in *posredovanje vrat* nisem nastavljal, vendar lahko zelo verjetno to naredite z nekaj `iptables` pravili. Vsekakor pa lahko vse storitve, ki morajo biti obrnjene v širni splet, gostujete kar na vašem novem modemu.
LP in se beremo naslednjič!