Başlamadan önce belirtmek gerek diye düşünüyorum; Eğer evinizde standart ev tipi Router varsa, Router Konfigürasyonu ayarlarını yapmanıza gerek yok, Router’in kullanıcı arayüzünü(Router’in İP’si – Default Gateway) kullanarak kendi kurallarızi koyabilirsiniz. Kullanıcı Arayüzüne ulaşmak için, router’a kablo ile yada Wlan ile bağlandıysanız, ve Ağınızı manuel yapılandırıyorsanız, Default Gateway’a Router’in İP’sini vermeniz ve herhangi browser’i açarak Default Gateway’i Adres Çubuğuna yazmanız yeterli. Default Gateway hakkında daha fazla bilgi için “🖧İki Ağı Router ile Birbirine Bağlamak” okuyabilirsiniz.
Önceki makalede “Vmware Network Adaptor Ayarları (Görsel Örneklerle)“, Sanal Makine kurduğumuzda Ağ’a bağlanma yöntemlerini ele aldık. Vmware’deki ayarlar tabiki fiziksel ağ araçlarında da geçerlidir. Bu konumuzda bulunduğunuz ağ içinde ayrı bir Router ile kendize nasıl güvenli bir oluşturabileceğimizi ele alacağız.
🛠Gereksinimler – Router Konfigürasyonu
- En az iki İnternet Kartı olan bir Router(Bende Pc Engine-Alix var)
- Konfigürasyonu ilk Seri Port’dan yapacağımız için bir Seri Kablo ve yeni Pc’ler Seri Kabloyu desteklemediği için de Seri Kabloyu USB’ye çeviren bir Adaptor.
Benim bu ihtiyaç duymam iş yerinde biraz gizliliğe önem verdiğimden dolayıdır. Nasıl iş yerinde güvenli bir şekilde(En büyük örnek; Sniffing Saldırıları) internette dolaşbilirim konusunda biraz araştırma yaptım, en uygun yöntemin NAT(Network Address Translation) ile kendime ayrı bir ağ kurmak olduğunu farkettim. Aşağıda bir önceki konu olan Sanal Makine Adaptörleri ayarlarından NAT’ın çalışma prensibi var. Bu prensip fiziksel cihazlarda da aynı şekilde çalışır. 👇
Ortadaki Router benim işyerimin Router’i diyelim. İş yerine gittiğimde her PC’yi açtığımda, iş yerindeki DHCP Server’dan dinamik bir İP alıyorum. Fakat o Router’a iş yerindekilerin hepsi bağlanıyor. Buda benim bağlantımı biraz güvensiz yapıyor(Bkz. Man In the middle Attack). Çizimdeki NAT-VM yazan mor diktorgen benim güvenli ağım oluyor efendim 🙂 Oraya ayrı bi Router çizmeliydim, ama unutmuşum, aşağıda karalamada ayrıca belirttim. Şimdilik orda bir Router varmış gibi gözümüzde canlandıralım lütfen. Kisaca anlatmak gerekirse, Mor Router’da iki tane ağ kartımız bulunmakta. Birini şirketin ağına bağlıyorum, ikincisi de kendi oluşturacağım küçük ağa. Kendi küçük ağımdaki istekleri şirketin ağına yönlendiriyorum, şirketten benim ağa ulaşımı engelliyorum.
Seri Kablo ile Router Konfigürasyonu
Router’a baglanmanin en kolay yolu PuTTY‘i kullanmaktir. Putty ile hem Seri Porttan hemde SSH Portundan Router’a baglanabilirsiniz. Putty hem Linux hemde Windowsta kolayca calisir. Putty’i Linux’ta indirmek icin apt install putty
.
- Seri Kablonuzu Bilgisayara bağlayınız.
- Putty > Connection > Serial
- Serial Port Kabloyu hangi USB Porta soktuğunuza bağlı. Hangisi olduğunu bilmiyorsanız hepsini tek tek deneyin. “COM1, COM2, COM3, COM4”
- Serial Port Hızı (Speed) Router’in üzerinde yazar. Benim ki “34800”
Eğer henüz internetiniz yoksa ve Putty’i indirmediyseniz, Linux’ta cu
, screen
, minicom
ve tip
Komutlari ile de USB Portuna bağlanabilirsiniz.
cu -l /dev/Aletin.baglı.oldugu.port -s Hız //komut kullanimi cu -l /dev/ttyUSB0 -s 38400 screen/dev/ttyUSB0 38400 minicom //ayarları kendi kullanıcı arayüzünde tip -19200 ttyUSB0
Router’daki iki ağ kartını ele alalım şimdi. Biri eth0 diğeri eth1 olsun. eth0’i şirket ağına bağlıyoruz, eth1’i kendi ağımıza.
Eğer şirketin Router’ına erişiminiz yok ise(Büyük ihtimal yok), eth0’a şirketin DHCP Server’ından İP alıyoruz. Eğer kendimiz manuel İP verirsek, şirketteki başka bi cihaz ile anlaşmazlık olabilir.
Ağ Kartı Konfigürasyonu – eth0;
sudo dhclient eth0
dhclient
komutu ile şirketin DHCP Server’ından dinamik bir İP alıyoruz. Fakat bu komutu cihazını her çalıştırdığınızda yazmanız gerekir, o yüzden bunu kalıcı olarak yapıyoruz.
vi /etc/network/interfaces auto eth0 auto eth1 iface eth0 inet DHCP
Vi Editor’den çıkmak için ESC
basıp visual moda geçin, sonra Shift + .
(iki nokta), kaydedip kapatmak için wq
, kaydetmeden kapatmak için q!
yazın.
auto eth0
ve auto eth1
= Cihazı her çalıştırdığımızda iki ağ kartıda otomatik etkinleşir.
iface eth0 inet DHCP
= Bu komut ile, eth0 ağ kartı etkinleştikten sonra şirketin DCHP Server‘ına istek gönderiyor.
Ağ Kartı Konfigürasyonu – eth1;
Kendi ağımızda istediğimiz IP.
iface eth1 inet statische adresse 192.168.1.1 //Agdaki cihazlar icin Default Gateway netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255
💢Karşılaşabileceğiniz Hatalar
- Eğer interfaces dosyasını değiştiremiyorsanız, administratör yetkiniz olduğundan emin olun.
- Eğer administratör yetkisi ise yaramıyorsa. Dosyanın izinlerini kontrol edin.
ls -la /etc/network/interfaces
- Administratör’ün değiştirme izni yok ise, izin verin.
chmod 700 /etc/network/interfaces
- Eğer, benim gibi Voyage Linux kullanıyorsanız,
mount
komutu ile dosyanın Salt okunur olup olmadığını kontrol edin, - RO = Read Only(Salt Okunur), RW = Okuma – Yazma
- Eğer izinler”RO” ise,
remountrw
komutu ile “RW” yapınız.
Sistemdeki dosyalar ile oynadığımız için Network Ayarlarını yeniden başlatmalıyız. sudo /etc/init.d/networking restart
Aşağıdaki komutlar ile Ağ Arayüzlerini kolayca, ama kalıcı olmadan değiştirebilirsiniz.;
sudo ifconfig eth1 192.168.1.1/24 //ifconfig Komutu sudo ip address add 192.168.1.1/24 broadcast 192.168.1.255 dev eth1 // ip komutu
Artık Router’imizin bir İP’si var. Bu demek oluyor ki, router’i pingleyebiliriz ping 192.168.1.1. Eğer ping çalışmazsa bi yerde hata yaptınız, yada ben bişeyi söylemeyi unuttum demektir. Ethernet Kablosunu kontrol ediniz. Kabloların doğru ağ kartı ile bağlı olduğundan emin olun. Eğer “Network Unreachable” hatası alıyorsanız, Default Gateway‘i henüz belirlememişiz demektir.
sudo vi /etc/network/interfaces // Bu ayarlari bilgisayarinizda yapiyorsunuz efenim !!! iface eth0 inet static // eth0 ag kartinin farkli bir ismi de olabilir. address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 // Router IP, Default Gateway
sudo /etc/init.d/networking restart
Windows’ta Internet Adapter Ayarlarını aşağıdaki gibi kolayca ayarlayabilirsiniz.👇
Şimdi Router’i pingleyebilmeniz gerek(Farklı bir hata varsa, yorumda belirtebilirsiniz). Şimdiye kadar Router’imiz sadece Ağda bir Client idi. Artık Router’imiza iş vermeminin zamanı geldi.
🛡SSH (Secure Shell) ile Router Konfigürasyonu
Artık Router’a SSH ile bağlanmanın zamanı geldi. Seri Kabloyu ödünç aldıysanız geri verebilirsiniz 🙂
PuTTY > SSH > Router’ın IP Adresini yazın(Default-Gateway) > Port 22 >Bağlan
Putty yoksa ssh
komutu ile de bağlanabilirsiniz.
ssh 192.168.1.1 // veya ssh kullaniciismi@IP
📅Yönlendirme Tablosu (Routing Table) Ayarları
Artık Router’a ne yapmasını gerektiğini söylemenin zamanı geldi.
İlk önce Router’in Default Gateway’ini kontrol edelim netstat -rn
veya route -n
. Windows’ta cmd. exe >route print
. Aşağıdaki çizime bakarak, Router’in hangi Router bağlanacağını görebilirsiniz (umarım). Router 2 bizim, o halde Router 1’i Default Gateway olarak göstermeliyiz ki, internet bağlantımız olsun(10.80.0.1).
sudo route add default gateway 10.80.0.1 // Default Gateway belirlemek
Artık Router üzerinde İnternet erişimimiz olmalı. Henüz alan adını(google.com.tr) pingleyemeyiz, çünkü daha DNS’i ayarlamadık. Şimdilik Google’ı pingleyelim ping 8.8.8.8
Ağdaki Clientlar’ın henüz internet erişimleri yok. Default Gateway’i ekleyerek, Router 2’ye dedik ki “Hey, Eğer ben Router 2 üzerinden bi adrese ulaşmak istersem, git Router 1’e sor, o yolu bilir”. Şimdi Router 2’ye söylicez ki “Hey, Eğer benim güvenli Ağımdan biri bi adrese ulaşmak isterse(eth1) istekleri Default-Gateway’e(eth0) gönder”. Bunu yapmak için;
sudo route add -net 192.168.1.0/24 gw 10.80.0.1 // güvenli ağdaki istekler dışarıdaki ağa yönlendiriliyor
Artık Router ne yapacağını biliyor. Ama ek olarak bir iki ayar daha yapmalıyız. Her Linux’ta standart değeri 0 olan İP-Forwarding(İP Yönlendirme)’i 1 yaparak etkinleştirelim.
echo 1 > /proc/sys/net/IPv4/ip_forward vi /etc/sysctl.conf // kalici olarak degistirme net.ipv4.ip_forward = 1
Yönlendirmeden sonra Network Address Translation(Ağ Adresi Dönüştürme)’i ayarlamaliyiz.
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables
: çekirdeği yapılandırmak için gereken komut satırı
-t nat = Arayüzünü Nat tablosuna “Nat” olarak ekleme.
-A POSTROUTING= POSTROUTING zincirine yukardaki kurallari ekleme (-a = append).
-o eth0= İkinci ağdaki yönlendiriciden gelen paketleri istiyoruz “eth1” (-o output)
-j MASQUERADE= adresleri maskeleme, Routerdan geçen her adres kaynak adres olarak Router’in İP Adresini kullanır.
Aşağıdaki iptables hatasını alıyorsanız,,
iptables v1.4.12: can't initialize iptables table `filter': Table does not exist (do you need to insmod?
Yüksek ihtimal Linux Çekirdeği güncellemelisiniz.
sudo apt-get install linux-image-$(uname -r)
Artık güvenli ağdan, dışarıdaki ağdaki birini pingenleyebiliriz. ping 10.80.1.5
yada Google’i ping 8.8.8.8
Domain Çözümlemek için yapmanız gereken sadece aşağıdaki gibi Google’ın DNS Adreslerini kullanmak.
Linux vi /etc/resolv.conf nameserver 8.8.8.8
Windowsta IMG. 4-Windows IPv4 Ayarlari👆 ändern.
Hepsi bu kadar 🙂 Yönlendiricinin nasıl yapılandırılacağının temellerini öğrendiydim ve sizinle paylaşmak istedim. Herhangi bir komik hata ile karşılaşırsanız, beraber çözebiliriz.
Soru
Tüm “ifconfig” komutlarını “ip” komutuyla yazabilir misiniz?
Konu ile ilgili Olası Sorular:
Voyage Router Konfigürasyonu?, güvenli ağ oluşturma, bir ağ içinde nasıl güvenli ayrı bir ağ oluşturulur? Router İP-Forward aktifleştirme,Default Gateway nasıl ayarlanır?