دسترسی به سرور SOCKS داخل مهمان NAT در VirtualBox
یک پورت loopback میزبان را به پروکسی مهمان هدایت کنید و بررسی کنید که شنونده مهمان اتصالها را روی رابط شبکه مجازی خود میپذیرد.
یک سرویس SOCKS داخل مهمان VirtualBox دو نیاز جداگانه برای دسترسی دارد: VirtualBox باید اتصال را به مهمان برساند و سرویس مهمان باید آن را بپذیرد.
برای ماشین مجازیای که آداپتور اولش از NAT معمولی استفاده میکند، VirtualBox 7.1 قاعدهای برای هدایت پورت به این شکل مستند میکند. وقتی ماشین مجازی متوقف است:
VBoxManage modifyvm "Proxy VM" --nat-pf1 "socks,tcp,127.0.0.1,1080,,1080"
نام ماشین مجازی و پورتها را در صورت نیاز جایگزین کنید. سپس برنامه میزبان SOCKS را در 127.0.0.1:1080 انتخاب میکند. اتصال سمت میزبان به 127.0.0.1 این نقطه ورود را به خود میزبان محدود میکند.
فیلد خالی آدرس مهمان فرض میکند که مهمان از تخصیص DHCP داخلی موتور NAT استفاده میکند. اگر مهمان بهجای آن از آدرس ثابت استفاده میکند، آن آدرس را در قاعده بنویسید. 1080 نهایی پورت سرویس مهمان است؛ لازم نیست با پورت میزبان برابر باشد.
شنونده مهمان هنوز یک سرویس شبکه است
پروکسیای که فقط به 127.0.0.1 داخل مهمان متصل است، اتصالهای محلی مهمان را میپذیرد. هدایت NAT باعث نمیشود آن شنونده loopback ترافیکی را که روی رابط مجازی مهمان میرسد بپذیرد. سرویس را طوری پیکربندی کنید که روی یک رابط مناسب مهمان گوش دهد و اجازه دهید ترافیک موردنظر از فایروال مهمان و قواعد دسترسی پروکسی عبور کند. دسترسی مجاز و ممنوع شنونده را بررسی کنید پس از تغییر آن مرز.
وقتی کار نمیکند، این مرزها را جداگانه بررسی کنید: پورت و قاعده میزبان، آدرس انتخابشده مهمان و شنونده داخل مهمان. تغییر به شبکه پل نمیتواند سرویسی را که هنوز فقط روی loopback مهمان گوش میدهد درست کند.
این قاعده TCP یک اتصال SOCKS روی TCP را پوشش میدهد. بهخودیخود مسیر UDP اضافی را که یک relay SOCKS5 UDP لازم دارد فراهم نمیکند.