# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto ens3
iface ens3 inet static
  address $SALT_MASTER_DEPLOY_IP
  netmask $SALT_MASTER_DEPLOY_NETMASK
#auto ens4
#iface ens4 inet static
#  address $SALT_MASTER_CONTROL_IP
#  netmask $SALT_MASTER_CONTROL_NETMASK