masquerade example in iptables

با فرض این که اینترفیس ens33 دسترسی به اینترنت و ens32 به شبکه لوکال داشته باشد :

# iptables -t nat -A POSTROUTING -o ens33 -j MASQUERADE
--in-interface -i input name
--out-interface -o output name

لازم به یاد آوری است که باید ip forwarding بر روی سیستم فعال شود :

# echo 1 > /proc/sys/net/ipv4/ip_forward

با استفاده از همین دو رول می توان اتصال به اینترنت را برای شبکه لوکال برقرار کرد اما موارد دیگر را بررسی می کنیم. اگر :

# iptables -t filter -A FORWARD -i ens32 -o ens33 -j REJECT
--in-interface -i input name
--out-interface -o output name

آنگاه در شبکه لوکال :

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 10.10.10.5 icmp_seq=1 Destination port unreachable

اگر :

# iptables -t filter -A FORWARD -i ens33 -o ens32 -j REJECT
--in-interface -i input name
--out-interface -o output name

آنگاه :

PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
1 packets transmitted, 0 received, 100% loss, time 0ms

فرضا اگر چندین اینترفیس لوکال داشته باشیم ( با رنج آی پی های مختلف ) و بخواهیم فقط به یکی از آن ها دسترسی به اینترنت بدهیم آنگاه رنج آی پی را باید مشخص کنیم. به این صورت :

# iptables -t nat -A POSTROUTING -s 10.10.10.0/25 -o ens33 -j MASQUERAD

توجه فرمایید که وقتی از POSTROUTING استفاده می کنیم، نمیشه از سویچ i- استفاده کرد.
نکته : یک سری نکات امنیتی باید در هنگام snat یا masquerade رعایت شود که پیشنهاد می شود این پست و این پست خوانده شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *