A router az a kis lapos izébizé, amin van sok led és villognak serényen, ha internetezik az ember a közelében.
Ha ezen a szinten vagy kérlek Most zárd be az ablakot. Vagy görgess tovább és olvasgass másik bejegyzést.
De tényleg.
Mindegy, én szóltam.
Szóval. Közvélekedés, hogy ezek a kis szappanosdobozok célszerszámok, beteszik egy halom gép elé, azt’ csodálkoznak, amikor a kis dög lefagy és vehetnek telefonos távkapcsolót/automatikus relékapcsolót/méregdrága routert/árvíztűrő tükörfúrógépet a probléma kiküszöböléséhez / stabil működtetéséhez.
Ha nincs kedved elverni 20-25 ezer ft-ot egy már talán jó routerért és akad otthon néhány apróság akkor az alábbi recept neked íródott. A leírás nem tartalmazza a wlan beállításokat. Én erre a célra meghagytam a régi szappanosdobozomat.
Hozzávalók
Végy
- 1 db legalább 1G ecc rammal működő szervergépet
- 2 db (lehetőleg már akkor gigabites) hálózati kártyát (későbbiekben interfész)
- 1 db igényeidnek megfelelő (lehetőleg gigabites) switchet
- Néhány csipet cat6-os hálózati kábelt (gigabit yeah)
Nulladik lépés – rakd össze a gépet
Az én esetemben a microserverben már volt egy gigabites hálókártya, így csak plusz egy tplink pci express csatolós gigás kártyával kellett bővítenem. Fontos ezekre a csatolókra úgy tekinteni, hogy ezek nem csak sima aljzatok, ezek interfészek, ahhoz, hogy internethez csatlakozz és valahogy eloszd több gép között is elég két interfész. Egyik interfész lesz a WAN a másik a LAN csatoló.
Ha a gép elindul telepíts egy ubuntu szervert. Futhat az oprendszer egy pendrive-ról is, de ez potenciális hibaforrás, maradj vinyónál, vagy ssd-nél.
Ha fent van az alaprendszer derítsd ki, hogy melyik interfész melyik csatoló a linux rendszerben. Debianon világ életben eth0, eth1 volt, minap mikor ezzel foglalkoztam meglepődtem, egyedi neveket szeret osztogatni az ubi.
ifconfig -a
paranccsal tudod csekkolni, hogy a gép látja-e mindkét hálókártyát. Ne tévesszen meg, lesz egy „lo” nevű is, ez egy loopback interface, a rendszer működéséhez szükséges, nem fizikai hálókártya.
Ha nem látsz két hálózati csatolót akkor gondban vagy – telepítened kell a hardverhez szükséges firmware-t.
Ebben az esetben:
lspci
Keress hálókártyára utaló sort, árulkodó jelek: RTL, Realtek, Broadcom, Gigabit ethernet, stb. Ebben a sorban kell szerepelnie egy típusnak is, például nálam:
03:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5723 Gigabit Ethernet PCIe (rev 10)
Itt keress rá google-n hátha megkérdezte már valaki, hogy hogyan kell telepíteni 🙂
Máskülönben rá lehet keresni a típusra az ubuntu repository-ban, emígyen:
apt-get update
apt-get upgrade
apt-cache search típusnév
Ha dobott legalább egy sort akkor olvasd el miről szól és ha úgy látod, hogy az valóban egy firmware akkor a kötőjel előtti megnevezéssel telepítsd a firmware-t (apt-get install csomagnév). Ezután jöhet egy reboot.
Első lépés – csatlakozz az internetre
Általában az angol nyelvű tutorialok a belső hálózat forwarding és dhcp beállítással szokták kezdeni, de szerintem fontos, hogy internet csatlakozással kezdjünk, mert a pppoe csatlakozású internet külön interfésznek fog látszani.
Az internetcsatlakozással ez a thread foglalkozik, érdemes ebből szemezgetni, ha az én leírásomból nem menne a dolog.
A két hálózati interfészből válaszd ki, hogy melyiket szeretnéd WAN interfésznek kinevezni.
pppoeconf
Itt be fogja kérni az internetkapcsolathoz szükséges adatokat, root jelszót az elején, meg még néhány (haszontalan) kérdést, mindegyikre mehet yes.
Ezután
pon dsl-provider
paranccsal csatlakozik a gép az internetre, ha be van dugva jó helyre a kábel és jól adtad meg az adatokat.
Második lépés – lokális hálózat
Itt lefixáljuk, hogy melyik a WAN és a LAN interfész, majd a LAN interfészre DNS szervert akasztunk. Ezen leírás alapján mesélek.
nano /etc/network/interfaces
Ebben szerkessz az alábbiak szerint, nálam em1 a WAN interfész, p2p1 a LAN interfész:
auto lo
iface lo inet loopback
#WAN interfész – én kikommenteltem, hogy bootoláskor ne várjon dhcp szerverre
#auto em1
#iface em1 inet dhcp
#
#LAN interface
allow-hotplug p2p1
iface p2p1 inet static
address 192.168.0..1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
Nálam még ilyet bepakolt a pppoeconf, benne hagyni érdemes:
auto dsl-provider
iface dsl-provider inet ppp
pre-up /sbin/ifconfig em1 up # line maintained by pppoeconf
provider dsl-provider
Most pedig telepítsünk DHCP szervert – ez fog IP címet osztani a LAN interfészre lógó cuccoknak.
apt-get install dnsmasq
mv /etc/dnsmasq.conf /etc/dnsmasq.conf.old
nano /etc/dnsmasq.conf
Megnyílik editor üres tartalommal ebbe mehet:
interface=p2p1
listen-address=127.0.0.1
domain=valamilyen.domain.hu
dhcp-range=192.168.0.100,192.168.0.254,12h
Interface a LAN interfész, a domain egy tetszőleges (esetleg szerverre mutató) domain, dhcp-range pedig vesszővel elválasztva egy IP tartomány, amiből osztogatni fog a gépeknek.
Ezután engedélyezzük az ipv4 forwardingot
nano /etc/sysctl.conf
Keresd meg az alábbi sort és vedd ki előle a kommentet:
net.ipv4.ip_forward=1
Most tűzfalat konfigurálunk. A célunk eléréséhez az alábbi szükséges:
ifconfig paranccsal nézd meg van-e élő pppoe vonal, ezeknek általában ppp0 a címe, ha nem akkor helyettesítsd be a sajátodat, majd
nano /etc/iptables.rules
Szúrd be az alábbit:
*nat
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
További route-olási szabályhoz látogasd meg a fenti általam belinkelt weboldalt.
Végezetül aktiváld a tűzfalszabályokat.
iptables-restore < /etc/iptables.rules
Ezután a LAN interfészre kösd a switch-et, majd arra a gépeket. Ekkor a gépeknek ip címet kell kapniuk és internetre kell lássanak.
Ezután következik egy kis mókolás. Mert újraindításkor homokszem kerül a gépezetbe.
nano /root/router.sh
Paranccsal nyiss egy editort és vésd bele a következőket
#!/bin/bash
pon dsl-provider;
iptables-restore < /etc/iptables.rules;
Adjunk futtathatósági jogot a fenti script-re:
chmod +x /root/router.sh
Majd telepítsünk webmin-t…:
cd /tmp
wget http://heanet.dl.sourceforge.net/project/webadmin/webmin/1.780/webmin_1.780_all.deb
dpkg -i webmin_1.780_all.deb
apt-get -f install
Ha megvagyunk akkor a LAN-ra dugva https://192.168.0.1:10000/ címre ugorjunk, adatriasztási izébizén lépjünk tovább, jelentkezzünk be root felhasználónkkal. Ezután baloldalt System lenyit majd „Scheduled Cron Jobs”. Fent „Create a new scheduled cron job”.
Itt az űrlapon kitölteni:
Execute…: root
Active? Yes
Command: /root/router.sh
Minden mást úgyhagy, lent create gomb. Ez egy igen szépen elnagyolt megoldás, a scriptünkkel a szerver minden percben csatlakozni akar majd az internetre.
Erre az elmebeteg megoldásra azért van szükség, mert…:
- A gép bekapcsolásakor hajlamos nem kapcsolódni automatikusan pppoe internethez
- Mivel nem kapcsolódik nincs ppp0 interfész
- Mivel nincs ppp0 interfész így az iptables-be tett route-olás nem történik meg
- Ha megszakad a vonal bármi miatt 1 percen belül újrakonfigurálja magát
Ééés íme kész a stabil házi routerünk.
Wifiről az elején is írtam – nem teszek említést. Egy N-es szabványú normális 3 antennás kártya nem olcsó mulatság, én a switch egyik lábára akasztottam a régi routert wifi broadcastolás miatt, mobilhoz, tablethez, apró böngészgetéshez bőven elegendő.
Mire jó ez az egész?
- Alacsonyabb ping-em van (torrent mellett)
- Megspóroltam egy normális gigabites router árát
- Úgy konfigolom ahogy akarom
- A storage szerverem jelen esetben a router szerverem, a legnagyobb adatforgalmat ő viszi el, így a belső hálózat nincs terhelés alatt
- Just for fun 😀
Remélem tanulságos volt, hiba, észrevételt kommentekben várom!