GNS3 Kullanarak Cisco Router Üzerinde Static NAT Yapılandırma

Hızlı Bakış

GNS3 ile Cisco router üzerinde static NAT, yerel ağdaki özel IP adreslerini internete açıyor. Öncelikle router’ın inside ve outside arayüzlerini tanımlamanız gerekiyor. FastEthernet0/1 arayüzüne ip nat inside komutunu uyguluyorsunuz. Ardından ip nat outside ile diğer arayüzü belirliyorsunuz. Bu sayede 192.168.8.10 gibi bir iç IP, 192.168.1.50 gibi global adrese birebir eşleniyor. show ip nat translations komutuyla dönüşüm kayıtlarını anlık izleyebiliyorsunuz.

Router’larda NAT yapılandırmasının amacı yerel ağ üzerindeki özel IP adreslerini İnternet’e çıkarmak için global IP adreslerine dönüştürmektir.

GNS3 ile Cisco Router Static NAT Yapılandırma

GNS3 ile Router Üzerinde Static NAT Nasıl Yapılandırılır?

Static NAT işleminde iki parametre vardır. Bunlar; Inside (İç Bacak) ve Outside (Dış Bacak)’tır.

Ağdaki herhangi bir bilgisayar bir web sayfasını açma isteğinde bulunduğunda, IP paketi öncelikle Switch’ten geçerek Router’ın Inside kısmına gelir ve Router’da bu paketi Outside üzerinden İnternet ortamına iletir.

Ağ topolojisine göre, LAN üzerindeki bilgisayarların İnternet’e hangi Router’dan erişeceği belirlenerek NAT INSIDE ve NAT OUTSIDE tanımlanmalıdır.

Yapılandırma adımlarına geçmeden önce GNS3 ağ lab programında Adım 1‘deki gibi ağ topoloji oluşturunuz.

NOT: Topolojiyi oluşturduğunuzda, Cloud ayarlarını fiziksel bilgisayarınızın Ethernet bağdaştırıcısını seçmeniz gerekir. Eğer VMware üzerinde oluşturulan bir VMnet’i seçerseniz, Statik NAT’ı yapılandırsanız bile sanal makine İnternet’e erişemeyecektir.

GNS3 ile Cisco NAT Konfigürasyonu

LAN’daki sanal makinelerin İnternet bağlantısını yapmak için Cisco yönlendirici de NAT ayarlarını konfigüre etmeniz gerekir.

Şimdi, sabit bir NAT kaydı eklemek için aşağıdaki adımları sırasıyla takip ediniz.

Adım 1

GNS3 programını çalıştırdıktan sonra aşağıdaki görüntüdeki gibi bir network topolojisi oluşturunuz.

GNS3'te Sanal Bilgisayarı İnternet'e Çıkarma

Adım 2

Router’ın üzerine çift tıklayarak CLI komut istemini açınız ve FastEthernet0/0 arayüzüne IP adresi atamak için ip address dhcp komutunu çalıştırınız.

Aşağıdaki görüntüyü incelediğinizde, Router (R1) yerel ağdaki ADSL modem üzerinde çalışan DHCP sunucusundan IP adresi aldığını görebilirsiniz.

ip address dhcp komutu

Adım 3

Topolojiye VMware üzerinde çalışan Windows 10 veya herhangi bir sanal makineyi entegre ettikten sonra, TCP/IP ayarlarını yapılandırınız. Daha sonra, CMD’yi açarak Router’ın FastEthernet0/1 arayüzüne Ping atmayı deneyiniz.

Windows 10 VM yerel ağda olduğu için, Ping aşağıdaki gibi başarılı olacaktır!

Sanal Makineden Fa0/1 Arayüzüne Ping Atma

Adım 4

Aynı şekilde, Router’ın FastEthernet0/0 arayüzüne Ping atarak bağlantıyı sınayınız.

Sanal Makineden Fa0/0 Arayüzüne Ping Atma

Adım 5

Bu topolojide bir NAT yapılandırılmadığı için yerel ağdaki sanal makine İnternet’e erişemez.

Aşağıdaki görüntüdeki gibi, virtual machine Google’ın DNS adreslerine ulaşamayacaktır!

Sanal Makineden Google DNS Sunucusuna Ping Atma

Adım 6

Bu adımda sanal bilgisayarı İnternet’e çıkarmak için Router üzerinde bir Static NAT oluşturmanız gerekir.

R1’in CLI komut isteminde aşağıdaki komutları sırasıyla uygulayınız.

R1# conf t
R1(config)# interface fastethernet 0/0
R1(config-if)# ip address dhcp
R1(config-if)# no shutdown
R1(config-if)# ip nat outside
R1(config-if)# exit
R1(config)# interface fastethernet 0/1
R1(config-if)# ip address 192.168.8.1 255.255.255.0
R1(config-if)# ip nat inside
R1(config-if)# no shutdown
R1(config-if)# exit
R1(config)# ip nat inside source static 192.168.8.10 192.168.1.50
R1(config)# ip name-server 192.168.1.1
R1(config)# ip domain-lookup
R1(config)# end
R1# copy running-config startup-config

Gerekli komutları uyguladıktan sonra Router’dan Google DNS sunucusuna ping atınız ve durumu gözlemleyiniz.

GNS3 ile Statik NAT Ayarları

Adım 7

Router’a Windows 10 makinesi için bir Statik NAT kaydı ekledikten sonra, VM’yi açınız ve tekrar CMD’yi kullanarak ping atınız.

Aşağıdaki görüntüyü incelediğinizde, artık VM’nin İnternet’e erişebildiğini görebilirsiniz.

Sanal Bilgisayardan Google Pingleme

Adım 8

Sanal makinenin TCP/IP ayarlarında DNS alanını boş bırakırsanız, web browser üzerinden herhangi bir websitesine erişemezsiniz.

VM’nin DNS alanına ADSL modeminizin IP adresini yazınız ve ayarları kaydettikten sonra, Internet Explorer üzerinden Google’a erişmeye çalışınız.

Aşağıdaki gibi, artık yerel ağdaki bilgisayar İnternet’e erişebilecektir!

Sanal Makinenin DNS Sunucusunu Değiştirme

Adım 9

Router’da show ip nat translations komutunu çalıştırdığınızda Google.com websitesi için NAT kayıtlarını göreceksiniz.

Kayıtları incelediğinizde İç bacaktan gelen 192.168.8.10 IP adresi, 192.168.1.50 IP adresine çevrildiğini görebilirsiniz.

show ip nat translations komutu

Adım 10

Ağda meydana gelen hataları analiz ederken Router’da bazı kayıtları silmenizde fayda vardır. Bunlardan bir tanesi ise, NAT kayıtlarını silmektir.

Router’da meydana gelen NAT kayıtlarını silmek için ayrıcalıklı yapılandırma modunda [ clear ip nat translations * ] komutunu kullanabilirsiniz.

clear ip nat translations *

Adım 11

Ayrıcalıklı yapılandırma modunda aynı şekilde show ip nat translations komutunu uyguladığınızda kayıtların silindiğini görebilirsiniz.

show ip nat translations komutu

Adım 12

Örneğin, Facebook.com sitesini ziyaret ederseniz, Router üzerinde anlık olarak NAT kayıtları oluşacaktır.

Facebook

Show Komutları

R1# show running-config
Building configuration...

Current configuration : 1050 bytes
!
version 12.4
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname R1
!
boot-start-marker
boot-end-marker
!
no aaa new-model
memory-size iomem 5
no ip icmp rate-limit unreachable
ip cef
!
ip name-server 192.168.1.1
ip auth-proxy max-nodata-conns 3
ip admission max-nodata-conns 3
!
ip tcp synwait-time 5
!
interface FastEthernet0/0
ip address dhcp
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.8.1 255.255.255.0
ip nat inside
ip virtual-reassembly
duplex auto
speed auto
!
ip forward-protocol nd
!
no ip http server
no ip http secure-server
ip nat inside source static 192.168.8.10 192.168.1.50
!
no cdp log mismatch duplex
!
control-plane
!
gatekeeper
shutdown
!
line con 0
exec-timeout 0 0
privilege level 15
logging synchronous
line aux 0
exec-timeout 0 0
privilege level 15
logging synchronous
line vty 0 4
login
!
end
R1#
R1#show ip nat statistics
Total active translations: 2 (1 static, 1 dynamic; 1 extended)
Outside interfaces:
FastEthernet0/0
Inside interfaces:
FastEthernet0/1
Hits: 7 Misses: 1
CEF Translated packets: 8, CEF Punted packets: 0
Expired translations: 0
Dynamic mappings:
Appl doors: 0
Normal doors: 0
Queued Packets: 0
R1#show ip nat translations
Pro          Inside global            Inside local                       Outside local                   Outside global
icmp       192.168.1.50:1      192.168.8.10:1              8.8.8.8:1                              8.8.8.8:1
---            192.168.1.50           192.168.8.10                   ---                                             ---
R1#show ip nat translations Pro Inside global Inside local Outside local Outside global tcp 192.168.1.50:49704 192.168.8.10:49704 204.79.197.200:443 204.79.197.200:443 tcp 192.168.1.50:49705 192.168.8.10:49705 93.184.220.20:80 93.184.220.20:80 tcp 192.168.1.50:49706 192.168.8.10:49706 204.79.197.200:443 204.79.197.200:443 tcp 192.168.1.50:49707 192.168.8.10:49707 204.79.197.200:443 204.79.197.200:443 tcp 192.168.1.50:49708 192.168.8.10:49708 204.79.197.200:443 204.79.197.200:443 tcp 192.168.1.50:49709 192.168.8.10:49709 204.79.197.200:443 204.79.197.200:443 tcp 192.168.1.50:49710 192.168.8.10:49710 204.79.197.200:443 204.79.197.200:443 tcp 192.168.1.50:49711 192.168.8.10:49711 31.13.92.36:443 31.13.92.36:443 tcp 192.168.1.50:49712 192.168.8.10:49712 31.13.92.36:443 31.13.92.36:443 tcp 192.168.1.50:49713 192.168.8.10:49713 93.184.220.29:80 93.184.220.29:80 tcp 192.168.1.50:49714 192.168.8.10:49714 31.13.92.36:443 31.13.92.36:443 tcp 192.168.1.50:49715 192.168.8.10:49715 31.13.92.36:443 31.13.92.36:443 tcp 192.168.1.50:49716 192.168.8.10:49716 93.184.220.29:80 93.184.220.29:80 tcp 192.168.1.50:49717 192.168.8.10:49717 31.13.93.7:443 31.13.93.7:443 tcp 192.168.1.50:49718 192.168.8.10:49718 31.13.93.7:443 31.13.93.7:443 tcp 192.168.1.50:49719 192.168.8.10:49719 31.13.93.10:443 31.13.93.10:443 tcp 192.168.1.50:49720 192.168.8.10:49720 31.13.93.10:443 31.13.93.10:443 tcp 192.168.1.50:49721 192.168.8.10:49721 207.46.101.29:80 207.46.101.29:80 udp 192.168.1.50:51647 192.168.8.10:51647 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:53083 192.168.8.10:53083 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:58578 192.168.8.10:58578 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:59312 192.168.8.10:59312 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:59671 192.168.8.10:59671 192.168.1.1:53 192.168.1.1:53 Pro Inside global Inside local Outside local Outside global udp 192.168.1.50:59896 192.168.8.10:59896 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:60946 192.168.8.10:60946 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:61739 192.168.8.10:61739 192.168.1.1:53 192.168.1.1:53 udp 192.168.1.50:64596 192.168.8.10:64596 192.168.1.1:53 192.168.1.1:53 --- 192.168.1.50 192.168.8.10 --- ---
R1#show ip nat statistics
Total active translations: 2 (1 static, 1 dynamic; 1 extended)
Outside interfaces:
FastEthernet0/0
Inside interfaces:
FastEthernet0/1
Hits: 2735 Misses: 78
CEF Translated packets: 2699, CEF Punted packets: 227
Expired translations: 89
Dynamic mappings:
Appl doors: 0
Normal doors: 0
Queued Packets: 0
R1#

Static NAT Konfigürasyonu ⇒ Video

Static Network Address Translation yapılandırmak ve doğrulamak için aşağıdaki videoyu izleyebilir ve ayrıca bize destek olmak için YouTube kanalımıza abone olabilirsiniz!

Video Önizleme Görseli
YouTube'da İzle

GNS3’te Statik NAT Hakkında SSS

GNS3’te Cloud ayarlarında neden fiziksel Ethernet kartını seçmek zorundayım?

Bu soru laboratuvar ortamında en sık yapılan hatanın temelini oluşturur. Sanal makineniz internete çıkamıyorsa önce bu ayarı kontrol edin. Cloud nesnesi GNS3 ile fiziksel dünya arasındaki köprüdür.
Eğer VMware’in sanal ağ bağdaştırıcısı VMnet’i seçerseniz trafik yalnızca sanal kutular arasında döner. Açıkçası VMnet arayüzü sizi modeminize veya dış ağ geçidine ulaştıramaz.
Bunun yerine bilgisayarınızın gerçek ethernet kartını veya Wi-Fi bağdaştırıcısını seçmelisiniz. Zira Router’ın dış bacağı DHCP ile IP almak için modeminizin bulunduğu gerçek ağa temas etmek ister.
Aksi halde ‘ip address dhcp’ komutu çalışsa bile bir IP alamazsınız. Neticede tüm NAT kurallarınız doğru olsa da paketler laboratuvar duvarlarını aşamaz.
Örneğin Cloud ayarında ‘Local Area Connection’ veya ‘Wi-Fi’ seçeneğini işaretlediğiniz an sistem nefes almaya başlar. Bu küçük detay saatlerce süren sorun giderme seanslarının önüne geçer.

Inside ve Outside bacaklarını yanlış tanımlarsam ne olur?

Inside ve outside atamaları NAT mantığının bel kemiğidir. Yanlış bir arayüzü inside olarak işaretlerseniz adres dönüşümü ya hiç gerçekleşmez ya da ters yönde çalışır.
Sonuçta içerideki özel IP’niz global IP’ye çevrilemez ve internete çıkış bloke olur. Buna karşın yanlışlıkla dış arayüzü inside yaparsanız Router dışarıdan gelen paketleri de dönüştürmeye çabalar. Bu durum güvenlik zafiyeti oluşturur ve beklenmedik erişim loglarına yol açar.
Bilhassa GNS3 topolojinizde FastEthernet0/0 modeme bakıyorsa mutlaka ‘ip nat outside’ almalıdır. Öte yandan FastEthernet0/1 sanal makinenizin olduğu yerel ağa bakıyordur ve ‘ip nat inside’ komutunu hak eder.
Bir an için roller değişirse show ip nat translations tablosu bomboş kalır. Kullanıcıya tavsiyem şudur: Her zaman LAN tarafını inside, WAN tarafını outside olarak düşünün. Böylece aklınızda net bir resim oluşur ve yapılandırma hatası yapmazsınız.

Sanal makinenin DNS ayarlarını boş bırakmak neden web sayfalarını açmama sebep olur?

Bu nokta NAT’ın işlevi ile DNS çözümlemesinin farklı şeyler olduğunu net biçimde ortaya koyar. Siz statik NAT ile IP paketlerine yeni bir başlık giydirip dışarı yollarsınız. Fakat tarayıcı ‘google.com’ yazdığınızda bu ismin IP karşılığını bir yerden öğrenmek zorundadır.
Şayet sanal makinenin DNS sunucusu hanesi boş kalırsa sistem isim çözümlemesi yapamaz. Ping komutu doğrudan IP adresine gittiği için çalışır ama web trafiği tıkanır. Üstelik birçok kişi NAT çalışmıyor zannedip gereksiz yere Router konfigürasyonunu kurcalar.
Oysa yapmanız gereken TCP/IP ayarlarında DNS adresini modeminizin IP’si olarak girmektir. Yani 192.168.1.1 gibi bir adresi DNS satırına eklemek sihirli bir dokunuş yaratır.
Böylelikle NAT mekanizması adresi çevirir, DNS ise ismi çözümler ve sayfa açılır Kısacası ağın iki ayrı katmanı el ele vermeden internette sörf yapamazsınız.

Static NAT kaydı ekledikten sonra neden hala ping atamıyorum?

Komutları yazdınız, ‘ip nat inside source static’ satırını girdiniz ama sonuç hüsran. Burada genellikle gözden kaçan üç temel sebep vardır. İlk olarak arayüzlerin ‘no shutdown’ ile aktif edildiğinden emin olun.
Ardından yerel ağdaki sanal makinenin varsayılan ağ geçidini Router’ın inside IP’sine yönlendirin. Yani 192.168.8.10 adresli bilgisayarın ağ geçidi 192.168.8.1 olmalıdır. Bunu atlarsanız paketler yönlendiriciye uğramaz ve NAT tetiklenmez.
Son olarak statik eşlemede kullandığınız global IP’nin Router’ın dış arayüz IP bloğunda olması şarttır. Örneğin dış arayüz DHCP’den 192.168.1.0/24 bloğundan IP aldıysa global IP’niz de bu aralıkta olmalıdır.
Başka bir bloğu yazarsanız dönüş trafiği Router’a geri dönemez. Bütün bu kontrolleri yapınca birkaç saniye içinde ping cevaplarının geldiğini göreceksiniz.

show ip nat translations çıktısındaki Inside Local ve Inside Global ne anlama geliyor?

Bu iki sütun NAT tercümesinin öncesi ve sonrasıdır. Inside Local adres, sizin özel ağınızda cihaza verdiğiniz gerçek IP’dir. Yani sanal makinenizin 192.168.8.10 olan adresidir ve dış dünya bu adresi asla görmez.
Inside Global ise dış arayüz üzerinden internete gösterdiğiniz sahte kimliktir. Bu örnekte 192.168.1.50 olarak tanımlanan maskedir. Dışarıdaki bir sunucu sanki karşısında 192.168.1.50 varmış gibi cevap verir.
Router dönüş paketini aldığında bu Global adresi tekrar Local adrese çevirip iç ağa iletir. Dolayısıyla tablo size bir eşleşme haritası sunar.
Burada ‘Pro’ sütunu protokolü, port numaraları ise hangi servisin konuştuğunu belirtir. Yani TCP 443 satırı görüyorsanız sanal makineniz güvenli bir web sitesine bağlanmış demektir. Tüm bu tercüme mekanizması sayesinde tek bir genel IP ile onlarca cihaz internete çıkabilir.

Biriken NAT çeviri kayıtlarını temizlemek neden önemlidir ve nasıl yapılır?

Laboratuvar ortamında sürekli yapılandırma değiştirirken eski NAT kayıtları sizi yanıltabilir. Zira ‘show ip nat translations’ ekranı kullanılmayan oturumların kalıntılarıyla dolar. Bu da ‘Acaba yeni kuralım çalışıyor mu?’ sorusuna net yanıt vermeyi zorlaştırır.
Hele ki hata ayıklarken taze bir başlangıç yapmak isteyebilirsiniz. İşte tam bu noktada ayrıcalıklı modda ‘clear ip nat translations *’ komutu devreye girer. Bu komut dinamik olarak oluşmuş tüm geçici eşleşmeleri anında siler.
Statik olarak eklediğiniz kalıcı kurala dokunmaz ama anlık oturumları temizler. Peşinden tekrar ‘show ip nat translations’ yazdığınızda sadece statik eşleşmenizi görürsünüz. Örneğin Facebook’a bağlanıp tabloyu şişirdikten sonra bu temizliği yapmak harikadır.
Ayrıca sorun giderme sırasında sayaçları sıfırlamak için de idealdir. Böylece ‘Hits’ ve ‘Misses’ değerleri sıfırlanır ve yeni testleriniz için sağlıklı veri toplarsınız. Unutmayın, temiz bir tablo berrak bir zihin demektir.

Sonuç

Bu yazımızda, bir bilgisayar için Statik NAT ekledikten sonra show komutlarına göz attık. Sonraki yazılarımızda, NAT ile ilgili daha detaylı projeler oluşturacağız. Bizi takip ettiğiniz için teşekkürler!

Bu Rehberi Keşfettikleri İçin Sana Teşekkür Edecekler!

Sadece bir tıkla sevdiklerine dev bir iyilik yapmaya hazır mısın? Bilgi paylaştıkça devleşir.

İlk yorumu sen paylaş