Port Forward سرویس داخلی#

مقدمه#

کاربر بیرونی IP خصوصی سرور را نمی‌بیند. برای رسیدن به یک port مشخص، روتر destination آن port را به pool سرور داخلی می‌فرستد. در روتر SooDar این NAT شمارهٔ port را عوض نمی‌کند: listener داخلی باید روی همان portی باشد که از بیرون باز شده است.

در این آزمایش n5 به 200.1.2.1 روی port برابر 8080 وصل می‌شود و اتصال به n4 روی همان port می‌رسد.

مرور سناریو#

pool با نام SRV فقط IP سرور داخلی را دارد. قانون destination NAT ترافیک TCP با port برابر 8080 روی IP اینترفیس WAN را به این pool می‌دهد. ge3 سمت inside و ge1 سمت outside است.

توضیح توپولوژی#

توپولوژی سناریو

n4 سرور داخلی با IP برابر 1.1.1.10 است و به ge3 روتر n1 وصل است. n5 میزبان بیرونی با IP برابر 2.1.1.10 است و از راه n2 به IP اینترفیس WAN روتر n1 می‌رسد.

پیش‌نیازها#

  • آشنایی با NAT و تفاوت source NAT و destination NAT

  • امکان اجرای nc روی میزبان‌ها

  • سناریو بدون IP روی روتر بالا می‌آید؛ IP اینترفیس‌ها در گام‌های زیر وارد می‌شود

پیکربندی مرحله‌به‌مرحله#

pool و قانون NAT روی n1#

route شبکهٔ 2.1.1.0/24 لازم است تا جواب سرور داخلی به n5 برگردد.

روی روتر SooDar n1:

interface ge1
 ip address 200.1.2.1/24
 no shutdown
!
interface ge3
 ip address 1.1.1.1/24
 no shutdown
!
ip route 2.1.1.0/24 200.1.2.2
!
ip nat pool SRV 1.1.1.10 1.1.1.10 type lb
!
interface ge3
 ip nat inside
!
interface ge1
 ip nat outside
!
ip nat inside destination tcp 200.1.2.1 8080 pool SRV

type lb این pool را برای destination NAT قابل استفاده می‌کند، حتی اگر فقط یک IP داخل آن باشد.

IP روی n2#

روی روتر SooDar n2:

interface ge1
 ip address 200.1.2.2/24
 no shutdown
!
interface ge3
 ip address 2.1.1.1/24
 no shutdown

listener و اتصال آزمایشی#

روی n4 اول listener را بالا بیاورید و بعد از n5 اتصال را امتحان کنید.

روی میزبان n4:

ip route replace default via 1.1.1.1
nc -k -l 8080

روی میزبان n5:

ip route replace default via 2.1.1.1
nc -z -w 5 -vv 200.1.2.1 8080

خروجی nc باید برقراری اتصال به port 8080 را نشان دهد.

صحت‌سنجی و تست#

  • running-config شامل ip nat inside destination tcp 200.1.2.1 8080 pool SRV است.

  • اتصال TCP از n5 به 200.1.2.1:8080 برقرار می‌شود، در حالی که listener روی n4 و همان port است.

جمع‌بندی#

Port forward از نوع destination NAT است و به pool سرور نیاز دارد. port بیرونی و port مربوط به listener داخلی یکی است. route رفت تا سرور و route برگشت تا host بیرونی هر دو باید روی روتر مرزی باشند.