VirtualBox port forwarding with NAT
๋ฒ์ถ์ผ๋ฐ์ค๋ฅผ ์ฌ์ฉํ ๋, ๊ฒ์คํธ OS์์ ์คํํ ์๋ฒ ์ดํ๋ฆฌ์ผ์ด์ ์ ํธ์คํธ OS์์ ์ ๊ทผํ๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์์ปจ๋ (a)๊ฒ์คํธ OS๊ฐ ์ฐ๋ถํฌ, ํธ์คํธ OS๊ฐ ์๋์ฐ์ผ ๋ ์ฐ๋ถํฌ์์ ๊ฐ๋ฐํ ์น ์ฑ์ด ์๋์ฐ์์ ์ด๋ป๊ฒ ๋์ํ๋ ์ง ํ์ธํ๊ณ ์ถ์ ๊ฒฝ์ฐ, ๋๋ (b)ํธ์คํธ OS์ IP๊ฐ ํ ๋น๋์ด์์ ๋ ๊ฒ์คํธ OS์์ ์น ์ฑ์ ์คํํ ํ ์ด๋ฅผ ๋ณ๋์ ์ธ๋ถ ๋๋ฐ์ด์ค์์ ์คํํด๋ณด๊ณ ์ถ์ ๊ฒฝ์ฐ๊ฐ ์๋ค. ์ด ๊ฒฝ์ฐ ๋ฒ์ถ์ผ๋ฐ์ค์ port forwarding ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋ค. ์ดํ๋ Oracle VM VirtualBox User Manual(v5.0.14) 6.3.1์ฅ ์ผ๋ถ๋ฅผ ๋ฒ์ญํ ๊ฒ์ด๋ค.
๊ฐ์ ๋จธ์ ์ ๋ฒ์ถ์ผ๋ฐ์ค ๋ด๋ถ์ ์ฌ์ค๋ง์ ์ฐ๊ฒฐ๋์ด์๊ณ ํธ์คํธ์์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ๊ฒ์คํธ์์ ์คํ๋๋ ๋คํธ์ํฌ ์๋น์ค๋ ํธ์คํธ ๋จธ์ , ํน์ ๋์ผ ๋คํธ์ํฌ ์์ ๋ค๋ฅธ ์ปดํจํฐ์์๋ ์ ๊ทผ์ด ๋ถ๊ฐ๋ฅํ๋ค. ๊ทธ๋ฌ๋ ๋ฌผ๋ฆฌ์ ๋ผ์ฐํฐ์ ๊ฐ์ด ๋ฒ์ถ์ผ๋ฐ์ค์์๋ port forwarding์ ํตํด ํน์ ์๋น์ค๋ฅผ ๊ฒ์คํธ ์ธ๋ถ์์ ์คํ๊ฐ๋ฅํ๋๋ก ํ ์ ์๋ค. ์ด๋ ๋ฒ์ถ์ผ๋ฐ์ค๊ฐ ํธ์คํธ์ ํน์ ํฌํธ์ listen ํ๊ณ ์๊ณ , ๊ทธ ํน์ ํฌํธ๋ก ๋ค์ด์ค๋ ๋ชจ๋ ํจํท๋ค์ ๊ฒ์คํธ๋ก ๋๊ฒจ์ฃผ๋ ๊ฒ์ ์๋ฏธํ๋ค....
๊ฐ๋จํ ๋งํด ๊ฒ์คํธ์ ์น ์ฑ์์ ์ด์ด๋์ ํฌํธ๋ฅผ ํธ์คํธ์์ ์ ๊ทผํ ์ ์๋๋ก ์ฐ๊ฒฐํด๋๋(forwarding) ๊ฒ์ ์๋ฏธํ๋ค. 2๊ฐ์ง ๋ฐฉ๋ฒ์ด ์๋ค(์ฌ์ค ์๋ฐํ๋ ๋๊ฐ์ ๋ฐฉ๋ฒ์ด๋ค).
(1) ๋ฒ์ถ์ผ๋ฐ์ค ๋งค๋์ ์ฑ์์ ๊ฒ์คํธOS ์ค์ - ๋คํธ์ํฌ - NAT์ผ๋ก ์ฐ๊ฒฐ - ํฌํธ ํฌ์๋ฉ์ผ๋ก ๋ค์ด๊ฐ, ์ํ๋ ์ด๋ฆ + ํธ์คํธ ํฌํธ ๋ฒํธ + ๊ฒ์คํธ ํฌํธ ๋ฒํธ ๋ฅผ ์ค์ ํ๋ค (์ํ๋ ๊ฒฝ์ฐ ํ๋กํ ์ฝ๋).
(2) ํธ์คํธ OS ์๋์ฐ 7 ์ด์ ๊ธฐ์ค, ๋ช ๋ น ํ๋กฌํํธ์์ ๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ค.
"C:\program files\oracle\virtualbox\vboxmanage" modifyvm "[๊ฒ์คํธ ์ด๋ฆ]" --natpf1 "[ํฌ์๋ฉ ๊ท์น ์ด๋ฆ],[tcp/udp],,[ํธ์คํธ ํฌํธ ๋ฒํธ],,[๊ฒ์คํธ ํฌํธ ๋ฒํธ]"
์ญ์ ํ๊ณ ์ถ์ ๊ฒฝ์ฐ
"C:\program files\oracle\virtualbox\vboxmanage" modifyvm "[๊ฒ์คํธ ์ด๋ฆ]" --natpf1 delete "[ํฌ์๋ฉ ๊ท์น ์ด๋ฆ]
์ด ๋ localhost๊ฐ ์๋๋ผ ํธ์คํธ OS์ ํ ๋น๋ IP๋ก ์ ์์ ์๋ํ ๊ฒฝ์ฐ ๋ฐฉํ๋ฒฝ(firewall)์ ํด๋น ํฌํธ์ ๋ฐ๋์ ์ด์ด์ค์ผ ํ๋ค.
reference
(1) Oracle VM VirtualBox User Manual (v5.0.14), http://download.virtualbox.org/virtualbox/5.0.14/UserManual.pdf(2) VirtualBox forums, How to access web server running on a VM, https://forums.virtualbox.org/viewtopic.php?f=3&t=40643













