A plugin to configure a software bridge within a guest. This may be useful when simulating non-trivial network topologies with Vagrant guests, e.g., bridging VirtualBox internal networks.
The implementation relies on Vagrant's guest capabilities. Currently, the plugin supports only Debian-derived guests and in particular has been tested only on Ubuntu. However, contributions to add support for other guests are more than welcome.
Use vagrant plugin install
:
$ vagrant plugin install vagrant-software-bridge
Setting up a software bridge is accomplished using the config.software_bridge.add
gestures. The gesture takes similar parameters to config.vm.network
, with
some exceptions. Valid parameters are as follows:
interface
The name of the bridge interface. The default isbr0
,br1
, etc., with the counter being incremented with every bridge added.bridge_ports
An array of ports (or interfaces) to add to the bridge. The interfaces must already exist.type
Method of IP assignment. Valid values are "dhcp" and "static".ip
Required iftype
is "static". The IP address to be assigned to the bridge.netmask
Required iftype
is "static". The netmask to use for the bridge.
Note that the bridge plugin runs immediately after Vagrant network configuration,
so bridge_ports
can include interfaces configured using config.vm.network
.
Create a bridge that includes the interfaces eth0
and eth1
, and assign it
the static IP 10.0.1.2/24. Assuming this is the first bridge to be added, its
name will be br0
.
config.software_bridge.add bridge_ports: ["eth0", "eth1"], type: static,
ip: "10.0.1.2", netmask: "255.255.255.0"
The config
object in the example is what was passed by Vagrant to the
config.vm.define
block.
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request