Networking with Parallels Provider
Networking with the Parallels provider works similarly to VirtualBox but uses Parallels virtual network adapters. The key difference is that Parallels has its own network management — Shared, Host-Only, and Bridged modes map to Vagrant's NAT, private_network, and public_network.
Parallels Network Modes
| Vagrant Mode | Parallels Mode | VM accessible from |
|---|---|---|
| NAT (default) | Shared | Host only via port forward |
| private_network | Host-Only | Host machine only |
| public_network | Bridged | All machines on your LAN |
Port Forwarding
Ruby — Port Forwarding (Parallels)
Vagrant.configure("2") do |config|
config.vm.box = "generic/oracle8"
# Forward MySQL
config.vm.network "forwarded_port", guest: 3306, host: 13306
# Forward Oracle listener
config.vm.network "forwarded_port", guest: 1521, host: 11521
# Forward ProxySQL
config.vm.network "forwarded_port", guest: 6033, host: 16033
config.vm.network "forwarded_port", guest: 6032, host: 16032
config.vm.provider "parallels" do |prl|
prl.name = "OEL8-DB"
prl.memory = 4096
prl.cpus = 2
end
end
Private Network (Host-Only)
Ruby — Private Network (Parallels)
Vagrant.configure("2") do |config|
config.vm.box = "generic/oracle8"
# Static private IP — works the same as VirtualBox
config.vm.network "private_network", ip: "192.168.56.10"
config.vm.provider "parallels" do |prl|
prl.name = "OEL8-Private"
prl.memory = 2048
prl.cpus = 2
end
end
BASH — Test Private Network
# Test from host
ping 192.168.56.10
# Connect to MySQL via private IP
mysql -u root -h 192.168.56.10 -P 3306 -pRoot@123!
Public Network (Bridged)
Ruby — Public Network (Parallels)
Vagrant.configure("2") do |config|
config.vm.box = "generic/oracle8"
# Bridged network — specify your Mac network interface
config.vm.network "public_network", bridge: "en0: Wi-Fi"
# Or let Parallels choose
config.vm.network "public_network"
config.vm.provider "parallels" do |prl|
prl.name = "OEL8-Public"
prl.memory = 2048
prl.cpus = 2
# Specify bridge adapter via prlctl
prl.customize ["set", :id, "--device-set", "net0", "--type", "bridged", "--iface", "en0"]
end
end
BASH — Find Mac Network Interfaces
# Find your Mac network interface names
ifconfig | grep "^en"
# en0 = Wi-Fi on most Macs
# en1 = Ethernet (USB adapter)
# en7 = Thunderbolt Ethernet
Multi-Machine Networking with Parallels
Ruby — Multi-Machine Networking
Vagrant.configure("2") do |config|
config.vm.define "master" do |node|
node.vm.box = "generic/oracle8"
node.vm.hostname = "mysql-master"
node.vm.network "private_network", ip: "192.168.56.11"
node.vm.network "forwarded_port", guest: 3306, host: 13306
node.vm.provider "parallels" do |prl|
prl.name = "MySQL-Master"
prl.memory = 4096
prl.cpus = 2
prl.update_guest_tools = false
end
end
config.vm.define "replica1" do |node|
node.vm.box = "generic/oracle8"
node.vm.hostname = "mysql-replica1"
node.vm.network "private_network", ip: "192.168.56.12"
node.vm.network "forwarded_port", guest: 3306, host: 13307
node.vm.provider "parallels" do |prl|
prl.name = "MySQL-Replica1"
prl.memory = 4096
prl.cpus = 2
prl.update_guest_tools = false
end
end
end
Parallels Network CLI Tools
BASH — Parallels Network CLI
# List Parallels virtual networks
prlsrvctl net list
# View network info
prlsrvctl net info "Shared"
prlsrvctl net info "Host-Only"
# Check VM network adapters
prlctl list --all
prlctl exec "OEL8-DB" ip addr show
💡 Note: Parallels creates its own Host-Only network adapter (usually vnic0 on your Mac). Make sure 192.168.56.x range does not conflict with existing Parallels networks. Check prlsrvctl net list to see what ranges are in use.