- Port Forwarding, 일종의 서버에서의 IP 공유
- 가상 머신의 포트를 Host Machine의 포트와 연결 시켜서 Host Machine의 포트로 가상 머신을 접근할 수 있도록 하는 방법
- 아래는 VirtualBox에서 호스트의 2222 Port를 가상 머신의 22 Port로 연결하는 방법 이다.
-
- 주의: Linux와 Unix 계열의 경우, root 사용자로 실행되는 프로그램만이 호스트 포트가 1024보다 작을 수 있다.
- 가상 머신 이름 예 : alfresco, 처음 가상 머신을 만들 때 사용한 이름
- 네트워크 카드 이름 예 : pcnet, e1000
-
- pcnet : Pcnet-FAST III 등 사용 시
- e1000 : Intel PRO/1000 등 사용 시
- 포트 포워딩 이름 예 : guestssh, 임의로 정한다.
- Protocol : TCP, UDP
#--- Vista에서 명령 실행시 저장 오류가 발생할 경우 관리자 권한으로 cmd 파일을 실행하여 아래 작업을 한다.
cd C:/Program Files/Sun/VirtualBox
VBoxManage setextradata "가상_머신_이름"
"VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/Protocol" TCP
VBoxManage setextradata "가상_머신_이름"
"VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/GuestPort" 22
VBoxManage setextradata "가상_머신_이름"
"VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/HostPort" 2222
#--- 설정 후 Virtual Machine을 다시 시작 하여야 한다.
#--- 아래는 포트 포워딩 사례
VBoxManage setextradata "CentOS530" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/Protocol" TCP
VBoxManage setextradata "CentOS530" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/GuestPort" 22
VBoxManage setextradata "CentOS530" "VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/HostPort" 22
VBoxManage getextradata "CentOS530" enumerate
-
- 포트 포워딩 이름을 http와 같이 많이 사용하는 이름(예약어)으로 하였을 경우 동작하지 않는 경우가 있다. 이때에는 pphttp 등으로 이름을 변경하여 사용 하여야 한다.
VBoxManage setextradata "가상_머신_이름"
"VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/Protocol"
VBoxManage setextradata "가상_머신_이름"
"VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/GuestPort"
VBoxManage setextradata "가상_머신_이름"
"VBoxInternal/Devices/네트워크_카드_이름/0/LUN#0/Config/포트_포워딩_이름/HostPort"
-
- VBoxManage getextradata "가상_머신_이름" enumerate
#--- 위 명령으로 조회한 사례
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/Protocol, Value: TCP
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/HostPort, Value: 22
Key: VBoxInternal/Devices/pcnet/0/LUN#0/Config/telnets/GuestPort, Value: 22