SlideShare a Scribd company logo
VirtualBox
networking
VirtualBox networking
• Different options are available
• Internal network
• NAT
• NAT network
• Host only
• Bridged
• When do you use which?
What are the benefits and drawbacks of using a specific VirtualBox networking solution?
Titel van de presentatie 2
Host
VirtualBox
VirtualBox networking
Internal network
Titel van de presentatie 3
Guest
Internal IP:192.168.0.8
Internal IP:192.168.0.1
Hostinterface
IP:10.10.10.2
Other host processes
Guest
Internal IP:192.168.0.9
Gateway/router
InternalIP:10.10.10.1
ExternalIP:95.42.76.32
VirtualBox networking
Internal network
• VirtualBox makes available automatically a network interface inside a guest. If multiple guests
share the same interface name, they are connected like a switch and can access each other.
• A CLI can be used to configure the internal VirtualBox DHCP server (no GUI support)
• Internet access or access to the host network interfaces is not available
• The host cannot access guests
Titel van de presentatie 4
VirtualBox networking
Internal network
• Benefits:
• Easy to use. Little configuration required
• No VirtualBox virtual host network interface (device + driver) required
• Guests can access each other
• Secure (access from outside the host is not possible)
• Drawbacks
• The host can’t access the guests
• Guests can’t access the host
• Guests can’t access the internet
• The VirtualBox internal DHCP server has no GUI support, only a CLI
Titel van de presentatie 5
VirtualBox networking
Internal network
Titel van de presentatie 6
Guest configuration
Host
VirtualBox
VirtualBox networking
Network Address Translation
Titel van de presentatie 7
Guest
Internal IP:192.168.0.8
Virtual NAT router
Internal IP:192.168.0.1
External: host interface
Hostinterface
IP:10.10.10.2
Other host processes
Guest
Internal IP:192.168.0.9
Virtual NAT router
Internal IP:192.168.0.1
External: host interface
Gateway/router
InternalIP:10.10.10.1
ExternalIP:95.42.76.32
VirtualBox networking
Network Address Translation
• VirtualBox makes available automatically a single virtual isolated NAT router on a network
interface inside a guest. Every guest gets his own virtual router and can’t access other guests.
• DHCP (Dynamic Host Configuration Protocol) requests on the interface are answered with an
IP for the guest and address of the NAT router as gateway. The DHCP server can be configured
using a CLI (no GUI support).
• The NAT router uses the hosts network interface. No specific VirtualBox network interface
needs to be created. External parties only see a single host interface.
• The NAT router opens a port on the hosts interface. The internal address is translated to the
hosts IP. The request to the destination IP is done. The response is forwarded back towards the
guest (a table of external port to internal IP is kept by the router).
• Port mappings can be made to allow requests to the host on a specific port to be forwarded to
the guest.
Titel van de presentatie 8
VirtualBox networking
Network Address Translation
• Benefits:
• Easy to use. Little configuration required
• Isolated. Every guest their own virtual router
• No VirtualBox virtual host network interface (device + driver) required
• Internet access
• Fixed IP possible
• Drawbacks
• Guests can’t access each other or the host
• The virtual NAT router DHCP server can be configured using a CLI only
• To access the guest from the host requires port forwarding configuration
and might require an entry in the hosts hosts file for specific web interfaces
Titel van de presentatie 9
VirtualBox networking
Network Address Translation
Titel van de presentatie 10
Guest configuration
Host
VirtualBox
VirtualBox networking
Network Address Translation. NAT network
Titel van de presentatie 11
Guest
Internal IP:192.168.0.8 Virtual NAT router
Internal IP:192.168.0.1
External IP: host interface
Hostinterface
IP:10.10.10.2
Other host processes
Guest
Internal IP:192.168.0.9
11
Gateway/router
InternalIP:10.10.10.1
ExternalIP:95.42.76.32
VirtualBox networking
Network Address Translation. NAT network
• VirtualBox makes available a virtual NAT router on a network interface for all guests using the
NAT network. Guests can access each other. The NAT network needs to be created.
• DHCP (Dynamic Host Configuration Protocol) requests on the interface are answered with an
IP for the guest and address of the NAT router as gateway. The DHCP server can be
configured.
• The NAT router uses the hosts network interface. No specific VirtualBox network interface
needs to be created. External parties only see a single host interface.
• The NAT router opens a port on the hosts interface. The internal address is translated to the
hosts IP to a specific port per host. The request to the destination IP is done. The response is
forwarded back towards the guest (a table of external port to internal IP is kept by the router).
• Port mappings can be made to allow requests to the host on a specific port to be forwarded to a
guest.
Titel van de presentatie 12
VirtualBox networking
Network Address Translation. NAT network
Titel van de presentatie 13
VirtualBox configuration Guest configuration
VirtualBox networking
Network Address Translation. NAT network
• Benefits:
• Guests can access each other
• No VirtualBox virtual host network interface (device + driver) required
• DHCP server can be configured using the GUI
• Internet access
• Fixed IP possible
• Drawbacks
• To access the guest from the host requires port forwarding configuration
and might require an entry in the hosts hosts file for specific webinterfaces
• Requires additional VirtualBox configuration to define the network / DHCP server
Titel van de presentatie 14
Host
VirtualBox
VirtualBox networking
Host only
Titel van de presentatie 15
Guest
Internal IP:192.168.0.100
Hostinterface
IP:10.10.10.2
Other host processes
Guest
Internal IP:192.168.0.101
Hostinterface
IP:192.168.0.1
1515
Gateway/router
InternalIP:10.10.10.1
ExternalIP:95.42.76.32
VirtualBox networking
Host only
• VirtualBox creates a host interface (a virtual device visible on the host). This interface can be
shared amongst guests. Guests can access each other.
• DHCP (Dynamic Host Configuration Protocol) requests on the interface are answered with an
IP for the guest and address of the Host only adapter. The DHCP server can be configured
using the VirtualBox GUI
• The virtual host interface is not visible outside of the host. The internet cannot be accessed via
this interface from the guest.
• The host can access the guests by IP. Port mappings are not needed.
Titel van de presentatie 16
VirtualBox networking
Host only
Titel van de presentatie 17
VirtualBox configuration Guest configuration
VirtualBox networking
Host only
• Benefits:
• Guests can access each other
• You can create separate guest networks
• DHCP server can be configured using the GUI
• Fixed IP possible
• Drawbacks
• To access the guest from the host requires port forwarding configuration
and might require an entry in the hosts hosts file for specific webinterfaces
• Requires additional VirtualBox configuration to define the network / DHCP server
• VirtualBox virtual host network interface (device + driver) required
• No internet access
Titel van de presentatie 18
VirtualBox networking
Bridged
Titel van de presentatie 19
Host
VirtualBox
Guest 1
Hostinterface
IP:10.10.10.2(host)
IP:10.10.10.3(Guest1)
IP:10.10.10.4(Guest2)
Other host processes
Guest 2
Gateway/router
InternalIP:10.10.10.1
ExternalIP:95.42.76.32
VirtualBox networking
Bridged
• The guest uses a host interface.
On the host interface a net filter driver is applied to allow VirtualBox to send data to the guest.
This requires a so-called promiscuous mode to be used by the adapter. Promiscuous mode
means the adapter can have multiple MAC addresses. Most wireless adapters do not support
this. In that case VirtualBox replaces the MAC address of packages which are visible to the
adapter.
• An external DHCP server is used. Same way the host gets its IP / gateway. No additional
configuration required. It might not work if the DHCP server only allows registered MACs (some
company networks)
• Easy access. The guest is directly available from the network (every host) the host is connected
to. Port mappings are not required. The host can access the guests by IP. Guests can access
the host by IP.
Titel van de presentatie 20
VirtualBox networking
Bridged
Titel van de presentatie 21
Guest configuration
VirtualBox networking
Bridged
• Benefits:
• Guests can access each other
• Host can access guests and guests can access the host. Anyone on the host
network can access the guests
• No virtual DHCP server needed
• Easy to configure / use
• Same access to internet as the host has
• Drawbacks
• Guests can’t be split into separate networks (not isolated)
• Sometimes doesn’t work; dependent on external DHCP server and ability to filter
packets on a host network interface. Company networks might block your interface
• No easy option for a fixed IP since host network is a variable
• Not secure. The guest is exposed on the hosts network
Titel van de presentatie 22
VirtualBox networking
Overview
Titel van de presentatie 23
Guest → Host Guest ← Host Guest1 ↔ Guest2 Guest → Internet Guest ← Internet
Host-only + + + – –
Internal – – + – –
Bridged + + + + +
NAT – Port forwarding – + Port forwarding
NAT Network – Port forwarding + + Port forwarding
VirtualBox networking
Case 1: ELK stack for learning purposes
• I’m trying out the new version of the ELK stack (Elasticsearch, Logstash, Kibana)
• Requirements:
• I do not require internet access inside the guest
• I want to access my guest from my host
• I do not want my guest to be accessible outside of my host
• I do not want to manually configure port mappings
Which networking solution should I choose?
Titel van de presentatie 24
Solution: Host only adapter
VirtualBox networking
Case 2: SOA Suite for a security workshop
• I’m using Oracle SOA Suite for a security workshop
SOA Suite consists of 3 separate VMs, DB, Admin Server, Managed Server
• Requirements:
• The VMs require fixed (internal) IPs
• The VMs need to be able to access each other
• Course participants need to call my services from the same network
• I only want to expose specific ports
Which networking solution should I choose?
Titel van de presentatie 25
Solution: NAT network or NAT + Host only
VirtualBox networking
Case 3: Distributing a VM for a course
• I’ve created an Ubuntu / Spring Tool Suite VM for a course. The VM will be
distributed to participants.
• Requirements:
• The VM to distribute requires internet access. During the course several things
will need to be downloaded
• I am unaware of the VirtualBox created interfaces present on the host machines
and don’t want the participants to manually have to select an adapter
• I want the participants to do as little networking configuration as possible.
VirtualBox networking is not the purpose of this course.
Which networking solution should I choose?
Titel van de presentatie 26
Solution: NAT
VirtualBox networking
Case 4: Running a server inside a VM
• I’ve created a server inside a VM which hosts an application.
• Requirements:
• The MAC of the VM is configured inside the routers DHCP server so it will always get the same IP.
Use the external DHCP server to obtain an IP
• The application will be used by (and thus needs to be accessible for) different people on the network.
• The application uses many different ports for different features. These ports change regularly. Some
features use random ports. Manual port mappings are not an option
• The application accesses different resources (such as a print server) on the hosts network
Which networking solution should I choose?
Titel van de presentatie 27
Solution: Bridged

More Related Content

What's hot

Virtualization
VirtualizationVirtualization
Virtualization
Kamal Chauhan
 
Virtualization
VirtualizationVirtualization
Virtualization
Utkarsh Soni
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
SZ Lin
 
Virtualization using VMWare Workstation
Virtualization using VMWare WorkstationVirtualization using VMWare Workstation
Virtualization using VMWare Workstation
Hitesh Gupta
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloud
Ashok Kumar
 
Virtualization basics
Virtualization basics Virtualization basics
Virtualization basics
Chandrani Ray Chowdhury
 
Virtual Machines - Virtual Box
Virtual Machines  - Virtual BoxVirtual Machines  - Virtual Box
Virtual Machines - Virtual Box
Lahiru Danushka
 
Microsoft Hyper-V
Microsoft Hyper-VMicrosoft Hyper-V
Microsoft Hyper-V
Davoud Teimouri
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technology
sanjoysanyal
 
Iptables Configuration
Iptables ConfigurationIptables Configuration
Iptables Configuration
stom123
 
Paravirtualization
ParavirtualizationParavirtualization
Paravirtualization
Shahbaz Sidhu
 
Virtualization
VirtualizationVirtualization
Virtualization
Birju Tank
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network VirtualizationADVA
 
Chap 2 virtulizatin
Chap 2 virtulizatinChap 2 virtulizatin
Chap 2 virtulizatin
Raj Sarode
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
Rinaldo John
 
Virtual machine subhash gupta
Virtual machine subhash guptaVirtual machine subhash gupta
Virtual machine subhash gupta
Subhash Chandra Gupta
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
Mohammed Twaha
 

What's hot (20)

Virtualization
VirtualizationVirtualization
Virtualization
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...Using open source software to build an industrial grade embedded linux platfo...
Using open source software to build an industrial grade embedded linux platfo...
 
Virtualization using VMWare Workstation
Virtualization using VMWare WorkstationVirtualization using VMWare Workstation
Virtualization using VMWare Workstation
 
Virtualization in cloud
Virtualization in cloudVirtualization in cloud
Virtualization in cloud
 
Virtualization 101
Virtualization 101Virtualization 101
Virtualization 101
 
Virtualization basics
Virtualization basics Virtualization basics
Virtualization basics
 
Virtual Machines - Virtual Box
Virtual Machines  - Virtual BoxVirtual Machines  - Virtual Box
Virtual Machines - Virtual Box
 
Microsoft Hyper-V
Microsoft Hyper-VMicrosoft Hyper-V
Microsoft Hyper-V
 
Virtualization VMWare technology
Virtualization VMWare technologyVirtualization VMWare technology
Virtualization VMWare technology
 
Iptables Configuration
Iptables ConfigurationIptables Configuration
Iptables Configuration
 
Paravirtualization
ParavirtualizationParavirtualization
Paravirtualization
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Network Virtualization
Network VirtualizationNetwork Virtualization
Network Virtualization
 
Introduction to virtualization
Introduction to virtualizationIntroduction to virtualization
Introduction to virtualization
 
Chap 2 virtulizatin
Chap 2 virtulizatinChap 2 virtulizatin
Chap 2 virtulizatin
 
Case study linux
Case study linuxCase study linux
Case study linux
 
Virtual machine
Virtual machineVirtual machine
Virtual machine
 
Virtual machine subhash gupta
Virtual machine subhash guptaVirtual machine subhash gupta
Virtual machine subhash gupta
 
Virtual Machine
Virtual MachineVirtual Machine
Virtual Machine
 

Similar to VirtualBox networking explained

Using oracle vm virtual box as your development platform
Using oracle vm virtual box as your development platformUsing oracle vm virtual box as your development platform
Using oracle vm virtual box as your development platform
OTN Systems Hub
 
Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05
gameaxt
 
162 15-768
162 15-768162 15-768
162 15-768
faisal123000
 
MikroTik MTCNA
MikroTik MTCNAMikroTik MTCNA
MikroTik MTCNA
Ali Layth
 
Networking Basics with Linux
Networking Basics with LinuxNetworking Basics with Linux
Networking Basics with Linux
Henry Osborne
 
Module (10) NAT for IPV4.pptx
Module (10) NAT for IPV4.pptxModule (10) NAT for IPV4.pptx
Module (10) NAT for IPV4.pptx
GeorgeThoreJr
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
Docker, Inc.
 
Computer Networking: A Top-Down Approach
Computer Networking: A Top-Down Approach Computer Networking: A Top-Down Approach
Computer Networking: A Top-Down Approach
PolRobinson
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
Yan Vugenfirer
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Mickaël Rémond
 
CONFIGURING NETWORK CONNECTIVITY.pptx
CONFIGURING NETWORK CONNECTIVITY.pptxCONFIGURING NETWORK CONNECTIVITY.pptx
CONFIGURING NETWORK CONNECTIVITY.pptx
angelito tomas
 
Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08
gameaxt
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker Containers
Attila Kanto
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental Networking
Sreenivas Makam
 
Dhcp and nat
Dhcp and natDhcp and nat
Dhcp and nat
Nisak Ahamed
 
DHCP PROTOCOL
DHCP PROTOCOLDHCP PROTOCOL
DHCP PROTOCOL
atharvakale07
 
DockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking BreakoutDockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking Breakout
Docker, Inc.
 

Similar to VirtualBox networking explained (20)

Using oracle vm virtual box as your development platform
Using oracle vm virtual box as your development platformUsing oracle vm virtual box as your development platform
Using oracle vm virtual box as your development platform
 
Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05Microsoft Offical Course 20410C_05
Microsoft Offical Course 20410C_05
 
162 15-768
162 15-768162 15-768
162 15-768
 
MikroTik MTCNA
MikroTik MTCNAMikroTik MTCNA
MikroTik MTCNA
 
Networking Basics with Linux
Networking Basics with LinuxNetworking Basics with Linux
Networking Basics with Linux
 
Module (10) NAT for IPV4.pptx
Module (10) NAT for IPV4.pptxModule (10) NAT for IPV4.pptx
Module (10) NAT for IPV4.pptx
 
p10
p10p10
p10
 
p10
p10p10
p10
 
Docker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker NetworkingDocker Online Meetup #22: Docker Networking
Docker Online Meetup #22: Docker Networking
 
Computer Networking: A Top-Down Approach
Computer Networking: A Top-Down Approach Computer Networking: A Top-Down Approach
Computer Networking: A Top-Down Approach
 
Implementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migrationImplementing SR-IOv failover for Windows guests during live migration
Implementing SR-IOv failover for Windows guests during live migration
 
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1Managing ejabberd Platforms with Docker - ejabberd Workshop #1
Managing ejabberd Platforms with Docker - ejabberd Workshop #1
 
CONFIGURING NETWORK CONNECTIVITY.pptx
CONFIGURING NETWORK CONNECTIVITY.pptxCONFIGURING NETWORK CONNECTIVITY.pptx
CONFIGURING NETWORK CONNECTIVITY.pptx
 
Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08Microsoft Offical Course 20410C_08
Microsoft Offical Course 20410C_08
 
Networking in Docker Containers
Networking in Docker ContainersNetworking in Docker Containers
Networking in Docker Containers
 
Docker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental NetworkingDocker Networking - Current Status and goals of Experimental Networking
Docker Networking - Current Status and goals of Experimental Networking
 
Dhcp and nat
Dhcp and natDhcp and nat
Dhcp and nat
 
DHCP PROTOCOL
DHCP PROTOCOLDHCP PROTOCOL
DHCP PROTOCOL
 
Unit05
Unit05Unit05
Unit05
 
DockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking BreakoutDockerCon SF 2015: Networking Breakout
DockerCon SF 2015: Networking Breakout
 

More from Maarten Smeets

Google jib: Building Java containers without Docker
Google jib: Building Java containers without DockerGoogle jib: Building Java containers without Docker
Google jib: Building Java containers without Docker
Maarten Smeets
 
Introduction to Anchore Engine
Introduction to Anchore EngineIntroduction to Anchore Engine
Introduction to Anchore Engine
Maarten Smeets
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
Maarten Smeets
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!
Maarten Smeets
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
Maarten Smeets
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
Maarten Smeets
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud Service
Maarten Smeets
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
Maarten Smeets
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
Maarten Smeets
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer security
Maarten Smeets
 
Webservice security considerations and measures
Webservice security considerations and measuresWebservice security considerations and measures
Webservice security considerations and measures
Maarten Smeets
 
Machine learning with R
Machine learning with RMachine learning with R
Machine learning with R
Maarten Smeets
 
WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!
Maarten Smeets
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new features
Maarten Smeets
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapter
Maarten Smeets
 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debugging
Maarten Smeets
 

More from Maarten Smeets (16)

Google jib: Building Java containers without Docker
Google jib: Building Java containers without DockerGoogle jib: Building Java containers without Docker
Google jib: Building Java containers without Docker
 
Introduction to Anchore Engine
Introduction to Anchore EngineIntroduction to Anchore Engine
Introduction to Anchore Engine
 
R2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database ConnectivityR2DBC Reactive Relational Database Connectivity
R2DBC Reactive Relational Database Connectivity
 
Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!Performance Issue? Machine Learning to the rescue!
Performance Issue? Machine Learning to the rescue!
 
Performance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMsPerformance of Microservice Frameworks on different JVMs
Performance of Microservice Frameworks on different JVMs
 
Performance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMsPerformance of Microservice frameworks on different JVMs
Performance of Microservice frameworks on different JVMs
 
Microservices on Application Container Cloud Service
Microservices on Application Container Cloud ServiceMicroservices on Application Container Cloud Service
Microservices on Application Container Cloud Service
 
WebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck ThreadsWebLogic Stability; Detect and Analyse Stuck Threads
WebLogic Stability; Detect and Analyse Stuck Threads
 
Introduction to Redis
Introduction to RedisIntroduction to Redis
Introduction to Redis
 
All you need to know about transport layer security
All you need to know about transport layer securityAll you need to know about transport layer security
All you need to know about transport layer security
 
Webservice security considerations and measures
Webservice security considerations and measuresWebservice security considerations and measures
Webservice security considerations and measures
 
Machine learning with R
Machine learning with RMachine learning with R
Machine learning with R
 
WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!WebLogic Scripting Tool made Cool!
WebLogic Scripting Tool made Cool!
 
Oracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new featuresOracle SOA Suite 12.2.1 new features
Oracle SOA Suite 12.2.1 new features
 
How to build a cloud adapter
How to build a cloud adapterHow to build a cloud adapter
How to build a cloud adapter
 
WebLogic authentication debugging
WebLogic authentication debuggingWebLogic authentication debugging
WebLogic authentication debugging
 

Recently uploaded

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
QuickwayInfoSystems3
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 

Recently uploaded (20)

Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Enterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptxEnterprise Software Development with No Code Solutions.pptx
Enterprise Software Development with No Code Solutions.pptx
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 

VirtualBox networking explained

  • 2. VirtualBox networking • Different options are available • Internal network • NAT • NAT network • Host only • Bridged • When do you use which? What are the benefits and drawbacks of using a specific VirtualBox networking solution? Titel van de presentatie 2
  • 3. Host VirtualBox VirtualBox networking Internal network Titel van de presentatie 3 Guest Internal IP:192.168.0.8 Internal IP:192.168.0.1 Hostinterface IP:10.10.10.2 Other host processes Guest Internal IP:192.168.0.9 Gateway/router InternalIP:10.10.10.1 ExternalIP:95.42.76.32
  • 4. VirtualBox networking Internal network • VirtualBox makes available automatically a network interface inside a guest. If multiple guests share the same interface name, they are connected like a switch and can access each other. • A CLI can be used to configure the internal VirtualBox DHCP server (no GUI support) • Internet access or access to the host network interfaces is not available • The host cannot access guests Titel van de presentatie 4
  • 5. VirtualBox networking Internal network • Benefits: • Easy to use. Little configuration required • No VirtualBox virtual host network interface (device + driver) required • Guests can access each other • Secure (access from outside the host is not possible) • Drawbacks • The host can’t access the guests • Guests can’t access the host • Guests can’t access the internet • The VirtualBox internal DHCP server has no GUI support, only a CLI Titel van de presentatie 5
  • 6. VirtualBox networking Internal network Titel van de presentatie 6 Guest configuration
  • 7. Host VirtualBox VirtualBox networking Network Address Translation Titel van de presentatie 7 Guest Internal IP:192.168.0.8 Virtual NAT router Internal IP:192.168.0.1 External: host interface Hostinterface IP:10.10.10.2 Other host processes Guest Internal IP:192.168.0.9 Virtual NAT router Internal IP:192.168.0.1 External: host interface Gateway/router InternalIP:10.10.10.1 ExternalIP:95.42.76.32
  • 8. VirtualBox networking Network Address Translation • VirtualBox makes available automatically a single virtual isolated NAT router on a network interface inside a guest. Every guest gets his own virtual router and can’t access other guests. • DHCP (Dynamic Host Configuration Protocol) requests on the interface are answered with an IP for the guest and address of the NAT router as gateway. The DHCP server can be configured using a CLI (no GUI support). • The NAT router uses the hosts network interface. No specific VirtualBox network interface needs to be created. External parties only see a single host interface. • The NAT router opens a port on the hosts interface. The internal address is translated to the hosts IP. The request to the destination IP is done. The response is forwarded back towards the guest (a table of external port to internal IP is kept by the router). • Port mappings can be made to allow requests to the host on a specific port to be forwarded to the guest. Titel van de presentatie 8
  • 9. VirtualBox networking Network Address Translation • Benefits: • Easy to use. Little configuration required • Isolated. Every guest their own virtual router • No VirtualBox virtual host network interface (device + driver) required • Internet access • Fixed IP possible • Drawbacks • Guests can’t access each other or the host • The virtual NAT router DHCP server can be configured using a CLI only • To access the guest from the host requires port forwarding configuration and might require an entry in the hosts hosts file for specific web interfaces Titel van de presentatie 9
  • 10. VirtualBox networking Network Address Translation Titel van de presentatie 10 Guest configuration
  • 11. Host VirtualBox VirtualBox networking Network Address Translation. NAT network Titel van de presentatie 11 Guest Internal IP:192.168.0.8 Virtual NAT router Internal IP:192.168.0.1 External IP: host interface Hostinterface IP:10.10.10.2 Other host processes Guest Internal IP:192.168.0.9 11 Gateway/router InternalIP:10.10.10.1 ExternalIP:95.42.76.32
  • 12. VirtualBox networking Network Address Translation. NAT network • VirtualBox makes available a virtual NAT router on a network interface for all guests using the NAT network. Guests can access each other. The NAT network needs to be created. • DHCP (Dynamic Host Configuration Protocol) requests on the interface are answered with an IP for the guest and address of the NAT router as gateway. The DHCP server can be configured. • The NAT router uses the hosts network interface. No specific VirtualBox network interface needs to be created. External parties only see a single host interface. • The NAT router opens a port on the hosts interface. The internal address is translated to the hosts IP to a specific port per host. The request to the destination IP is done. The response is forwarded back towards the guest (a table of external port to internal IP is kept by the router). • Port mappings can be made to allow requests to the host on a specific port to be forwarded to a guest. Titel van de presentatie 12
  • 13. VirtualBox networking Network Address Translation. NAT network Titel van de presentatie 13 VirtualBox configuration Guest configuration
  • 14. VirtualBox networking Network Address Translation. NAT network • Benefits: • Guests can access each other • No VirtualBox virtual host network interface (device + driver) required • DHCP server can be configured using the GUI • Internet access • Fixed IP possible • Drawbacks • To access the guest from the host requires port forwarding configuration and might require an entry in the hosts hosts file for specific webinterfaces • Requires additional VirtualBox configuration to define the network / DHCP server Titel van de presentatie 14
  • 15. Host VirtualBox VirtualBox networking Host only Titel van de presentatie 15 Guest Internal IP:192.168.0.100 Hostinterface IP:10.10.10.2 Other host processes Guest Internal IP:192.168.0.101 Hostinterface IP:192.168.0.1 1515 Gateway/router InternalIP:10.10.10.1 ExternalIP:95.42.76.32
  • 16. VirtualBox networking Host only • VirtualBox creates a host interface (a virtual device visible on the host). This interface can be shared amongst guests. Guests can access each other. • DHCP (Dynamic Host Configuration Protocol) requests on the interface are answered with an IP for the guest and address of the Host only adapter. The DHCP server can be configured using the VirtualBox GUI • The virtual host interface is not visible outside of the host. The internet cannot be accessed via this interface from the guest. • The host can access the guests by IP. Port mappings are not needed. Titel van de presentatie 16
  • 17. VirtualBox networking Host only Titel van de presentatie 17 VirtualBox configuration Guest configuration
  • 18. VirtualBox networking Host only • Benefits: • Guests can access each other • You can create separate guest networks • DHCP server can be configured using the GUI • Fixed IP possible • Drawbacks • To access the guest from the host requires port forwarding configuration and might require an entry in the hosts hosts file for specific webinterfaces • Requires additional VirtualBox configuration to define the network / DHCP server • VirtualBox virtual host network interface (device + driver) required • No internet access Titel van de presentatie 18
  • 19. VirtualBox networking Bridged Titel van de presentatie 19 Host VirtualBox Guest 1 Hostinterface IP:10.10.10.2(host) IP:10.10.10.3(Guest1) IP:10.10.10.4(Guest2) Other host processes Guest 2 Gateway/router InternalIP:10.10.10.1 ExternalIP:95.42.76.32
  • 20. VirtualBox networking Bridged • The guest uses a host interface. On the host interface a net filter driver is applied to allow VirtualBox to send data to the guest. This requires a so-called promiscuous mode to be used by the adapter. Promiscuous mode means the adapter can have multiple MAC addresses. Most wireless adapters do not support this. In that case VirtualBox replaces the MAC address of packages which are visible to the adapter. • An external DHCP server is used. Same way the host gets its IP / gateway. No additional configuration required. It might not work if the DHCP server only allows registered MACs (some company networks) • Easy access. The guest is directly available from the network (every host) the host is connected to. Port mappings are not required. The host can access the guests by IP. Guests can access the host by IP. Titel van de presentatie 20
  • 21. VirtualBox networking Bridged Titel van de presentatie 21 Guest configuration
  • 22. VirtualBox networking Bridged • Benefits: • Guests can access each other • Host can access guests and guests can access the host. Anyone on the host network can access the guests • No virtual DHCP server needed • Easy to configure / use • Same access to internet as the host has • Drawbacks • Guests can’t be split into separate networks (not isolated) • Sometimes doesn’t work; dependent on external DHCP server and ability to filter packets on a host network interface. Company networks might block your interface • No easy option for a fixed IP since host network is a variable • Not secure. The guest is exposed on the hosts network Titel van de presentatie 22
  • 23. VirtualBox networking Overview Titel van de presentatie 23 Guest → Host Guest ← Host Guest1 ↔ Guest2 Guest → Internet Guest ← Internet Host-only + + + – – Internal – – + – – Bridged + + + + + NAT – Port forwarding – + Port forwarding NAT Network – Port forwarding + + Port forwarding
  • 24. VirtualBox networking Case 1: ELK stack for learning purposes • I’m trying out the new version of the ELK stack (Elasticsearch, Logstash, Kibana) • Requirements: • I do not require internet access inside the guest • I want to access my guest from my host • I do not want my guest to be accessible outside of my host • I do not want to manually configure port mappings Which networking solution should I choose? Titel van de presentatie 24 Solution: Host only adapter
  • 25. VirtualBox networking Case 2: SOA Suite for a security workshop • I’m using Oracle SOA Suite for a security workshop SOA Suite consists of 3 separate VMs, DB, Admin Server, Managed Server • Requirements: • The VMs require fixed (internal) IPs • The VMs need to be able to access each other • Course participants need to call my services from the same network • I only want to expose specific ports Which networking solution should I choose? Titel van de presentatie 25 Solution: NAT network or NAT + Host only
  • 26. VirtualBox networking Case 3: Distributing a VM for a course • I’ve created an Ubuntu / Spring Tool Suite VM for a course. The VM will be distributed to participants. • Requirements: • The VM to distribute requires internet access. During the course several things will need to be downloaded • I am unaware of the VirtualBox created interfaces present on the host machines and don’t want the participants to manually have to select an adapter • I want the participants to do as little networking configuration as possible. VirtualBox networking is not the purpose of this course. Which networking solution should I choose? Titel van de presentatie 26 Solution: NAT
  • 27. VirtualBox networking Case 4: Running a server inside a VM • I’ve created a server inside a VM which hosts an application. • Requirements: • The MAC of the VM is configured inside the routers DHCP server so it will always get the same IP. Use the external DHCP server to obtain an IP • The application will be used by (and thus needs to be accessible for) different people on the network. • The application uses many different ports for different features. These ports change regularly. Some features use random ports. Manual port mappings are not an option • The application accesses different resources (such as a print server) on the hosts network Which networking solution should I choose? Titel van de presentatie 27 Solution: Bridged