الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تشغيل Squid ودعم الإنترنت عن طريق NAT

مغلق
بدأه HGB في 7 أكتوبر 2006 · 6 رد · 3,492 مشاهدة · في منتدى الشبكات العام
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ,,

هذا السؤال كتبته في قسم لينوكس , وقمت بتحويله لقسم الشبكات مع ترك الوصلة الأصلية في قسم اللنوكس لأنه خاص بالمكانين ,,

-------

وضع الشبكة بسيط جدا حيث يوجد خادم واحد فقط وأجهزة كلاينت مرتبطة به بشكل مباشر ,,,

الخادم يعمل على Fedora 4 وثبت Squid 2.5STABLE6 وأريد أن أقوم بتوزيع الإنترنت من الفيدورا لأجهزة المستخدمين في الشبكة بدون أن أطالبهم بكتابة بروكسي سيرفر مع بورت في إعدادات Internet Explorer من أجهزتهم وندوز .

وفي نفس الوقت أريد أن أقوم بعمل Bandwidth Control للمستخدمين بإستخدام ال delay Polls من Squid ل ACLs معينة أقوم بتحديدها ,,,

الآن يجب أن أقوم بدعم Nat عن طريق ال Iptables لتقوم بعمل forwarding من عناوين الشبكة للgateway , لكن في حالتي أظن أنه يجب أن أقوم بعمل NAT+PAT بحيث أحول العناوين من الشبكة على Squid proxy وأيضا أحول الport إلى Squid Port ولنفرض جعلته الإفتراضي 3128,,,,

هل سينجح هذا السيناريو ؟

أم ماذا علي أن أفعل لدعم bandwidth Control+أن لاأطالب المستخدمين بكتابة Proxy Server للوصول لأنترنت ؟

هل توجد حلول أخرى ؟

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#2

الbandwidth control في squid يتم من خلال delay pools.. هل هذا ماتعني بـ delay polls؟ اذن سيقوم بالواجب..

بالنسبة لدخول المستخدم إلى البروكسي من دون أية إعدادات في متصفح الإنترنت فهذا اسمه Transparent Proxy او بروكسي شفاف

كما تعلم عندما تقوم بإعداد البروكسي في متصفح الإنترنت فأي بكت طالع للإنترنت سيكون متجه إلى البروكسي.. مثلا عندما تكتب yahoo.com سيكون الـdestination ip addrss هو عنوان البروكسي، وليس yahoo.com.. والبروكسي في الحالة الطبيعية سيستقبل الطلب لأنه موجه إليه.

لكن عندما تقوم بإلغاء إعدادات البروكسي في متصفح الإنترنت حينها سيكون dest ip address هو yahoo.com بعينه..

الخطوات بصفة عامة هي كالتالي:

1- حتى تقوم بتطبيق بروكسي شفاف يجب عليك تحويل جميع الطلبات الصادرة على منفذ 80 إلى منفذ 3128 على البروكسي.. يعني عندما يرسل العميل http request إلى yahoo.com ستقوم بتحويله إلى البروكسي عوضا من إرساله إلى الجهة المطلوبة وهي yahoo.com.. وطبعا تقوم بتغيير رقم المنفذ من 80 إلى رقم منفذ البروكسي والذي هو 3128 في حالتك. لكن هل هذا يكفي؟ طبعا لا.

2- ايضا يجب عليك تنصيب Squid بحيث يقوم بإستقبال packets صادرة لـdestination مختلف عن الـsquid ip address..

هنا الخطوات بمزيد من التفصيل

http://www.squid-cache.org/Doc/FAQ/FAQ-17.html

هل توجد حلول أخرى؟

بالنسبة للتحكم بالbandwidth نعم.. ممكن تقوم بهذا من دون Squid.. مع العلم ان squid سيقوم بالتحكم للبكتس المتعلقة بالمواقع فهذا الذي ستقوم بتوجيهه إليه صح؟ ماذا لو اردت التحكم في جميع البكتس؟ إقرأ هذا الكتاب chapter 9 http://shelfzilla.com/?action=readbook&bookid=42 فيه شرح لكيفية استخدام tc ويعني traffic control

بالنسبة لحلول بديلة للـTransparent proxy، لا اظن انه يوجد حل افضل من الذي قلته..

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#3

تشكرا جزيلا يا eech55 على الرد الوافي جدا ,,

لكن نظرية ال squid إن كانت تدعم البورت 80 فقط (بما أنه بروكسي سيرفر في الأساس) فلن تصلح في حالتي حيث أن لدينا شباب متوحشين لشفط الباندويدث عن طريق برامج ال p2p ,,

عموما أقرأ في الكتاب الذي أعطيتني رابطه ويوجد فيه مايسمى بال iproute2 , وأيضا وجدت برامج أخرى في لنيكس منها ip_realy

http://www.stewart.com.au/ip_relay/

و برنامج آخر إسمه Lartc :

http://www.lartc.org/

-----------------

عموما لم أتوقع أبدا أن يكون موضوع التحكم في الباندويدث بهذا التعقيد أبدا ,, حيث أني بدأت من الوندوز وإستسلمت من الإيزا والإضافات التي معه , حيث كان هنا بعض البرامج أمثال TrafficQUOTA و bandwidth splitter كإضافات لإيزا لكن لم أجد فيهم تحكم ACL كما في Squid فمثلا لم أجد مكان للتحكم بالترافيك على مستوى ip معين , أو مجموعة ips أحددها لجروب معين ,,

عموما هذا رابط إضافات الإيزا وأتمنى أن يستطيع أحد بأن يفتي في موضوعها أو يكون على الأقل جرب أحدها ,,

http://www.isaserver.org/software/ISA/Bandwidth-Control/

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#4

بالضبط.. اذا تريد التحكم بالp2p فأرى ان تقوم بعدم استخدام الـsquid انما استخدام برامج queueing كال tc

اقتباس
و برنامج آخر إسمه Lartc :

http://www.lartc.org/

تذكر الكتاب الي عطيتك في الرد الاول لي؟ هذا الكتاب هو lartc.. يعني lartc ليس برنامج إنما كتاب ومعناه linux advanced routing and traffic control.. حملته في موقع shelfzilla قبل شهر تقريبا.. لانني دائما انسى اسم lartc.com..

السبب وراء هذا التعقيد ان تقنيات ترتيب اوليات البكت عديدة.. وكل طريقة لها ايجابياتها وسلبياتها.. او ربما الشرح في هذا الكتاب معقد بعض الشيء..

جربت تقنيات شبيهة في راوترات cisco وقريبة من تلك في اللينوكس.. حتى ان بعض المسميات متشابهة

اظن ان مشكلته الكتاب انه موجه لأشخاص لديهم خلفية في الشبكات.. مثلا في chapter 9 في بداية الشرح يقول الخاصية الفلانية تعتمد على TOS.. وما ادرى الناس ما هو TOS :D

سأحاول تلخيص الموضوع ان شاء الله لو حصلت فرصة

إذا نفعتك أحد مشاركاتي فأدع بظهر الغيب لوالداي بالصحة والسلامة والسعادة وطول العمر وأن يكون هذا زيادة لهما في كل خير.

post-21836-1257612765.gif

before asking: smart questions how-to

#5

اذا ما زال السيرفر سكويد يعمل على لينوكس .. فالخطوات بسيطة استطيع افادتك بها

اما اذا ويندوز .. فانا لم اعمل على الايزا من قبل

There's no place

like 127.0.0.1

#6

طريقة ال squid كنت أعرفها بال delay pools كما صححني eech55 , وأيضا وضح لنا أنه لايمكن التحكم بكامل الترافيك , فقط ال squid يتحكم بالبورت 80 .

لذلك صرفت النظر عنه مؤقتا وقد أستفيد منه كطبقة إضافية للتحكم لاحقا , لكن مؤقتا ربما ككاش سيرفر فقط .

عموما كنت أقرأ طوال يوم أمس في كتاب eech55 الفصل التاسع الخاص بالتحكم بالباندويدث والحمد لله فهمت الفكرة , وسأجربها عمليا وأحاول تلخصها بشكل مناسب .

عموما هذا مثال بسيط للتحكم في عدة أنظمة , طريقة ال Tc تستخدم في linux ,,

http://www.honeynet.org/tools/dcontrol/dc.html

banner_60_468.gif

NOTHING IS IMPOSSIBLE

#7

للتحكم بالترافيك انصحك ب MasterShaper

www.mastershaper.org

There's no place

like 127.0.0.1

هذا الموضوع مغلق.

مواضيع مشابهة