Merhabalar,



Port Forwarding e PORT AÇMA Diyenler var.

Cisco nun sitesinde bile Port Opening gibi kullanimlar var.
Bu kullanim yanlistir.
Her hangi bir yerde PORT açtigimiz yok .

Port Yönlendirme dogru tercümesidir.

Örnegin Agimizda bir tane WEB SERVER
bir tane TELNET SERVER olsun.

WebServer - 192.168.1.30
TelnetServer - 192.168.1.40



*


Server Hizmetçi demektir.

Evinizde bir Hizmetçi hayal edin.

Adi El-Hizmetçi .

Bu hizmetçi bir çok hizmet verir bize

Birkaç hizmeti sirayalalim

-> Isteyince bir bardak su verir
-> Isteyince kumandayi getirir
-> Isteyince Yemek yapar


gibi.

Biz bu hizmetlere Numaralar verelim.

-> Bi Bardak Su Ver - 10
-> Kumandayi Getir - 13
-> Dans Et - 19



El-Hizmetçi - 10 Diye seslenince,

Su istedigimizi bilir


Server larda böyledir.

Ne gibi hizmetler verir ? Su vermezler ama Http, Ftp, Telnet, Ssh gibi hizmetler verirler..

Ve bu hizmetlerin numaralari vardir.

Http - 80
Ftp - 20,21
Telnet - 23
Ssh - 22


Gibi

Server un ip si 192.168.1.30 ise ondan Http hizmeti isteyeceksek ne yapacaz ?

192.168.1.30 : 80 e istek göndericez o kadar

Peki disardan birisi bizim 192.168.1.30 üzerindeki HTTP hizmetinden yararlanmak isterse
ne olacak ?


Bizim hizmetçinin ag içindeki adi -> 192.168.1.30
Ama Disarda bunu kullanamaz ( PRivate IP oldugu için )
Bunu ögrendik.

Peki LAN da böyle hizmet veren Server lar varsa,
diisardan gelen istekleri bunlara nasil YÖNLENDIRIRIZ ?

El-Hizmetçi nin disarda kullandigi isim RIHANNA olsun.

Disardan birisi RIHANNA -> 10 deyince
bizim router un bu istegin aslinda El-Hizmetçi -> 10 a geldigini bilmelidir.

ISte PORT FORWARDING ( Port Yönlendirme ) budur kisaca.
Birkaç kaynakda HIZMET YÖnlendirme demisler.
Bana mantikli bir kullanim geldi.


Topology söyle olsun.

Iki Tane Server umuz olsun.

WebServer - 192.168.1.40 / TelnetServer - 192.168.1.30 ---- Switch --- Fa1/0 R1 - s2/0 ----- ISP

R1 in Fa1/0 - 192.168.1.1
R1 in S2/0 - 80.1.1.1
ISP - 80.1.1.2

Olsun.

Yine R1 de Önce Inside ve Outside Interface leri belirleyelim.

Kod:
r1
CONF T

int fa1/0
ip add 192.168.1.1 255.255.255.0
ip nat i
no sh

int s2/0
ip add 80.1.1.1 255.255.255.0
ip nat o
no sh
end
wr
Kontrol edelim...

Kod:
R2#sh ip nat statistics | sec interface
Outside interfaces:
  Serial2/0
Inside interfaces:
  FastEthernet1/0

Simdi amacimiz su olsun.

Disardan gelen Telnet Hizmeti istekleri 192.168.1.30 a gitsin.
Disardan gelen Http Hizmeti istekleri 192.168.1.40 a gitsin.



Kod:
CONF T

ip nat inside source static tcp 192.168.1.30 23 80.1.1.1 23

ip nat inside source static tcp 192.168.1.40 80 80.1.1.1 80 

Formülü hatirlarsak eger,

Burda degisen sey
NEYI ve NEYE kisimlarini yazarken isin içine PORT lari da eklemis olduk.
Böylece Hangi Hizmet istegini KIME YÖNLENDIRECEGINI bilir NAT Yapan ROUTER !


KOntrol edelim.

Kod:
sh ip nat translations


Pro Inside global      Inside local       Outside local      Outside global
tcp 80.1.1.1:23        192.168.1.30:23    ---                ---
tcp 80.1.1.1:80        192.168.1.40:80    ---                ---
Bunlarin ne anlama geldigini NAT -1- de ögrendik.

Source IP si 192.168.1.30 olan bir Packet içindeki TCP Source 23 ise
Bunu disari çikarirken 80.1.1.1:23 Seklinde çikar demektir.

Yine burda Simetrisi bizim NAT ROUTER un aklindadir.

Yani Disardan gelen packetin DESTINATION kismi 80.1.1.1:23 ise
Aslinda bu packet 192.168.1.30:23 e gelmistir...

Test edelim.

Önce NAt Routerda DEBUG açalim...

Kod:
NatRouter# 

debug ip nat detailed
Kod:
ISP#

Telnet 80.1.1.1

Nat Routerda

Kod:
*Sep 12 13:10:32.911: NAT*: o: tcp (80.1.1.2, 17394) -> (80.1.1.1, 23) [14650]
*Sep 12 13:10:32.911: NAT*: o: tcp (80.1.1.2, 17394) -> (80.1.1.1, 23) [14650]
*Sep 12 13:10:32.911: NAT*: s=80.1.1.2, d=80.1.1.1->192.168.1.30 [14650]
Gördüm..

Kod:
sh ip nat translations

Pro Inside global      Inside local       Outside local      Outside global
tcp 80.1.1.1:23        192.168.1.30:23    80.1.1.2:17394     80.1.1.2:17394
tcp 80.1.1.1:23        192.168.1.30:23    ---                ---
tcp 80.1.1.1:80        192.168.1.40:80    ---                ---


///

Disardan gelecek bir HIZMET in SOURCE IP sini ve PORT numarasini
degistirebilir miyiz ? Tabiki yapariz.


CONF T
IP NAT OUTSIDE SOURCE TCP 80.1.1.2 80 192.168.1.100 80


Ile mesela Bu Server dan gelen HTTP hizmeti
sanki bizim agimizdaki 192.168.1.100 den geliyormus gibi gösterilebilir.

Saçma bir örnek gibi gelmesine ragmen,
birilerinin böyle bir istegi olabilir.

Aslinda bu tür seyleri ezberlemeye gerek yok,
formülü biliyorsak gerisi sadece fantazi...

Buna örnek yapmaya gerek duymadım.


\\\




!!! Bir Kaç küçük detaydan bahsedelim !!!
-------------------------------------------------



1)



NAT TAble daki her bir ENTRY ortalama 160 Byte yer kaplar.
Onun için korkacak bisi yok.



2-)


NAT* -> Debug Çiktilarinda "*" ibaresini görürsünüz.

BU isaret var ise Cisco cihaziniz CEF i kullanarak NAT yapti demektir.

Kod:
Conf t
no ip cef
Yapin .

CEF olmayacagi için "*" isareti kalkar.
Ki bu durumda Process-Switching kullanmis demektir.


Kod:
sh ip nat s | inc CEF
CEF Translated packets: 73, CEF Punted packets: 0
burdan takip edebiliriz.



3-)


Ayrica yukardaki DEBUG çiktisi ise her ENTRY nin sonunda [14650] gibi bir
deger var. Bu konuyu Security de tartisicaz. Simdilik önemli degildir.


Bu makaleye kadar olan kisim CCNA RS için son olsun.



CCNA RS hazirlaniyorsaniz bundan sonraki makaleleri okumaya gerek yok.

CCNA RS bilginiz varsa zaten buraya kadar okumaniza da gerek yoktu