Skip to content

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

İÇİNDEKİLER

    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.[/vc_column_text][vc_column_text css=”.vc_custom_1572605630707{margin-bottom: 0px !important;}”]

    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"

     

    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

    [/vc_column_text][vc_column_text css=”.vc_custom_1572864041306{margin-bottom: 0px !important;}”]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.)

    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.).

    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

    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

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

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

    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.

    Referanslar