2024. május 5., vasárnap

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

DIY x86 router – szabadulj fel!

A routerem története: mikor jutott először eszembe, miért, hogy és miből, hogyan valósítottam meg.

[ ÚJ TESZT ]

Interfészek konfigurálása

Ezzel tulajdonképpen igazoltuk, hogy nincs akadálya a helyes működésnek. Szóval most már belevághatunk a valódi építkezésbe. Első lépésnek azt gondolom, hogy az interfészek konfigurálása a legoptimálisabb.

Ismerkedés a netctl-lel
Jelen példán a netctl nevű programmal fogjuk ezt megoldani. Egyszerű, érthető, deklaratív jó szintaktikája van, beépített példákkal előretelepítetten érkezik az Arch Linux base csomagjával, szóval valószínűleg már telepítve van.

Minden parancs esetén feltétel, hogy a netctl konfig gyökerében állunk. Ehhez:
cd /etc/netctl

WAN interfész
Rengeteg lehetőségünk van, én kettőt fogok tárgyalni: DHCP és PPPoE. Azt gondolom, hogy ez a két legtöbbet használt. Ha más módon szeretnénk csatlakozni, akkor érdemes az ls examples mappában körülnézni.

A) DHCP
Ezt a megoldást válasszuk akkor, ha olyan interneteléréssel rendelkezünk, ami már eleve NAT-olt, azaz pl. a modem egyben router is. Pl. a legtöbb DOCSIS ilyen. A lényeg, hogy ez akkor használatos, ha az internetelérés nem igényel egyéb beállítást, IP-címet a modemtől / másik routertől kapunk. Ilyen pl. a FTTB Digi LAN is, ha jól tudom.

Másoljuk le a példát tetszőleges néven (itt: wan):
cp examples/ethernet-dhcp wan
Majd kezdjük el szerkeszteni (szerkesztéshez én a nano-t ajánlom, de nyilván bármi lehet. Nano esetén ha végeztük, a Ctrl+X -szel lehet kilépni, megkérdi, mentjük-e, y-nal okézhatjuk és enter.)
nano wan
Ez fog fogadni:
Description='A basic dhcp ethernet connection'
Interface=eth0
Connection=ethernet
IP=dhcp
#DHCPClient=dhcpcd
#DHCPReleaseOnStop=no
## for DHCPv6
#IP6=dhcp
#DHCP6Client=dhclient
## for IPv6 autoconfiguration
#IP6=stateless

Egyetlen dolgunk igazából, az interface-t átnevezni. Most lesz szükségünk az előkészületek során beazonosított és lejegyzett interfészek elnevezéseire. Az Interface=eth0 sort módosítsuk a WAN / bemenetnek használt dugalj nevére, pl. jelen esetben eno1: Interface=eno1

Mehet a mentés, készen vagyunk.

B) PPPoE
A másik sokat használt kapcsolódási forma a PPPoE. Ezt használja pl. a Digi FTTH, vagy az ADSL kapcsolatok többsége is.

Másoljuk a példát: cp examples/pppoe wan
Szerkesszük: nano wan
Ezt látjuk:
Description='Example PPPoE connection'
Interface=eth0
Connection=pppoe
User='example@yourprovider.com'
Password='very secret'

# Always keep a connection established
ConnectionMode='persist'
# Establish connection on demand
#ConnectionMode='demand'
#IdleTimeout=300

# Use default route provided by the peer (default: true)
#DefaultRoute=true
# Use DNS provided by the peer (default: true)
#UsePeerDNS=true

# Override default LCP parameters from /etc/ppp/options
#LCPEchoInterval=15
#LCPEchoFailure=10

# PPPoE options – experts only
#
# PPPoE service name
#PPPoEService=''
# PPPoE access concentrator name
#PPPoEAC=''
# Attach to existing session (sessid:macaddr)
#PPPoESession=''
# Only connect to specified MAC address
#PPPoEMAC=''
# Enable IPv6 support
#PPPoEIP6=yes

Az Interface, User és Password változókat kell definiálnunk, jelen esetben pl.:
Interface=enp1s0
Connection=pppoe
User='digifelhasznalonev'
Password='digijelszo'

Mentés, kész.

LAN interfész
Következhet a LAN interfész, azaz a saját subnetünk, lokális hálózatunk. Jelen példában és személyes javaslatomban egyetlen LAN interfészt használunk, amelyet aztán külön full duplex gigabit switch-csel osztunk tovább, Wi-Fi AP-t kötünk rá. Ha a routeren helyben szeretnénk több LAN interfészt, akkor examples/bridge érdemes nézegetni.

cp examples/ethernet-static lan
nano lan
Description='A basic static ethernet connection'
Interface=eth0
Connection=ethernet
IP=static
Address=('192.168.1.23/24' '192.168.1.87/24')
#Routes=('192.168.0.0/24 via 192.168.1.2')
Gateway='192.168.1.1'
DNS=('192.168.1.1')

## For IPv6 autoconfiguration
#IP6=stateless

## For IPv6 static address configuration
#IP6=static
#Address6=('1234:5678:9abc:def::1/64' '1234:3456::123/96')
#Routes6=('abcd::1234')
#Gateway6='1234:0:123::abcd'

Az Interface-t állítsuk át a LAN interfészünk nevére, mint a WAN esetében. Az Addres-t írjuk át:
Address=('10.0.0.1/24')
amivel egy teljes szubnetet hozunk létre, és egyúttal definiáljuk routerünk LAN címét: 10.0.0.1.

A maradék sorokat (amelyik még nincs) kommenteljük ki #-tel (Gateway, DNS).

Kész, mentés.

Netctl és interfészek engedélyezése
Engedélyezzük a netctl-t és az interfész konfigokat is:

systemctl enable netctl
netctl enable wan
netctl enable lan

Ha nem Arch Linux a kiindulási állapot, és van már internet-interfész kezelő keretrendszerünk (pl.: NetworkManager), akkor azt kapcsoljuk ki:
systemctl disable NetworkManager

Jelen állapotban elvileg tudnunk kell kapcsolódni az internethez. Ki is próbálhatjuk:
systemctl start netctl
systemctl start netctl@wan

Néhány másodperc után már mennie is kell. Ellenőrizhetjük:
ip addr
Mely kimenetén vagy a WAN interfésznél (DHCP WAN esetén), vagy egy új, virtuális PPP0 nevű interfésznél (PPPoE WAN esetén) látnunk kell az INET címünket, amit kaptunk.

Ekkor már tudnunk kell pingelni: ping 8.8.8.8

PPPoE WAN esetén, ha nem akar kapcsolódni, lehet, hogy hiányzik az rp-pppoe csomag, telepítsük:
pacman -S rp-pppoe

Próbáljunk újra kapcsolódni:
netctl reenable wan
systemctl stop netctl@wan
systemctl start netctl@wan

Ha minden jó, mehetünk tovább.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

  • TP-Link WR741ND újraélesztése

    Avagy hogyan kell a különböző firmware-ek csereberéjével téglásított routert visszahozni az életbe?

  • Mercusys MW325R router

    A könnyű használhatóság és a szerény költségvetés miatt esett a választásom erre a filléres Wi-Fi routerre.

  • DIY x86 gateway v2

    Két évvel ezelőtt íródott bejegyzésem folytatása, melyben lényegében ugyanazt a felépítést (router, tűzfal, gateway, VPN-szerver stb.) próbálom bemutatni egy más absztrakciós szintről.

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.