Raspberry PI HotSpot/Modem Olarak Nasıl Ayarlanır?

 In IoT, Meeting Manager

Raspberry Pi (RPi), içerisinde Wi-Fi adaptörü barındırmaktadır ve bu adaptör, router (Yönlendirici) olarak kullanılabilir. Bu rehber sayesinde, RPi, yerel ağınıza Ethernet ile bağlı olacak ve Wi-Fi adaptörü HotSpot gibi çalışarak, Raspberry Pi’a bağlanmak isteyen cihazlara IP dağıtacak şekilde ayarlanacaktır (Raspberry Pi içinde DHCP).

Bu rehber Raspbian OS’u kendinizin kurabileceğini varsaymaktadır. Bu rehber hazırlandığında, Raspbian OS (Linux 9 Stretch) en güncel işletim sistemi versiyonuydu.

Uyarı: Bu rehberi takip ederken klavye ve fare kullanmanızı şiddetle tavsiye ediyorum. Ayrıca, bazı servisleri yükleyebilmeniz için Ethernet kablosuyla bağlı internet bağlantısına ihtiyacınız olacak.

1.Servisleri Yükleme

Bu özel sistem için, iki ana servise ihtiyacımız olacak. “dnsmasq” ve “hostapd”. Dnsmasq, IP dağıtımı için kullanılmakta ve Hostapd ise, Wi-Fi adaptörünün HotSpot gibi davranmasını sağlayacaktır .

“dnsmasq” ve “hostapd” servislerini yüklemek için aşağıdaki komutu terminale giriniz:

sudo apt-get -y install hostapd dnsmasq

Bu komut “hostapd” and “dnsmasq” servislerinin ikisini birden kuracaktır.

2.IP Dağıtımı için Sabit IP Adresi Belirleme

a.“dhcpcd.conf” ayarlama

“dnsmasq” servisi DHCP ve DNS protokollerini ayarlama özelliği barındırmaktadır. Bu servis sayesinde, Rpi’ı, varsayılan DHCP ayarlarını görmezden gelecek şekilde ayarlayacağız. ”dhcpcd.conf” dosyasını açmak için komut penceresine aşağıdaki komutu giriniz:

sudo nano /etc/dhcpcd.conf

Aşağıdaki satırı dosyanın en altına ekleyiniz:

denyinterfaces wlan0

İşlemi tamamladığınızda, “Ctrl + X” kısayolu ile dosyayı kaydedin; “y” tuşuna basın ve “Enter”a basarak işlemi sonlandırın.

b. “interfaces” ayarlama

“interfaces” dosyası ile, ilgili bağlantı arayüzlerinin istenilen IP’leri alması sağlanacaktır. “interfaces” dosyasını açmak için aşağıdaki komutu terminale giriniz.:

sudo nano /etc/network/interfaces

Aşağıdaki ayarları dosyanın en altına ekleyiniz:

#loopback interface settings

auto lo

iface lo inet loopback

#eth0 settings option 1

#Uncomment next two lines to get available IP from local network

#auto eth0

#iface eth0 inet dhcp

#eth0 settings option 2

#Uncomment next five lines to get static IP from local network

auto eth0

iface eth0 inet static

    address 192.168.0.69

    netmask 255.255.255.0

    gateway 192.168.0.254

#Hotspot interface settings

allow-hotplug wlan0

iface wlan0 inet static

    address 192.168.X.1

    netmask 255.255.255.0

    network 192.168.X.0

    broadcast 192.168.X.255

IP adreslerindeki “X” değişkendir (Bu rehber, X’i 42 olarak belirlemiştir, çünkü 42 her şeyin cevabıdır.). Sadece, buradaki adresler ile yerel modeminkilerin aynı olmamasına dikkat ediniz. Teknik olarak, aynı IP kullanımı bir sorun yaratmasa da, kafa karıştırıcı bir durum ortaya çıkarabilir (Kullanıcı yeni IP’nin hangi cihazdan alındığını ayırt edemeyebilir.) Eğer, Rpi sabit IP alacaksa “eth0 settings option 2”, yoksa, “eth0 settings option 1” blokları yorum satırı (command line) yapılmalıdır. Eğer, sabitlediğiniz IP, ağdaki başka bir cihaz tarafında halihazırda kullanılmakta ise, eth0 bağlantısı internetle bağlantı kuramayacaktır.

“interfaces” dosyası, aşağıda yer alan resimdeki gibi olmalıdır:

Tamamlandığında, kaydediniz ve dosyayı kapatınız.

3. HOSTAPD Ayarlarının Yapılandırılması

“hostapd” servisi, özel bir SSID yayınlamak için kullanılmaktadır, bu sayede diğer cihazlar Rpi’a bir şifre ile bağlanabilirler. Hotspot ayarlarını yapılandırmak için, “hostapd.conf” dosyasını düzenleyiniz:

sudo nano /etc/hostapd/hostapd.conf

Aşağıdaki ayarları dosyaya ekleyiniz:

interface=wlan0

hw_mode=g

channel=7

wmm_enabled=1

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

ssid=Rpi-Hotspot

wpa_passphrase=password

Tamamlandığında, kaydedin ve dosyayı kapatın.

“hostapd” servisine, “hostapd.conf” dosyasının yerini belirtmemiz gerekmekte. Aşağıdaki komutu terminale giriniz:

sudo nano /etc/default/hostapd

Aşağıdaki satırı dosyada bulunuz (“Ctrl + W” kısayolu ile arama yapabilirsiniz.):

#DAEMON_CONF=””

Ve, bu satırı aşağıdaki gibi değiştiriniz:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Eğer her adım doğru yapıldıya, dosya aşağıdaki gibi olmalıdır:

Tamamlandığında, kaydediniz ve dosyayı kapatınız.

4. DNSMASQ Ayarlarının Yapılandırılması

“dnsmasq” servisi, HotSpot’a bağlanan cihazların belirli bir IP aralığına sınırlanabilmesi becerisine sahiptir. Öncelikle, “dnsmasq.conf” dosyasının yedeğini alacağız çünkü, bu dosya, oldukça kullanışlı bilgiler içermekte ve ileride referans olarak yardımı dokunabilir.

“dnsmasq.conf” dosyasının kopyasını kaydetmek için aşağıdaki komutu terminale giriniz:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

Orijinal dosya güvene alındıktan sonra, yeni yaratılmış “dnsmasq.conf” dosyasını düzenlemek için aşağıdaki komutu terminale yazınız:

sudo nano /etc/dnsmasq.conf

Aşağıdaki satırları, boş olan “dnsmasq.conf” dosyasına ekleyiniz:

interface=wlan0

listen-address=192.168.X.1

bind-interfaces

server=8.8.8.8

domain-needed

bogus-priv

dhcp-range=192.168.X.2,192.168.X.100,24h

Adreslerdeki “X”in “interfaces” dosyasında belirlediğinle aynı olmasına dikkat ediniz (Bu rehberde bu değer “42” olarak belirlenmiştir.). “192.168.X.1”, Rpi için reserve edilmiştir, DHCP, “192.16.X.2”, “192.168.X.100” aralığında belirlendi ve 24 saatlik reserve edildi. İsteğe göre, IP aralığı arttırılabilir ya da azaltılabilir. Diğer IP adresleri (“192.168.X.101” – “192.168.X.254”) diğer cihazlar tarafında sabit IP olarak kullanılabilir.)

Dosya şu şekilde görünmeli:

Tamamlandığında, kaydedin ve dosyayı kapatın.

Raspian’ın son versiyonu ile, “hostapd” servisi maskelenmiş (“masked”) veya pasif (“inactive”) olabilir. Aktifleştirmek için, aşağıda yazan komutu terminale giriniz:

sudo systemctl unmask hostapd

Bu noktada, Rpi, lokal bağlantı noktası (Local Access Point) olarak kullanılmaya hazır. Rpi’a ağı nasıl yöönlendireceğini söylemediğimiz için “Lokal” diye nitelendiriyoruz.

“Rpi-Hotspot” ağına bağlanarak, cihazların, “dnsmasq.conf”ta tanımlandığı aralıkta IP alıp almadığını kontrol edebiliriz.

Uyarı: Erişim noktasının (Access Point) çalışıp çalışmadığını anlamak için Rpi’ı yeniden başlatmanız gerekmektedir. Fakat, yeniden başlatmadan önce, Paket Yönlendirme’yi (Packet Forwarding) ayarlayabiliriz. Bu sayede, Hotspot’a bağlanan cihazlar internet erişimine de sahip olabilecektir.

5. İnternet Bağlantısını Ayarlama (NAT Ayarlama)

Aşağıdaki komutu terminale giriniz:

sudo nano /etc/sysctl.conf

Aşağıdaki komutu bulunuz (Ctrl + W):

#net.ipv4.ip_forward=1

Ve, bu satırı yorum satırlığından çıkarın (“#”i kaldır.).

Dosya şu şekilde görünmeli:

Tamamlandığında, kaydedin ve dosyayı kapatın.

Şimdi, Ethernet ve Wi-Fi arasında NAT’ı (Network Address Translation) ayarlayacağız ve bu sayede, paketler Ethernet ve Wi-Fi arasında yönlendirilebilecektir.

Aşağıdaki komutları terminale giriniz:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

“iptables” (IP yönlendirme kuralları.) ayarlarını bir dosyaya kaydedebilmek için aşağıdaki komutu terminale giriniz:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Yaptığınız değişiklikleri, aşağıdaki komutu terminale girerek kontrol edebilirsiniz:

sudo nano /etc/iptables.ipv4.nat

Dosya şu şekilde görünmelidir:

Sonra, “rc.local” dosyasını açın ve aşağıdaki satırı giriniz. Bu sayede sistem her başladığında bu ayarlar geri çağrılacaktır.

sudo nano /etc/rc.local

Aşağıdaki satırı “exit0” satırından önceki satıra ekleyiniz:

iptables-restore < /etc/iptables.ipv4.nat

Dosya şu şekilde görünmelidir:

Tamamlandığında, kaydedin ve dosyayı kapatın.

Raspberry Pi’ı yeniden başlatmak için aşağıdaki komutu terminale giriniz:

sudo reboot

Sistem kullanıma hazır! Artık, Rpi üzerinden internete bağlanabilirsiniz (Rpi aynı zamanda IP de dağıtmakta.)

Uyarı: Eğer süreç başarılı sonuçlanırsa, “ip route” komutunu terminale girdiğinizde, aşağıdakine benzer bir çıktı almanız gerekir.

Eğer sadece “wlan0” çıktısı alınırsa, iki ihtimal var: Ya ayarlanan sabit IP başka bir cihaz tarafından kullanılmaktadır, ya da süreç sırasında yanlış bir işlem yapmışsınızdır.

Eğer bu çıktıyı alırsanız, büyük ihtimalle, Hotspot’ı doğru ayarlamışsınızdır. Fakat, eğer Hotspot’a bağlanan cihazlar internete bağlanamıyorsa, NAT ayarlarında bir hata yapıldığına işarettir.

Son Yazılar

Start typing and press Enter to search

X