Raspberry Pi’ı Bir Kablosuz Ağ Erişim Noktasına Dönüştürmek

Dâhili kablosuz ağ adaptörünü kullanarak Raspberry Pi’ı bir kablosuz erişim noktası haline getirebilirsiniz. Bu sayede etraftaki mobil (kablosuz) cihazlarınızdan hem Raspberry Pi’ın kendisine erişebilir hem de Raspberry Pi’ın kablolu ağ bağlantısını internete girmek için kullanabilirsiniz. Raspberry Pi’a kablosuz erişim noktası işlevini kazandırmak için, haricen bir program yüklemeye gerek yoktur. SystemD ile ilgili bölümde de açıklandığı üzere; güncel Linux dağıtımlarında (Raspberry Pi OS dâhil) initd mekanizması yerine SystemD mekanisması tercih edilmeye başlanmıştır. İleride initd tamamen ortadan kalkacak. Raspbian, halen (2019) kısmi olarak initd alt yapısını kullanmaya devam etmektedir. Bu başlıkta SystemD altyapısının iki önemli parçası olan systemd-networkd ve wpa_supplicant servislerini kullanarak Raspberry Pi’ımızı bir kablosuz erişim noktasına dönüştüreceğiz.

Haydi! SystemD’yi kullanarak Raspberry Pi’ı bir kablosuz erişm noktası olarak nasıl yapılandırabileceğimize bakalım. Yapılandırmamıza ait örnek ağ kurulumu aşağıdaki gibidir. Kablosuz arayüzü (wlan0) ile kablolu arayüzünün (eth0) farklı ağ adreslerine sahip olmasına dikkat ederek kendi ağ yapılandırmanızı da kullanabilirsiniz.


Örnek kablosuz ağ yapılandırması

Kurulumumuzda eth0 arabirimine sabit olarak 192.168.0.102 adresini tanımladık. Dilerseniz DHCP üzerinden de adres alınmasını sağlayabilirsiniz. Kablosuz istemcilere ise 10.2.2.1 adresli wlan0 arayüzü üzerinde çalışan DHCP ile 10.2.2.x adresleri atanmakta, NAT (Network Address Translation) ile eth0 üzerinden internete çıkmaktadırlar.

Raspberry Pi’ı bir kablosuz ağ erişim noktası olarak yapılandırmak için izlenecek adımlar genel olarak aşağıdaki gibidir:

  1. networking ve dhcpcd servisleri devre dışı bırakılarak bu görev systemd-networkd servisine devredilecek.
  2. wpa_supplicant servisi, wlan0 arayüzü üzerinde etkinleştirilerek bir kablosuz erişim noktası yapılandırılacak.
  3. systemd-networkd servisi kullanılarak, wlan0 arayüzü üzerinde DHCP sunucu hizmeti yapılandırılacak.
  4. systemd-networkd servisi kullanılarak, eth0 arayüzü üzerinde DHCP istemci hizmeti yapılandırılacak.
  5. wlan0 ile eth0 arayüzleri arasında NAT yapılandırılacak
  6. Raspberry Pi yeniden başlatılacak.

systemd-networkd servisinin etkinleştirilmesi

systemd-networkd servisini etkinleştirmeden önce eski ağ servislerimizi devre dışı barakalım:

Eski ağ yapılandırma dosyalarından birisi olan interface’i taşıyarak etkisizleştirelim ve yedekleyelim.

resolv.conf dosyasını nano editörü ile açarak içerisine DNS sunucu adreslerini ekleyelim ve kaydedelim. Bu satır harici programların resolv.conf’u kullanmasına izin verecektir.

systemd-networkd ve systemd-resolved servislerini açılışta başlamak üzere yapılandıralım:

wpa_supplicant’ı kablosuz erişim noktası olarak yapılandırmak

wpa_supplicant-wlan0.conf dosyasını nano editörü ile açarak aşağıdaki örnek yapılandırmayı yazın ve kaydedin. Country seçeneğine bulunduğunuz ülkenin kodunu, ssid seçeneğine kablosuz ağınızın yayın adını, psk seçeneğine de Wi-Fi parolası yazın. İstemciler, bu ssid ve parolayı kullanarak Raspberry Pi’ın kablosuz erişim noktasına bağlanacaklar.

Ardından yapılandırma dosyasının erişim iznini aşağıdaki gibi ayarlayın ve servisi wlan0 üzerinde aktif edin.

wlan0 arayüzünün yapılandırılması

08-wlan0.network yapılandırma dosyasını nano editörü ile açarak aşağıdaki yapılandırmayı yazın ve kaydedin.

Address seçeneği, Name ile belirtilen arayüzün (wlan0) sahip olacağı sabit IP adresi ve ağ maskesini tanımlanmak için kullanılmıştır.

Yukarıdaki ayarlar sayesinde; talep eden kablosuz istemcilere wlan0 arayüzü üzerinden 10.2.2.100 – 10.2.2.149 adres aralığındaki boştaki bir tahsis edilecektir. PoolOffset dağıtımı yapılacak olan aralığın başlangıç adresini PoolSize ise adedini tanımlar. DNS seçeneği ile istemcilere alan adı – ip adresi dönüşümlerinde kullanacakları DNS sunucu bilgisayarının adresi bildirilmiştir.

Dağıtımı yapılacak IP adresi aralığını Private Addresses (Yerel Alan Ağı Adresleri) olarak kabul edilmiş olan aşağıdaki aralıkların birinden seçebilirsiniz.

SıraBaşlangıçBitişGenişlik
1192.168.0.0192.168.255.25565,536
2172.16.0.0172.31.255.2551,048,576
310.0.0.010.255.255.25516,777,216
Özel (private) Sınıf IP Adres  Aralıkları

eth0 arayüzünün yapılandırılması

04-eth0.network yapılandırma dosyasını nano editörü ile açarak aşağıdaki yapılandırmayı yazın ve kaydedin.

Bu yapılandırma ile Linux çekirdeğinin IP yönlendirme desteği açılmış, eth0 arayüzüne sabit olarak 192.168.0.102 adresi atanmıştır. Eğer kablolu ağınızda bir DHCP sunucu mevcutsa [Network] grubu içine DHCP=yes satırını yazabilirsiniz. Bu durumda eth0 arayüzüne otomatik olarak bir İP adresi atanacaktır.

wlan0 ile eth0 arasında NAT yapılandırmak

04-eth0.network dosyasını yapılandırırken Linux çekirdeğinin IP yönlendirmesini etkinleştirmiştik (IPForward). Şimdi de wpa_supplicant servisini kullanarak MASQUERADE işlemini yapacağız. Bu işlem bir ağ adresi dönüşümünü içerir ve iptables adındaki güvenlik duvarı tarafından yerine getirilir. Bu işlem, sistemden ayrılmak üzere olan paketin kaynak adresini, paketin sistemden ayrılacağı ağ arayüzü olan (-o) eth0’ın adresi ile değiştirir. Dolayısıyla cevap paketlerinin wlan0 arayüzünden önce eth0 arayüzüne ulaşması sağlanır. Böylece geri dönecek olan paketler eth0 üzerinden asıl hedefi olan wlan0’a ulaşabilir. Kısaca bu işleme IP maskeleme (MASQUERADE) ya da NAT adı verilir. Bu ayarın çalışabilmesi için önceki başlıkta yapıldığı gibi, çekirdeğin İP yönlendirmesinin etkinleştirilmesi gerekir.

yeniden başlatma ve sorun giderme

Artık Raspberry Pi’ı yeniden başlatarak ayarların geçerli olmasını sağlayabiliriz.

Eğer kablosuz ağ bağlantınızda sorun yaşıyorsanız aşağıdaki status çıktılarında soruna dair bir ipucu yer alabilir.

wpa_supplicant servisinin tüm çalışma zamanı (runtime) değerlerini görmek için aşağıdaki komut satırı yardımcı olabilir:

Aşağıdaki komutlar ise SystemD alt yapısının açılış mesajlarını ve devam etmekte olan çalışma zamanı mesajlarını görüntüler. Eğer bağlantı sorunu yaşıyorsanız bu çıktılarda anlamlı ipuçları bulabilirsiniz.

erişim noktasına bağlı istemcileri listelemek

Raspberry Pi ve wpa_supplicant servisini kullanarak yarattığımız kablosuz erişim noktasına bağlı olan istemcileri görmek için aşağıdaki komutu çalıştırabilirsiniz:

iw aracının çıktısında, bağlı istemcilerin MAC adresleri, download ve upload hızları ve bağlı kalma süreleri gibi çeşitli bilgiler görüntülenir. MAC adresleri listelenen istemcilerin IP adreslerini görmek için arp komutunu daha fazlasını görüntülemek için arp-scan aracından faydalanabilirsiniz.

Ayrıca tüm işletim sistemlerinde çalışabilen görsel bir program olan SoftPerfect Wifi Guard[1] ile de kablosuz erişim noktasına bağlı istemcileri listeleyebilirsiniz.

örnek bir kablosuz ağ yapılandırması

Raspberry Pi Kablosuz Erişim Noktasının Örnek Ağ Yapılandırması

IP yapılandırmasını yukarıdaki şekilde görebileceğiniz bu uygulama hakkında bazı noktalara ışık tutmak istiyorum. Öncelikle bu uygulama sadece kablosuz cihazların internete bağlanması için yapılandırılmıştır. Kablosuz istemciler farklı ağda yer alan (ağ adresi farklı olan) ve kablolu bağlantıya sahip cihazlara erişemezler. Çünkü kablosuz ağlar 10.2.2.0 numaralı ağda yer alırken diğer tüm cihazlar 10.1.1.0 adresli ağda yer almaktadırlar. Dolayısıyla 10.2.2.0 ağından 10.1.1.x’e ulaşmaya çalışan bir cihaz bağlantı kuramayacaktır. Bu özellik, kablosuz istemciler ile Raspberry Pi’ın diğer tarafındaki (eth0 ucundaki) cihazlardan yalıtmak için iyidir; gereksiz yayın paketlerinin (broadcast) ağlar arasında geçişmesi en baştan engellenmiş olur. Bu durum ağ trafik başarımını olumlu etkiler ve olası yapılandırma sorunlarını baştan önler. Diğer avantaj ise güvenlik kaygılarından ileri gelir. Kablosuz ağ parolasını bilen birisinin yerel ağa tam erişimi engellenmiş olur. Bu olası güvenlik zafiyetlerinin suistimal edilememesi için bir tedbir olarak düşünülebilir.

Kablosuz istemcilerin kablolu yerel ağa erişim sağlamasını isterseniz; tüm yapılandırmayı aynı ağ adresini kullanacak şekilde değiştirebilirsiniz. Bunun için; örneğin 10.1.1.0 ağını kullanmak istediğinizi varsayarsak, wlan0 arayüzüne 10.1.1.2 IP adresini, eth0 arayüzüne de 10.1.1.1 IP adresini tanımlayabilirsiniz. Bu durumda DHCP sunucusunun tahsisini yapacağı IP adresi aralığını da 10.1.1.x olacak şekilde ayarlamanız gerekir. Örneğin 10.1.1.100 ile 10.1.1.200 arasını otomatik dağıtabilir. Tabii ki bu durumda aynı ağda (10.1.1.0) IP dağıtan bir başka DHCP sunucusunun olmamasına dikkat etmelisiniz. Genellikle router/modemler varsayılan olarak DHCP üzerinden adres dağıtırlar. Router/modemin panelinden bu özelliği devre dışı bırakmalısınız.

Alt ağ maskesinin kısa gösterimi


10.1.1.1/24 gibi IP adreslerinin sağında yer alan, taksim (/) sembolü ile ayrılan 24 rakamlarının ne anlama geldiğini bilmiyor olabilirsiniz. Bu gösterim alt ağ maskesinin kısa gösterimidir. Örneğin 24 sayısı; 32 bitlik ağ maskesinin en değerli 24 bitinin 1 olduğu anlamına gelir. Yani, ikilik sayı sisteminde ifade edersek 11111111.11111111.1111111.00000000, bunu onluk sayı sistemine çevirirsek de alt ağ maskesinin 255.255.255.0 olduğu anlamına gelir. Kısaca 10.1.1.1/24 ifadesi; sözü edilen ağ arabiriminin IP adresinin 10.1.1.1, ağ adresinin 10.1.1.0 ve alt ağ maskesinin de 255.255.255.0 olduğu söyler. Gördüğünüz gibi çok tercih edilen bu ifade şekli hem kısa olması hem de birçok anlam ifade etmesi açısından kullanışlıdır.


[1] SoftPerfect Wifi Guard web sitesi – https://www.softperfect.com/products/wifiguard/

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.