- Normal bir bilgisayar veya mini PC kullanarak tam işlevli bir router kurma süreci adım adım özetleniyor
- Debian veya Alpine Linux ortamında
hostapd, dnsmasq, bridge-utils gibi asgari paketlerle kablolu ve kablosuz ağ yapılandırılıyor
- İki Ethernet arayüzü olduğu sürece masaüstü, dizüstü, SBC gibi herhangi bir cihaz router’a dönüştürülebiliyor
- Güvenlik duvarı (
nftables), DHCP/DNS hizmetleri ve IP forwarding ayarlarıyla ticari router düzeyinde işlevler sağlanabiliyor
- Hurda donanım ve yalnızca açık kaynak ile kararlı ve esnek bir ağ altyapısı kurulabiliyor
Herhangi Bir Cihaz Nasıl Router’a Dönüştürülür
- ABD hükümetinin tüketici router ithalatını yasaklama adımı sonrasında, mevcut donanımı kullanarak router’ı doğrudan nasıl kurabileceği anlatılıyor
- Linux tabanlı bir mini PC ile yıllardır kararlı şekilde router çalıştırma deneyimine dayanarak, gerekli bileşenler ve kurulum adımları aşama aşama özetleniyor
- Router, özünde normal bir bilgisayarla aynı yapıya sahip olduğundan masaüstü, dizüstü, SBC gibi farklı cihazlarla da kurulabiliyor
- Debian veya Alpine Linux ortamında hostapd, dnsmasq, bridge-utils gibi asgari paketlerle yapılandırılıyor
- Amaç politikaya tepki vermek değil, mevcut donanımı yeniden değerlendirmek ve ağ bilgisini artırmak
Donanım seçimi
- Pasif soğutmalı mini PC ideal olsa da, iki Ethernet arayüzü olduğu sürece herhangi bir cihaz kullanılabilir
- USB-Ethernet dongle ile eksik tamamlanabilir; güvenilirlik biraz daha düşük olsa da yeterince iyi çalışır
- Örnek olarak Celeron 3205U çift çekirdekli (1.5GHz) bir cihaz, kablolu bağlantıda 820~850Mbps, kablosuzda yaklaşık 300Mbps işleyebiliyor
- Geçmişte ThinkPad T60, ExpressCard-PCIe köprüsü, Cisco 2960 switch, D-Link router (yalnızca AP olarak) gibi hurda parçalarla da kurulum yapılmış
- Görünüşü kaba olsa da tam teşekküllü bir router gibi çalışıyor
Ağ yapısı
- Arayüz düzeni
eth0: WAN
eth1: LAN (kablolu)
wlan0: LAN (kablosuz)
- Kablolu ve kablosuz LAN, bridge ile birleştirilerek aynı ağ olarak çalıştırılıyor
- Ek LAN portu gerekirse USB-Ethernet dongle eklenip bridge’e bağlanabiliyor
- İşletim sistemi Debian Linux, temel bileşenler ise şunlar
hostapd: Wi-Fi ağı oluşturma
dnsmasq: DNS ve DHCP hizmeti
bridge-utils: port bridge işlemleri
Kurulum ve ilk yapılandırma
- BIOS/UEFI ayarları
- PXE ağdan önyükleme devre dışı bırakılır
- USB/PCI güç yönetimi devre dışı bırakılır
- “AC güç geri geldiğinde otomatik açılış” seçeneği etkinleştirilir
- Ekran bağlı değilken yaşanan önyükleme sorunlarını çözmek için HDMI dummy dongle kullanılır
- Bazı donanımlarda non-free-firmware deposunu etkinleştirmek gerekir
- Kablosuz yonga setine göre firmware kurulumu
- Intel:
firmware-iwlwifi
- Realtek:
firmware-ath9k-htc
- Eski Atheros:
firmware-atheros
Gerekli paketlerin kurulumu
Ağ arayüzü adlarını sabitleme
Kablosuz ağ oluşturma
Arayüz yapılandırması
IP forwarding etkinleştirme
Güvenlik duvarı ve NAT ayarları
DHCP ve DNS ayarları
dnsmasq kullanımı (/etc/dnsmasq.conf)
interface=br0
dhcp-range=192.168.1.50,192.168.1.250,255.255.255.0,6h
dhcp-option=option:router,192.168.1.1
dhcp-option=option:dns-server,192.168.1.1
cache-size=10000
- Hizmeti etkinleştirme
sudo systemctl enable dnsmasq
Seri port yönetimi
Çalışmayı doğrulama
Ek özellikler
- Loglama ve trafik analizi, VLAN ayrımı, IPv6 desteği, VPN tünelleme, dinamik yönlendirme (BGP, IGP) gibi genişletmeler yapılabilir
- Prometheus tabanlı izleme, DMZ port yönlendirme, saldırı tespiti ve engelleme özellikleri eklenebilir
- Ancak router’ın üzerine aşırı yazılım yüklemekten kaçınmak, trafiği DMZ veya VLAN ile ayırmak daha uygundur
Sonuç
- Ücretsiz yazılım ve hurda donanım ile bile tam işlevli bir router kurulabilir
- Router sonuçta normal bir bilgisayardan ibarettir ve herkes bunu kendisi yapabilir
- Gereksiz cihazları yeniden değerlendirerek kararlı ve esnek bir ağ altyapısı kurulabilir
1 yorum
Hacker News görüşleri
Harika bir yazı. Uzun zamandır bakımını yaptığım create_ap betiğinden bahsetmek istiyorum
GitHub deposu burada.
Bu, tek satırlık bir komutla herhangi bir Linux bilgisayarı WiFi yönlendiricisine dönüştüren bir shell betiği.
Temelde WiFi kartını AP moduna alıyor ve WPA2/3, MAC filtreleme ile DHCP/DNS sunucusunu otomatik olarak yapılandırıyor.
Neredeyse hiç bağımlılığı yok ve NetworkManager da gerekmiyor.
Eski bir Atom mini PC’yi ev interneti ağ geçidi olarak kullandım; ayrıca IoT cihazları için tersine mühendislik amaçlı test ağı kurarken de sık sık kullandım
İlgili bir örnek şu yazıda görülebilir
Birçok yorum “git X kullan” diyor ama bu yazının asıl noktası yönlendirmenin en minimal haliyle ne kadar basit olduğunu göstermek
Docker veya VM içinde NAT kullandıysanız zaten aynı işi yapmışsınız demektir.
Android’in WiFi hotspot özelliği de sonuçta aynı Linux çekirdeği işlevlerini kullanıyor.
Bu mesaj bile muhtemelen birkaç yazılım yönlendiricisinden geçerek size ulaşıyordur
Bence bu iyi bir yazılım tasarım ilkesi
Windows’taki Internet Connection Sharing de sonuçta NAT’ı açan bir onay kutusuydu
Güvenlik duvarı, switch, dosya sunucusu gibi şeyleri tek cihazda toplayıp buna “yönlendirici” demek insanları kafa karışıklığına itiyor gibi
Bu yazı bana eski günleri hatırlattı. Linux’u ilk kullanma amacım boşta duran bir bilgisayardan yönlendirici yapmaktı
100MHz Pentium’a iki adet 3Com ISA NIC takıp IP-Masquerading HOWTO’yu izleyerek kurmuştum.
Sonra bunu Robert Ziegler’in Linux Firewalls kitabını temel alarak geliştirdim; spam filtresi ve Squid önbelleği bile ekledim, böylece çöpe gidecek donanımı epey faydalı hale getirmiş oldum
Aradan 27 yıl geçti, hâlâ insanlara “Linux, lastik bant ve ataçla ucuza nasıl çözülür” diye sorulduğunda beni çağırıyorlar
Referans: Linux Routers - A Primer for Network Administrators
Uzun zamandır OPNsense/pfSense kullanıyorum ve kesinlikle tavsiye ederim
Otomatik güncellemeler, yedekler, WireGuard tünelleri, Suricata tabanlı paket filtreleme gibi özellikleri çok iyi.
Hafta sonu ağı yönetirken terminal yerine web arayüzünden yapılandırabilmek rahat oluyor
Resmi site
pfSense, OpenWRT, Barracuda, Verizon OEM vb. aynı işlevleri sunuyor ama hepsinin bunları ifade etme biçimi farklı
“Cihaz benden daha iyi bilir” tavrı taşıyan ürünleri sevmiyorum. Belirleyici olan şey esneklik eksikliği oldu
Atom mini PC ile 300Mb/s’ye kadar yönlendirme yaptım ama gigabit internete geçince VM tabanlı OPNsense’e geçtim
Intel 4 portlu karttaki portları VM’e tek tek passthrough etmek eğlenceli oluyor
Ben N100 + 10Gbit yönlendirici donanımı kullanıyorum ama gecikmenin, özel donanımlı yönlendiricilere göre daha yüksek olduğunu düşünüyorum
Özel yonga setleri paketleri CPU müdahalesi olmadan işlediği için çok daha verimli.
Bunu gerçekten ölçen biri var mı merak ediyorum. Çoğu kişi sadece bant genişliği testi yapıyor
OpenWRT bazı donanım switch API’lerini destekliyor ama PCIe kart biçiminde neredeyse hiç yok
Mikrotik’in CCR2004-1G-2XS-PCIe ürünü ilginç bir örnek.
RouterOS çalıştıran tam bir yönlendirici kartını PCIe üzerinden bağlama fikrine dayanıyor.
25Gbps portlarını kullanabiliyorsanız değerli olabilir ama kullanamıyorsanız RB5009’dan çok da farklı değil
Yönetilebilir bir switch’iniz varsa tek NIC ile de yönlendirici kurulabilir
802.1q trunk port olarak ayarlarsanız switch’i bir arayüz genişletici gibi kullanabilirsiniz
Benim evde kurulum böyle bir “router-on-a-stick” yapısı.
PoE switch ve ikinci el Aruba IAP ile tüketici ürünlerinden çok daha kaliteli bir WiFi kurmak mümkün
Eskiden Thinkpad’i yönlendirici olarak kullanıyordum ama şimdi Dell Optiplex’e geçtim ve onu aynı anda VM de çalıştıran bir homelab yönlendiricisi olarak kullanıyorum
Alpine Linux bu iş için gerçekten çok iyi
Aynı performansta bir AP almak yaklaşık 180 dolar tutuyor, o da can sıkıcı
Yönlendirici ithalatını yasaklama politikasının politik gerekçesini merak ediyorum
Trafiğin çoğu zaten TLS ile şifreliyken bunun neden hâlâ tehlikeli görüldüğünü anlamıyorum
Acaba sebep botnet’ler, DDoS, zayıf varsayılan parolalar veya iç ağa sızma gibi şeyler mi?
Volt Typhoon, Flax Typhoon gibi örnekler hâlâ aktif.
Yabancı ekipmanı yasaklamak tek başına çözüm olmaz ama güvenlik bir ürün değil süreçtir; bu yüzden tedarik zincirini kontrol etmek gerekli
Bir zamanlar Amazon’da Bot Mitigation üzerinde çalışırken dünyadaki tüketici cihazlarından gelen trafiği görüyordum.
Aktif cihazların yarısından azıyla bile engellenemez düzeyde trafik oluşuyordu
Huawei de Netgear da olsa DDoS’un kaynağı aynı
DNS/trafik metadata’sına erişim, iç ağa saldırı, DDoS, interneti kesme vb.
Sonuçta bunlar gözetim ve kontrol aracı olarak kötüye kullanılabilir
Yabancı ekipmanın arka kapı taşıma ihtimali gerçekçi bir varsayım
“Git OPNsense kullan” demek üretim ortamı için iyi bir tavsiye olabilir ama öğrenme amacıyla berbat bir tavsiye
Bu yazının değeri, yönlendirmenin ne kadar basit ilkelerle çalıştığını göstermesinde
Yazıda değinilmeyen bir nokta şu: yönlendirici olarak kullanırken
/etc/sysctl.d/10_router.confiçindegibi ayarlarla ek yük azaltılabilir.
VoIP ya da oyun için gecikme ve jitter azaltma ayarlarında işe yarıyor.
gro_flush_timeout, sch_cake, napi_defer_hard_irqs gibi ayarları da değiştiriyorum.
Amaç, aile üyelerinin oyun oynarken daha iyi bir deneyim hissetmesi
Benim kullanımımda fq_codel tek başına bile 10Gbps ortamda yeterince kararlı
Benim asıl merak ettiğim şey fiber modemi değiştirmek
AT&T’den aldığım cihaz sık sık yavaşlıyor ve güvenliğinden de şüpheliyim.
Kendi fiber modeminle değiştirme yöntemi hakkında bir rehber var mı diye merak ediyorum