توی این آموزش میخوایم با هم یاد بگیریم چطوری Gateway رو روی لینوکس تنظیم کنیم. قبل از اینکه بریم سراغ تنظیمات، خوبه یه نگاه کلی بندازیم به اینکه اصلاً Gateway چیه و چه کاری انجام میده.
همونطور که میدونیم، شبکه بر اساس مدل OSI کار میکنه که ۷ تا لایه داره. لایهی سومش Network هست و مهمترین چیز توی این لایه، آدرس IPـه. به زبون ساده، وقتی از «مسیریابی» یا Routing حرف میزنیم، داریم دربارهی همین لایه صحبت میکنیم. چون هر بستهی شبکه یه Source IP (آدرس فرستنده) و یه Destination IP (آدرس گیرنده) داره و مسیر حرکتش بر اساس همینها مشخص میشه. برای همین هر دستگاهی که به شبکه وصل میشه، نیاز به یه مؤلفهی لایهی ۳ یعنی آدرس آیپی داره؛ یعنی یک IP به همراه Subnet Mask (مثلاً 192.168.10.15 / 255.255.255.0) یا همون نتورک (192.168.10.15/24).
آدرس IP هم دو نسخه داره: IPv4 و IPv6. IPv4 خودش چند دستهبندی داره و دو گروه مهمش Private و Public هستن. اگر خواستی عمیقتر واردش شی، RFC1918 خیلی خوب توضیح داده.
حالا یه سؤال مهم پیش میاد: اگه End-user ما (مثل یه سرور لینوکسی، کامپیوتر خونگی یا لپتاپ) بخواد به یه مقصدی وصل بشه، دقیقاً چه اتفاقی میافته؟
مثلاً فرض کن سرور لینوکسی میخواد برای آپدیت یکی از پکیجها به یه ریپازیتوری وصل بشه و نسخهی جدید رو دانلود کنه. یا یه کامپیوتر ویندوزی بخواد به گوگل وصل بشه و یه چیزی سرچ کنه.
اولین کاری که سیستم انجام میده اینه که از DNS کمک میگیره تا دامنهی google.com رو تبدیل کنه به IP. چون توی شبکه، چیزی که مسیریابی میشه IPـه، نه اسم دامنه.
بعد از اینکه IP مقصد مشخص شد، سیستم میگرده ببینه آیا مسیری برای رسیدن به اون IP داره یا نه؛ یعنی توی Routing Table خودش بررسی میکنه که “از چه راهی باید برم؟”
حالا Routing Table چیه؟
Routing Table یه جدول سادهست که مشخص میکنه هر بسته باید از کجا رد بشه. این موضوع وقتی مهمتر میشه که یه دستگاه چند تا کارت شبکه داشته باشه. چون در این حالت، ما میتونیم مشخص کنیم برای هر مقصد، از کدوم مسیر یا کارت شبکه استفاده بشه.
اما فرض کن توی Routing Table سرور ما هیچ مسیری برای رسیدن به گوگل (مثلاً 216.239.38.120) تعریف نشده. این موقع چی میشه؟ آیا دیگه هیچ شانسی برای دسترسی به گوگل نداره؟ حالا اگر فقط گوگل نبود چی؟ مثلاً کاربر بخواد به گوگل، یاهو میل و چند سایت دیگه وصل بشه. تکلیف چیه؟
اینجاست که نقش Gateway پررنگ میشه.
Gateway در واقع مسیر خروجی دستگاه از نگاه لایهی ۳ هست. یعنی هر بستهای که دستگاه مسیرش رو نشناسه، میفرستتش برای Gateway. پس حالا که اهمیت Gateway روشن شد، بریم ببینیم چطور میتونیم وضعیتش رو ببینیم و روی لینوکس تنظیمش کنیم.
برای مدیریت تنظیمات شبکه توی لینوکس، معمولاً دو مجموعه ابزار داریم: net-tools و iproute2.
net-tools قدیمیتره و توسعهاش متوقف شده، ولی iproute2 نسخهی جدیدتر و پیشفرض اکثر توزیعها مثل Debian و Fedora و … است.
البته اینکه net-tools قدیمیه، معنیش این نیست که نتونیم ازش استفاده کنیم؛ فقط ممکنه توی بعضی توزیعها نصب نباشه و خودمون باید نصبش کنیم.
نصب net-tools
نصب روی Debian:
sudo apt install net-tools -y
نظرات کاربران (0)