# Virtual Machine Network Profiles

Salt Virt allows for the network devices created for deployed virtual machines to be finely configured. The configuration is a simple data structure which is read from the `config.option` function, meaning that the configuration can be stored in the minion config file, the master config file, or the minion's pillar.

This configuration option is called `virt.nic`. By default the `virt.nic` option is empty but defaults to a data structure which looks like this:

    virt.nic:
      default:
        eth0:
          bridge: br0
          model: virtio

Note

The model does not need to be defined, Salt will default to the optimal model used by the underlying hypervisor, in the case of kvm this model is virtio

This configuration sets up a network profile called default. The default profile creates a single Ethernet device on the virtual machine that is bridged to the hypervisor's br0 interface. This default setup does not require setting up the `virt.nic` configuration, and is the reason why a default install only requires setting up the br0 bridge device on the hypervisor.

## Define More Profiles

Many environments will require more complex network profiles and may require more than one profile, this can be easily accomplished:

    virt.nic:
      dual:
        eth0:
          bridge: service_br
        eth1:
          bridge: storage_br
      single:
        eth0:
          bridge: service_br
      triple:
        eth0:
          bridge: service_br
        eth1:
          bridge: storage_br
        eth2:
          bridge: dmz_br
      all:
        eth0:
          bridge: service_br
        eth1:
          bridge: storage_br
        eth2:
          bridge: dmz_br
        eth3:
          bridge: database_br
      dmz:
        eth0:
          bridge: service_br
        eth1:
          bridge: dmz_br
      database:
        eth0:
          bridge: service_br
        eth1:
          bridge: database_br

This configuration allows for one of six profiles to be selected, allowing virtual machines to be created which attach to different network depending on the needs of the deployed vm.

Current Salt release: 0.17.1

### Table Of Contents

- Virtual Machine Network Profiles
  - Define More Profiles

#### Previous topic

Salt Virt - The SaltStack Cloud Controller

#### Next topic

Salt SSH

### Quick search

Enter search terms or a module, class or function name.

### Upcoming SaltStack Events

My conferences on Lanyrd