Home Map Index Search News Archives Links About LF
[Top bar]
[Bottom bar]
�evrildi�i diller: Castellano  Deutsch  English  Français  Italiano  Nederlands  T�rkce  
[Yazarýn Fotoðrafý]
Atif Ghaffar taraf�ndan

Yazar hakk�nda:

�svi�re'de web sorumlusu ve unix y�neticisi olarak �al���yorum . Tutkular�m aras�nda Linux, unix, Perl, Apache ve GPL yaz�l�mlar� var. Benim hakk�mda daha �ok bilgibu anasayfada

��erik:

Apache ProxyPass Kullanarak Masquarading host'tun Arkas�ndaki Sunuculara Giri�

�eviri : Zuhal G�l

[Resim]

�zet:

Ben, evde ip maskelemesini ve firewall'unu kullanarak Linux'le y�klenen k���k LAN(yerel network alan�) kullan�yorum. Network'�mdeki b�t�n makinelerin internet �zerindeki b�t�n bilgileri kabul etmesine ra�men,sadece bu makine internetten ip maskelemesini uygun g�r�yor. En son Apache makalemde, ip adreslerinin nas�l d�n��t�r�lece�ini g�sterdim.Bu makalemde firewall'deki veya g�venlik anla�malar�ndaki kurallar� de�i�tirmeden internet �zerinde firewall'un arkas�nda web sunucusunun nas�l olu�turulaca��n� g�sterece�im. Ayr�ca, bu makalede bu hedefi ba�arabilmek i�in Apache's ProxyPass bildiriminin nas�l kullan�laca��n� g�rece�iz. Bu makalenin hedef kitlesi Sistem Y�neticileri veya evde ,i� yerinde orta b�y�kl�kte LAN i�in k�����n� �reten ki�ilerdir.



 

�p maskelemesi ile ilgili problem

Benim LAN'�mda uzun bir s�redir,router(maskeleme ve firewall'� yapan makine) web sunucusu,mail sunucusu,ftp sunucusu,dns sunucusu olarak da g�rev al�yordu.
Bir g�n,firewall'�n arkas�ndaki makineden web i�eri�ini sunma ihtiyac� duydum.
Ayr�ca baz� d�k�manlar� (video sunucusu,g�r�nt� ak���(streaming images) sunucular�) network'un arkas�ndaki SGI IRIX kutusundan sunmak istedim. Bu makinenin internete t�m giri�leri vard�,fakat internet kullan�c�lar� makineye ba�lanam�yorlard�. IRIX makinesini network �zerine koymaya hi� niyetim yoktu ,ama insanlar�n web sunucusuna ba�lanabilmeleri i�in bu gerekiyordu.

Ayn� probleme, i�te benzer network ve Firewall'le kar�� koyuyordum.
Her seferinde birileri internetten g�steri ama�l� uygun web sunucusu geli�melerini istedi,firewall'deki kurallar�n de�i�meye ihtiyac� vard� ve siz makineye network'�n g�venlik anla�mas�n� ve d�� ip adreslerini vermek zorundayd�n�z.

 

Apache'den kurtulmak i�in : ProxyPass

Bir�ok ��z�m� d���nd�kten sonra, Apache ve onun ProxyPass bildirimiyle bir tane denedim.
ProxyPass, Apache sunucunuzla mod�l olarak derlenmek ve y�klenmek i�in mod_proxy'ye ihtiya� duyar.
�imdi ProxyPass'in Apache manuellerinden al�nm�� ifadeleri

ProxyPass

S�z dizimi: ProxyPass <path> <url>
�n g�r�len de�er: Yok
Genel durum: config sunucusu, sanal host
Daha �nemlisi: Uygulanamaz
Durum: Taban
Mod�l: mod_proxy
Uygunlu�u: ProxyPass sadece Apache 1.1 ve sonras�nda ge�erlidir.

Bu bildirim uzak sunucular�n yerel sunucunun alan�na girmesine izin verir; yerel sunucu g�reneksel anlamda proxy olarak g�rev almaz;fakat uzak sunucular�n aynas� gibi g�z�k�r. <path> yerel as�l path'in ismi; url> uzak sunucular i�in b�l�msel URL .

Farzedin ki yerel sunucunun adresi var http://wibble.org/; ve

   ProxyPass /mirror/foo/ http://foo.com/
yerel iste�e sebep olacak <http://wibble.org/mirror/foo/bar>i�in <http://foo.com/bar> de proxy iste�ine d�n���m.

 

Ger�ek hayattan �rnek

�� vidyo sunucusunu d�� web sunucusuna d�n��r�rme(mapping).
�� network: hometranet.home 192.168.1.0/255.255.255.0
( internet, intranet, extranet mevzular�nda ,ben ev network'�nde hometranet kullan�yorum.)
D�� network: developer.ch 193.192.254.50

Vidyo sunucular� (i�) cam.hometranet.home da �al���r
vidyo g�r�nt�lerinin url'den sunumuyla http://cam.hometranet.home:5555/cams/sony/stream
ve
hala burada http://cam.hometranet.home:5555/cams/sony/image kameradan g�r�nt�lenir
Buray� ziyaret etti�im zaman
http://mozilla.developer.ch/stream urls'den b�t�n sonu�lar� g�rmek istedim
ve
http://mozilla.developer.ch/image
Bu, kolayca httpd.conf or srm.conf'a s�radakileri ekleyerek Apache'den ProxyPasskomutunu kulanarak ya��labilir.

ProxyPass /video http://cam.hometranet.home:5555/cams/sony/stream
ProxyPass /video http://cam.hometranet.home:5555/cams/sony/stream
�imdi, web sunucusunu tekrar ba�latt�ktan sonra (mod_proxy uygun olsayd�), http://mozilla.developer.ch/image ? web sunucusundan cevaplar.
Siteyi ziyaret eden kullan�c�lar i�in onun �effafl��� ve hemen hemen* g�venliksizli�i, bu metodu kullanarak tatl�ya ba�land�.
*hemen hemen 'i kulanmam�n nedeni internette tam g�venlik diye bir�ey yoktur. :)

 

Sanal Sunuculara D�n���m

Proxypass as�l makineden farkl� bir makineye d�n���m i�in kullan�labilinir.
�rne�in:
docs.sun.developer.ch , solsparc.hometranet.home 'a d�n��r

NameVirtualHost 193.192.254.50
<VirtualHost 193.192.254.50>
     ServerName sun.docs.developer.ch
     ProxyPass / http://solsparc.hometranet.home/
     TransferLog /net/www/logs/sun.docs.access
     ErrorLog    /net/www/logs/sun.docs.errror
</VirtualServer>
Ana makinelere onlar�n ip adreslerini kullanarak da g�nderi yapabilirsin
<VirtualHost 193.192.254.50>
     ServerName sun.docs.developer.ch
     ProxyPass / http://192.168.1.7/
     TransferLog /net/www/logs/sun.docs.access
     ErrorLog    /net/www/logs/sun.docs.errror
</VirtualServer>
 

��lemlerin durdurulmas�

Ana web sunucunuz kullan�c�lar�n�z�n lehinde i� web sunucular�na istek yap�yorsa,hi�bir esas makineye ba�lanamazs�n,onun yerine b�t�n istekleri kaynak makinede girmek zorunds�n.
Yukarki olayda solsparc.hometranet.home 'a girmek yerine kay�tlar� esas makine olan sun.docs.developer.ch 'de girerim.
sun.docs.developer.ch 'de girmenin sonu�lar�(sahte sonu�lar)

197.0.22.3 - - [05/Nov/1999:22:09:04 +0100] "GET /index.html HTTP/1.0" 304 -
187.0.45.67 - - [05/Nov/1999:22:09:04 +0100] "GET /navi.html HTTP/1.0" 304 -
177.0.5.45 - - [05/Nov/1999:22:09:04 +0100] "GET /entrees.html HTTP/1.0" 304 -
227.0.9.67 - - [05/Nov/1999:22:09:15 +0100] "GET /complets.html HTTP/1.0" 304 -
137.0.7.23 - - [05/Nov/1999:22:09:19 +0100] "GET /menu_poisson.html HTTP/1.0" 200 841
193.192.245.73 - - [05/Nov/1999:22:09:25 +0100] "GET /volailles.html HTTP/1.0" 304 -
192.167.0.1 - - [05/Nov/1999:22:09:44 +0100] "GET /agneau.html HTTP/1.0" 304 -                                                            
solsparc.hometranet.home 'da girmenin sonu�lar�
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /index.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /navi.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:04 +0100] "GET /entrees.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:15 +0100] "GET /complets.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:19 +0100] "GET /menu_poisson.html HTTP/1.0" 200 841
192.168.1.1 - - [05/Nov/1999:22:09:25 +0100] "GET /volailles.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:44 +0100] "GET /agneau.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:09:56 +0100] "GET /desserts_ind.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:10:00 +0100] "GET /cocktails.html HTTP/1.0" 304 -
192.168.1.1 - - [05/Nov/1999:22:10:10 +0100] "GET /cgi-bin/commande.cgi HTTP/1.0" 200 2146        

Ayn� ba�vurular ayr�ca ip numaralar� veya isimle belirtilen ACLs (access control list) i�in kullan�l�r.
E�er baz� hosts/ip adreslerini bloke etmek veya belli ip adreslerinin �zel alana giri�ini vermek istiyorsan ,bunu yerel sunucu yerine esas sunucuda yapmal�s�n.
Ayr�ca Diroctory 'de belirlenen kullan�c�lar� k�s�tlayamazs�n.
Location , Files veya FilesMatch komutlar�n� kullanabilirsin.
S�radaki �rnek bunlar�n bir ka��na de�iniyor. �rnek:
<VirtualHost 193.192.254.50>
     ServerName sun.docs.developer.ch
     #this rule only allows users from good.host.com domain
     <Location /private>
          order deny,allow
          deny from all
          allow from good.host.com
     </Location>
     #This rule deny's the uncool Microsoft's monopoly helper browser.
     BrowserMatch MSIE uncool_browser
     <Location /coolpages>
         order allow,deny
         allow from all
         deny from env=uncool_browser
     </Location>
     #This rule only allows users that are in your passwd.httpd file
     <Location /coolpages>
         AuthName "only for registered users"
         AuthType Basic
         AuthUserFile "/etc/httpd/passwd.httpd"
         <Limit GET>
              require valid-user
         </Limit>
     </Location>

     ProxyPass / http://192.168.1.7/
     TransferLog /net/www/logs/sun.docs.access
     ErrorLog    /net/www/logs/sun.docs.errror
</VirtualServer>

 

Ek Kaynaklar

[Apache mod_proxy d�k�manlar�]
http://www.apache.org/docs/mod/mod_proxy.html
[Apache tabanl� Virtual Host Deste�i]
http://www.apache.org/docs/vhosts/name-based.html
[Apache Virtual Host d�k�manlar�]
http://www.apache.org/docs/vhosts/index.html
 

Bu makale i�in g�r��ler:

Her makalenin kendi talkback sayfas� vard�r. Bu sayfada d���ncelerinizi sunabilir veya di�er okuyucular�n g�r��lerine bakabilirsiniz:
 talkback page 

Websayfalar� LinuxFocus'un Edit�rleri taraf�ndan s�rd�r�l�yor
© Atif Ghaffar
LinuxFocus.org 2000

hatalar� veya Linuxfocus'a g�r��lerinizi bildirmek i�in t�klay�n�z

2000-04-23, lfparser versiyon 1.5 'le olu�turulmu�tur.