|
|
المؤلف Atif Ghaffar <aghaffar(at)developer.ch> نبذة عن الكاتب: أسكن في سويسرا و أعمل مدير وب و يونكس، انشغالاتي هي لينكس و يونكس و برل و أباش و برامج GPL.، زر موقعي ترجمه إلى العربية: Taha Zerrouki <taha(at)linuxfocus.org> الفهرس: |
نبذة مختصرة:
لدي شبكة خاصة في البيت تعمل بلينكس و استعمل قناع IP، وكل الأجهزة تبلغ الإنترنت، لكن من الإنترنت لا أبلغ سوى الجهاز الذي يعمل قناعا.
في آخر مقال لي عن أباش شرحت إعادة استعمال عناوين IP و الآن سأشرح كيفية الولوج إلى خادم الوب خلف جدار النار من الإنترنت دون تغيير قواعد الجدار و لا التأثير في أمن الشبكة. سنتعلم استعمال قواعد Apache Proxy Pass من اجل ذلك ( هذا المقال يعنى بالشبكات الصغيرة).
لزمن طويل في شبكتي كانت البوابة ( الجهاز الذي يعمل القناع) تعمل عمل خادم الوب، ftp و DNS و كل شيء.
لدي جهاز SGI IRIX و أود أن أوزع بعض الملفات منه، هذا الجهاز في شبكتي يبلغ إلى الإنترنت، لكنني لا أستطيع الولوج إليه من خلال الإنترنت، و أنا أود وضعه على الشبكة و أجعل الآخرين يصلون إلى خدماته.
و مشكلتي الأخرى أنني كلما أردت أن يستعمل أحدهم خادم الوب من خلال الإنترنت لأهداف تعليمية، توجب علي تغيير قواعد جدار النار و إعطاء عنوان خارجي للجهاز مما يمس بأمن الشبكة.
بعد التحري و التجربة، اعتمدت على أباش و توجيهته ProxyPass .
ProxyPass يتطلب mod_proxy لتصريفه، أو يصرف كوحدة مع خادم أباش.
و إليك تعريف ProxyPass من خلال دليل أباش.
هذه التوجيهة تسمح للخوادم البعيدة أن تدخل في نطاق الخادم المحلي الذي يعمل كأنه proxy عادي بيد انه يبدو و كأنه مرآة للخوادم البعيدة.
< path > اسم الملف الافتراضي، <url> عنوان الوب للأجهزة البعيدة.
لنفرض أن الخادم المحلي له العنوان http://wibble.org/ إذن
ProxyPass /mirror/foo/ http://foo.com/كل طلب محلي للعنوان http://wibble.org/mirror/foo/bar سوف يحول إلى طلب http://foo.com/bar .
قرن خادم الفيديو الداخلي بخادم خارجي
شبكة الإنترنت: hometranet.home 192.168.1.0/255.255.255.0
(كما يوجد انترنت و انترانت و اكسترانت فأنا أسمي شبكتي المنزلية منزل-نت).
الشبكة الخارجية: developer.ch 193.192.254.50
خادم الفيديو الداخلي موجود على الجهاز cam.hometranet.home يخدم
دفق الصور على الرابط http://cam.hometranet.home:5555/cams/sony/stream
و
و يبقي الصور من الكاميرة في http://cam.hometranet.home:5555/cams/sony/image
أريد أن أشاهد النتيجة من خلال هذا العنوان.
http://mozilla.developer.ch/stream
و
http://mozilla.developer.ch/image
هذا يمكن القيام به بكل سهولة بواسطة توجيهة ProxyPass مع أباش بإضافة هذه الأسطر إلى httpd.conf أو srm.conf
ProxyPass /video http://cam.hometranet.home:5555/cams/sony/stream
ProxyPass /video http://cam.hometranet.home:5555/cams/sony/stream
ثم أعد تشغيل خادم الوب
(إن كان mod_proxy متوفرا),
http://mozilla.developer.ch/image يجيب عن الاستعلامات .
بالنسبة للمستعملين ، كل شيء شفاف و لا يوجد تأثير على العموم على الأمن في الشبكة..
*I used the word almost, because there is no such thing as total
security on the internet :)
تستطيع استعمال ProxyPass لتحويل أجهزة افتراضية إلى أجهزة أخرى مثلا..
docs.sun.developer.ch ستقترن بـ solsparc.hometranet.home
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>يمكنك التوجيه إلى المضيفات بعنوانيها
<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>
بما أن خادم الوب يرسل طلبات إلى الخادم الداخلي من وراء الزبائن، لا نستطيع معرفة طرق الأجهزة عليك تخزين كل الطلبات في الجهاز الباعث.
.
في المثال السابق
تأتي الطلبات في sun.docs.developer.ch
بدلا من solsparc.hometranet.home
نتائج الدخول sun.docs.developer.ch ( نتائج dummy)
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
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نفس الشيء بالنسبة إلى توجيهات عنوان IP و ACL ( قائمة مراقبة الولوج Access Control List) إذا أردت أن تمنع أجهزة أو الحق في الاتصال ببعض عناوين IP هذا يجب أن يكون في الخادم الرئيسي بدلا من الخادم المحلي.
<VirtualHost 193.192.254.50> ServerName sun.docs.developer.ch #هذه القاعدة تسمح فقط للمستعملين من نطاق good.host.com <Location /private> order deny,allow deny from all allow from good.host.com </Location> # هذه القاعدة تمنع احتطار متصفح مايكروسوفت. BrowserMatch MSIE uncool_browser <Location /coolpages> order allow,deny allow from all deny from env=uncool_browser </Location> # هذه تسمح للمستخدمين ذوي كلمات السر في الملف passwd.httpd <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>
|
الصفحات برعاية طاقم لينكس فوكُس
© Atif Ghaffar, FDL LinuxFocus.org اضغط هنا للتنبيه عن خطأ أو لارسال ملاحظاتك إلى لينكس فوكُس |
معلومات عن الترجمة:
|
2002-02-23, generated by lfparser version 2.26