با استفاده از iptables میتوانید تمام ترافیک شبکه را به یک سرور مقصد هدایت کنید. این تنظیمات به شما امکان میدهد سرور خود را بهعنوان یک گیتوی یا پراکسی برای سرور مقصد (مانند 192.168.10.1) استفاده کنید.
برای جلوگیری از قطع ارتباط SSH، ابتدا پورت ۲۲ را باز نگه دارید:
iptables -t nat -A PREROUTING -p tcp --dport 22 -j ACCEPT
برای شروع، باید قابلیت فوروارد کردن IP را در سیستم فعال کنید:
sysctl -w net.ipv4.ip_forward=1
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
برای هدایت تمام ترافیکهای TCP و UDP به آدرس IP مقصد (مانند 192.168.10.1) از دستورات زیر استفاده کنید:
# TCP
iptables -t nat -A PREROUTING -p tcp -j DNAT --to-destination 192.168.10.1
# UDP
iptables -t nat -A PREROUTING -p udp -j DNAT --to-destination 192.168.10.1
برای اطمینان از بازگشت صحیح پاسخها، آدرس مبدأ بستهها را تغییر دهید:
iptables -t nat -A POSTROUTING -j MASQUERADE
نکته: این دستور باعث میشود آدرس IP مبدأ به IP سرور شما تغییر یابد تا مقصد بتواند پاسخ را بهدرستی ارسال کند.
برای اجازه دادن به ترافیک فوروارد شده به مقصد، از دستور زیر استفاده کنید:
iptables -A FORWARD -d 192.168.10.1 -j ACCEPT
اگر میخواهید تنها یک پورت خاص (مثلاً پورت ۸۰) را فوروارد کنید:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.10.1:80
برای ذخیره دائمی قوانین iptables، از ابزارهایی مانند iptables-save یا iptables-persistent استفاده کنید.
نکته: در مثالهای بالا، 192.168.10.1 بهعنوان IP سرور مقصد در نظر گرفته شده و تمام ترافیک به آن هدایت میشود.
با اعمال این تنظیمات، سرور شما میتواند بهعنوان یک گیتوی یا پراکسی برای سرور مقصد عمل کند.