Raspberry PI Router Olarak Nasıl Kullanılır?

Bir resim bin kelimeye bedeldir deyimiyle ne yapmak istedigimi bir resim ile aciklayarak, baslamak istiyorum. Asagida evimdeki ag yapisini görmektesiniz.

internet

Resimdeki Raspberry mini bilgisayari göz ardi edecek olursak, evimde birbirinden bagimsiz iki bilgisayar agi bulunmakta. Bu aglari ic ag ve dis ag olarak isimlendiriyorum. Ic ag üzerinden ev otomasyonu bilesenleri birbirleriyle iletisim icindeler. Dis agi internete erismek icin kullaniyorum. Bu iki agin birbirlerinden fiziksel olarak ayrilmalari benim icin mühim, cünkü disardan kimsenin ic aga eriserek, ev otomasyonuna müdehale etmesini istemiyorum. Bu durumda iki ag birbirlerinden izole bir sekilde hayatlarini sürdürüyorlar.

Ev disinda iken VPN üzerinden ev otomasyonu uygulamasini erisebilmek icin ic aga giris saglamam gerekiyor. Bu amacla iki agi birbirine baglayacak ve router vazifesi görecek bir bilesene ihtiyacim var. Bu görevi Raspberry üstleniyor. Bu yazimda kullandigim Raspberry nin router olarak nasil konfigüre edildigini sizlerle paylasmak istiyorum.

Bir bilgisayarin iki ag arasinda router olarak görev yapabilmesi icin iki agdada ayagi olmasi gerekiyor. Bilindigi üzere Raspberry sadece bir LAN girisine sahip. Ikinci bir LAN girisi olusturmak icin Delock USB LAN adapter modülünü kullandim. Bu adapter Raspian tarafindan otomatik olarak taniniyor ve sisteme ekleniyor.

20151101_203251_HDR

20151101_203208_HDR

Kullandigi LAN girisleri su sekilde:

pi@raspberrypi ~ $ ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:b8:f7:b0
          inet addr:192.168.2.3  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1024520 errors:0 dropped:12 overruns:0 frame:0
          TX packets:517855 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1483958463 (1.3 GiB)  TX bytes:35039591 (33.4 MiB)

eth1      Link encap:Ethernet  HWaddr 00:13:3b:12:0e:c6
          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:520568 errors:0 dropped:16 overruns:0 frame:0
          TX packets:1020428 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:26963211 (25.7 MiB)  TX bytes:1498010285 (1.3 GiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:47 errors:0 dropped:0 overruns:0 frame:0
          TX packets:47 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:4068 (3.9 KiB)  TX bytes:4068 (3.9 KiB)

pi@raspberrypi ~ $

Raspberryi router haline getirebilmek icin önce gerekli kurumlari gerceklestiriyorum:

sudo apt-get update && sudo apt-get install ca-certificates

Ikici LAN girisini su sekilde /etc/network/interfaces dosyasinda olusturdum:

pi@raspberrypi ~ $ cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet manual

#USB LAN eth1
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.2.1
pi@raspberrypi ~ $

Yeni ag girisinin aktif hale gelmesi icin yapilmasi gereken islem su sekilde:

sudo /etc/init.d/networking restart

Benim istegim, ic aga baglanan cihazlarin dis ag üzerinden internete baglanabilmesi yönünde. Örnegin bu yaziyi yazdigim bilgisayar Raspberryi router olarak kullanarak, internete erisebiliyor. Ag ayarlari su sekilde:

C:\Users\acar>ipconfig
Windows-IP-Konfiguration
Ethernet-Adapter LAN-Verbindung:

   Verbindungsspezifisches DNS-Suffix: local
   Verbindungslokale IPv6-Adresse  . : fe80::e08a:4c9d:28d5:2b1c%11
   IPv4-Adresse  . . . . . . . . . . : 192.168.1.151
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.1.1

Görüldügü gibi kullandigim bilgisayarin IP adresi 192.168.1.151 ve default gateway olarak 192.168.1.1 tanimli. 192.168.1.1 Raspberry nin IP adresi. Raspberry bir bacagi ile ic agda oldugu icin bu agin da bir parcasi. Ic aga baglanip, internete erismek isteyen bilgisayarlarin bir DHCP sunucusundan IP adresleri almalari gerekiyor. Ic ag icin DHCP servisini de Raspberry üstleniyor. Bu yüzden bir sonraki adimda Raspberry üzerinde bir DHCP sunucusu olusturmamiz gerekiyor. Sunucuyu söyle kuruyoruz:

sudo apt-get install isc-dhcp-server

Simdi /etc/dhcp/dhcpd.conf icinde asagidaki ayarlari yapiyorum:

# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.150 192.168.1.250;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}

DHCP sunucusu aga baglanan yeni bilgisayarlara IP adresi atama görevine sahip. Bu IP adreslerinin hangi aga ait oldugu bilgisini subnet ile tanimliyorum. Range ile hangi IP adreslerinin bilgisayarlara atanabilecegi netlestiriliyor. Buna göre yeni bilgsayarlar 150 ile 250 arasinda bir IP adresi alabilirler.

Bu ayarlarin ardindan DHCP sunucusunu restart ediyorum:

sudo /etc/init.d/isc-dhcp-server restart

Eger hata olmazsa ekranda asagidaki satirlarin görünmesi kuvvetle muhtemel:

[ ok ] Stopping ISC DHCP server: dhcpd.
[ ok ] Starting ISC DHCP server: dhcpd.

Simdi sirada iki ag arasinda IP forwarding özelliginin aktive edilmesi var. Sadece bu sekilde Raspberry iki ag bacagi arasinda paketlerin gecisine izin vermektedir.

sudo echo 1 > /proc/sys/net/ipv4/ip_forward

Bu tanimlamanin kalici olmasi icin /etc/sysctl.conf dosyasinda asagidaki satirin yer almasi gerekiyor:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Ic agda bulunan bilgisayarlarin internete cikabilmeleri icin NAT (Network Address Translation) özelliginin aktivlestirilmesi gerekiyor.

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

Bu islemlerin ardindan ic ag switch bilesenine baglanan her yeni bilgisayar Raspberry den bir IP adrese alarak, internete erisebilecektir. Raspberry mini bilgisayarlari router yani sira NAS ve ev otomasyonunu yöneten sunucu olarak da kullaniyorum. Bir sonraki yazimda VPN ile disardan ic aga erisimin nasil yapilabilecegini aktarmaya calisacagim.

20151101_205310_HDR

20151101_205321_HDR

20151101_205702_HDR

20151101_210523_HDR

20151101_210529_HDR

20151101_210535_HDR

20151101_210543_HDR


EOF (End Of Fun)
Özcan Acar

Share Button

Özcan Acar

Özcan Acar 1974 İzmir doğumludur. İlk ve orta öğrenimini İzmir’de tamamladı. Almanya'daki lise öğreniminden sonra doksanlı yılların sonunda Almanya’nın Darmstadt şehrinde bulunan FH Darmstadt üniversiteden bilgisayar mühendisi olarak mezun oldu.

KurumsalJava.com, Smarthomeprogrammer.com ve Mikrodevre.com adresleri altında blog yazıyor. Kurduğu BTSoru.com'da ona yazılımla ile ilgili sorularınızı yöneltebilirsiniz. Pratik Programcı Yayınları bünyesinde Pratik Spring ve Pratik Agile ismini taşıyan kitapları bulunmaktadır. 21.12.2009 tarihinde Java Champion olarak seçildi.
1 Yıldız2 Yıldız3 Yıldız4 Yıldız5 Yıldız (2 değerlendirme, ortalama: 5,00, toplam oy 5)
Loading...Loading...