«

»

Eki 18 2016

Raspberry Pi eduroam bağlantısı (konsolda)

Düzenleme (24.10.2016): Gelen sorular üzerine; birden fazla farklı ağın tek raspberry’ye kaydedilmesi ve Raspberry’nin WiFi IP adresinin öğrenilmesi konuları en alta eklendi.

Raspberry Pi 3 ile beraber kablosuz ağ (WiFi) özelliği de geliyor. Grafik ekranda bağlantı yapmak kolay zaten ancak konsolda biraz uğraşmak gerekebiliyor. Aşağıdaki uygulamalar hem Raspberry 3’te hem de Ubuntu gibi diğer dağıtımlarda uygulanabilir.

Kablosuz profilini yapılandıralım

/etc/wpa_supplicant/wpa_supplicant.conf  dosyasının içeriğini aşağıdaki gibi düzenleyelim:

Kablosuz interface (wlan0) yapılandırmasını yapalım

/etc/network/interfaces dosyasındaki  wlan0 ile ilgili satırlar şu şekilde olmalıdır:

Bağlantı ve testleri yapalım

Önce ağ servisini yeniden başlatalım: sudo /etc/init.d/networking restart

ifconfig wlan0  komutu ile, wlan0 ağının IP alıp alamadığını kontrol edelim:

selection_013

iwconfig  komutu ile, hangi kablosuz ağa bağlandığımızı kontrol edelim:

selection_012

Eğer bu aşamaya kadar tamam ise, artık eduroam IP adresi üzerinden de cihaza SSH ile bağlanabiliriz.

Raspberry’ye birden fazla WiFi (SSID) profili tanıtılması

/etc/wpa_supplicant/wpa_supplicant.conf  dosyasına bir blok daha eklememiz gerekiyor. Bu durumda, ağlardan hangisi aktif ise otomatik olarak ona bağlanacaktır. Satırların hepsinin ne işe yaradığını bilmiyorum, netten bulduk, denedik (Teşekkürler Esra) ve çalıştı. Bir tek priority  kısmını belirteyim. Birden fazla tanımlı ağın kapsama alanında isek priority  değeri yüksek olan önceliklidir. Dosyaya eklenecek olan örnek blok şöyle:

Ağdaki Raspberry’nin IP adresini nasıl bulacağız?

Raspberry’nin üzerinde ekran yoksa, kablosuz ağa bağlandığını belki led’lerden anlayabilirsiniz ama peki hangi IP adresi aldığını nasıl öğreneceğiz? Bu açıklamaya geçmeden önce güvenlik açısından kritik olan şu bilgilendirmeyi yapayım:

Önemli güvenlik uyarısı

Raspberry’yi herkese açık olan bir WiFi (ya da kablolu) ağa bağladığınızda, standart kullanıcı adı ve parola ile herkes cihazınıza SSH üzerinden bağlanabilir. Bu durumda mutlaka şu iki madde gözden geçirilmelidir:

  1. Raspberry’nin kullanıcı parolası mutlaka değiştirilmelidir. (İlgili komut: passwd )
  2. Raspberry’nin SSH portu da değiştirilse iyi olur. TCP-22’yi herkes biliyor sonuçta. Port taramasında görülmesin en azından. Bunun için, /etc/ssh/sshd_config dosyasındaki Port 22  satırındaki 22 yerine istenen herhangi bir port numarası (mesela 54, Sakarya’nın plakası) yazılabilir. Sonra da sudo service ssh restart  komutu ile SSH servisi yeniden başlatılmalıdır.

Raspberry’nin IP adresini bulalım

Eğer Raspberry ile aynı ağda isek (mesela iki cihaz da eduroam’a bağlı iken), en mantıklı yöntem port taramasıdır. Raspberry’ye verdiğimiz SSH port numarasını bağlı olduğumuz ağ içerisinde taratabiliriz. 1 dakikayı geçmeden cihazı bulacaktır diye düşünüyorum. Port taraması yaparken TCP & UDP 1-65535 arası tüm portları taramamaya, sadece bize lazım olan portu (mesela 54) tüm ağda taramaya dikkat etmeliyiz.

Örnek port taraması çıktısı aşağıda verilmiştir. /24 büyüklüğünde (254 host) bir ağı 1 saniyede tarıyor. Örnek komut ve çıktı şöyle:

Raspberry uzakta biryerde bir ağda ise port taraması yapamayız. Bu durumda Raspberry üzerinden dışarıdaki bir sisteme düzenli aralıklarla ( crontab  vasıtasıyla) bağlantı (http, ismp, ssh, ftp, vb.) yapıp bu isteklerin log’lanmasını sağlayabiliriz. Bunun için internet üzerinde bir yerde ortak bir sunucu erişimi olmalıdır.

Ya da belki; Google talk, Skype, ICQ, vb. bir uygulama kurup hem Raspberry’den hem de PC’nizden buna bağlanarak “contact list” üzerinden karşıdaki kişinin IP adresini görebilirsiniz. Denemedim, bilmiyorum.

Eğer elimde portscan yapacak bilgisayarım yoksa, Raspberry üzerine bir LCD ekran takıp IP adresini sürekli olarak orada yazdırabiliriz. Ucuz ve pratik olur. Örnek için tıklayınız: http://www.instructables.com/id/How-a-headless-Raspberry-Pi-can-tell-you-its-IP-ad/

Şimdilik bu kadar.

Yorumu formunu geç

  1. Fethi Candan

    Hocam her zamanki gibi çözümü sizde buldum :) Mezun oldum ama hala takipteyim :) F.C.

    1. Murat Özalp

      Teşekkür ederim :)

  2. Fethi Candan

    Sorumu ayrı yorum olarak yazayım dedim, Hocam Eduroam ayarlarını yaptık diyelim. Normalde win kullanıcıları için Advanced Port Scanner Linux kullanıcıları için sanırım arp -a yöntemi ile IP adreslerini listeliyorduk. Peki Eduroam’A bağladık ve sistem çalışıyor diyelim. Nasıl bir SSH üzerinden bağlantı kuracağız? Sonuçta artık Eduroama bağlı ve yeni bir IP ismi var? Nasıl bunu ulacağız? Kampüste tek raspi ve ben bağlanmıyorum sonuçta? F.C.

    1. Murat Özalp

      Aklıma gelen birkaç tane çözüm var: 1) Network içerisinde SSH (TCP-22) portscan. Bilgisayardan da eduroam’a bağlanınca ikisi aynı ağda olmuş oluyor. Ancak bu tarz bir iş yapılacaksa, şunları da belrtmek lazım. Raspberry’nin parolasını kesinlikle değiştirmelidir. Çünkü herkes bağlanabilir. Ayrıca mümkünse SSH portu da değiştirilebilir. Bu sayede farklı bir TCP port taranacağından, bulmak daha kolay olur. 2) Raspberry ile aynı ağda değilsek ne yapacağız? Bu yöntem için sabit açık olan bir sunucuya ihtiyaç var. Raspberry’nin crontab’ına, dakikada 1 kez bir yerden bir istek (http, icmp, ssh, vb.) yapması istenir. Sunucuda bunların log’u tutulup bakılabilir. 3) Raspberry üzerine bir LCD ekran bağlayıp IP adresini orada yazdırmak 4) HDMI ekran bağlamak :P

  3. Fethi Candan

    Şimdi İTÜ BİDB ile görüştüm bu tarz işlem için sadece ubuntu fedora ve pardus üzerine destek vermişler. Benimde planım yazınızda olan gibi yapmak. önce Certificate onaylaması ardından Console üzerinden yeniden wlan0 yapılandırması. Yarın deneyeceğim hocam eğer çalışırsa size de bilgi veririm :)

Bir Cevap Yazın

Bad Behavior has blocked 49 access attempts in the last 7 days.