VirtualBox NAT یا پل: د VM VPN چېرته پای ته رسېږي
NAT مېلمه د کوربه شاته پټوي، نو د کوربه تونل یې پوښي۔ پل مېلمه ته خپل پته ورکوي، نو تونل باید د VM دننه وي۔
هر کله چې یوه مجازي ماشین د VPN کړونکی چلوي، دوه بېلې پوښتنې یو ځای راځي او ځوابونه یې بېل دي۔ لومړی دا ده چې آیا د مېلمه دننه تونل کوربه ساتي، او دویمه دا ده چې آیا د کوربه تونل مېلمه پوښي۔ د اډاپټر حالت دواړه فیصله کوي، له VPN سافټویر څخه هم ډېر۔ د NAT اډاپټر کوربه لیدل کېدونکی پای ټکی کوي، خو د پل اډاپټر مېلمه په خپله پته سره په شبکه کې ږدي۔
په رښتیا د کوډ شوې ناستې پای څوک ټاکي
کوډ شوې ناسته هغه ماشین ته اړه لري چې پای ورته ټاکي، او کله چې کړونکی د VM دننه چلېږي، هغه مېلمه وي۔ یوازې هغه ټرافیک چې د مېلمه مجازي اډاپټر ته ننوځي له هغه تونل تېرېږي، او هایپر وایزر هیڅکله په خپله بل ماشین د مېلمه له لارې نه لېږي۔ له همدې کبله مېلمه کار کوونکی تونل ساتلی شي، په داسې حال کې چې کوربه په خلاصه شبکه کې ګرځي۔ برعکس یې سمیټریک نه دی، او همدا ناسمه سمیټري هغه برخه ده چې ډېری لارښوونې یې غلطې پېژني۔
بهرنۍ شبکه چا پته ګوري هغه پوښتنه ده چې د اډاپټر حالت ځواب ورکوي۔ کله چې دا معلومه شوه، پوښښ د پالیسۍ پوښتنه نه پاتې کېږي او میخانیکي کېږي۔ لاندې هر څه له همدې دوو حقیقتونو راځي۔
NAT مېلمه تر هغې بیا لیکي چې کوربه ته ورته شي
په NAT کې، هایپر وایزر د مېلمه هر پیکټ لومړي سویچ ته له رسېدو دمخه د کوربه پتې ته بیا لیکي۔ بیا هغه ټرافیک د کوربه خپلې شبکې سټیک ته سپارل کېږي، چېرته چې د کوربه د لارښوونې جدول تعقیبوي، په دې کې د کوربه تونل لخوا درلودل شوې پریښودل شوې لاره هم شامله ده۔ نو د NAT مېلمه پرته له کوم ترتیب څخه د کوربه تونل پوښل کېږي، او دا د مېلمه څخه کوربه لوري ته د هغه څه برعکس دی چې اشاره یې کوي۔
# on the host: adapter mode and NAT DNS behaviour
VBoxManage showvminfo "lab-vm" | grep -i -E "nic|nat"
VBoxManage modifyvm "lab-vm" --natdnshostresolver1 on
هغه مېلمه چې خپل کړونکی چلوي هغه تونل د مېلمه دننه پای ته رسوي، او کوډ شوی ټرافیک بیا د همدې بیا لیکنې له لارې وځي، نو د کوربه اپلیکېشنونه خپله لاره او خپله وتلې پته ساتي۔ VirtualBox په دې حالت کې د نومونو حل لاره هم لري او د مېلمه پوښتنې د خپل ماشین له لارې لېږي پرته له دې چې --natdnshostresolver1 فعال وي۔ د هغې فعالول د مېلمه لټونونه د کوربه حل کوونکي ته سپاري، کوم چې هغه وخت حل سمول کوي چې د کوربه خپل لید سم وي او هماغسې یو حل کوونکی سپاري چې کېدای شي یوازې د تونل دننه وي۔ VM باید د تنظیم له بدلېدو دمخه بنده وي، او تنظیم د اډاپټر دی نه د مېلمه سافټویر۔
پل مېلمه ته خپل اجاره او خپل ښکارېدل ورکوي
پل د مېلمه چوکاټونه فزیکي برخې ته لېږدوي، نو DHCP ورته اجاره ورکوي او شبکه د جلا کوربه په توګه ورسره چلند کوي۔ هر پل شوی مېلمه کولای شي د خپلې پریښودل شوې لارې سره خپلواک تونل وساتي، او د کوربه جدول هیڅکله نه بدلېږي۔ بیه یې ښکارېدل دي: مېلمه خپرونو ته ځواب ورکوي، په ګاونډیو جدولونو کې ښکاري، او د سویچ پورټ امنیت او بې تارونو کړونکو جلاوالي لاندې راځي۔ د کوربه تونل هم دا ترتیب نه پوښي، ځکه چې د مېلمه چوکاټونه هیڅکله د کوربه سټیک نه تېرېږي۔
د NAT حالت څخه دا توپیر باید په ښکاره وویل شي نه دا چې د اشارې په توګه پرېښودل شي۔ پل شوي مېلمه ته خپل کړونکی او خپل اسناد هغه وخت اړین دي چې ټرافیک یې باید تونل وکاروي۔ چېرته چې مېلمه باید د سیمه ییزې شبکې لپاره نه لیدل کېدونکی وي، هلته NAT یا یوازې دننه شبکه د کنټرول شوې لارښوونې سره غوره ډیزاین دی۔
ولې مېلمه نشي کولای د کوربه دروازه وي
د مېلمه تونل کوربه ته په پور ورکول په دواړو لویو هایپر وایزرونو کې هېڅ ملاتړ شوی سویچ نه لري۔ کوربه د مېلمه تونل ته هېڅ لاره نه لري او نه داسې ژباړنې قاعده چې هغه ته اشاره وکړي، نو د مېلمه او کوربه ټرافیک د جلا خاوندانو سره جلا بهیرونه پاتې کېږي۔ دا لوری پرته له دې چې د اډاپټر حالت څه وي ناکامېږي۔
کارېدونکي بدیلونه لېږدونه او پراکسيان دي۔ د SSH سیمه ییز لېږد کوربه ته اجازه ورکوي چې خپلې لوپ بیک سره ونښلي، په داسې حال کې چې مېلمه بهیر تونل ته وړي، او دا د TCP خدمتونه پوښي پرته له دویم کړونکي نصبولو۔ د کوربه خپل IP ټرافیک پرځای د مېلمه تونل وکاروي د مېلمه دننه لارښوونکي، او همدارنګه په کوربه باندې څرګنده لاره او په کوربه باندې ژباړه غواړي۔ دا د چیک بکس نه دی، کوچنی شبکه ییز ډیزاین دی، او د بېرته راتلو لارې پلان غواړي۔ کله چې مېلمه یوازې د کړونکي چلولو لپاره وي، کړونکی په کوربه کېږده او اضافي ټوپ لرې کړه۔
ssh -N -f -L 8080:internal-host.example:80 user@lab-vm
حل کوونکي او لارې پوله نه تېرېږي
DNS هغه اډاپټر تعقیبوي چې انتخاب یې ترلاسه کړ، نو مېلمه د کوربه تونل حل کوونکی په میراث نه اخلي او کوربه هیڅکله هغه سرور نه پېژني چې مېلمه ته ټېل وهل شوی۔ ټېل وهل شوي dhcp-option DNS ارزښتونه هغه انټرفیس ته تطبیق کېږي چې هغوی یې منلي، او له همدې کبله بې کړونکي پل شوی مېلمه دننني نومونه حل نه شي کولای۔ د NAT مېلمه معمولاً د هایپر وایزر DNS سمبالښت کاروي، او توپیر په هر چاپېریال کې په یوه کمانډ کې ښکاري۔
# on the host
VBoxManage showvminfo "lab-vm" | grep -i -E "nic|nat"
# inside a Linux guest
ip -4 route
resolvectl status
# inside a Windows guest
Get-DnsClientServerAddress
د دې له منلو دمخه چې یو یې د کوربه پيروي کوي، د مېلمه دننه حل کوونکی او لاره ولوله۔ که دننني نومونه هلته حل کېدل غواړي، د تونل حل کوونکی د مېلمه خپل اډاپټر ته ورزیات کړه، بیا د هغه نوم سره وګوره چې یوازې د تونل شاته شته۔ د هر VM لپاره د اډاپټر حالت، د تونل خاوند او د حل کوونکي سرچینه ولیکه، ځکه چې دا درې حقیقتونه تقریباً هر وروستي پوښتنې ته ځواب ورکوي۔ نور هایپر وایزران د حالتونو نومونه بدلوي او اصل نه لاس وهي۔