Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
56 lines (38 sloc) 1.97 KB

ROUTER-NODE

This repo provides a Vagrantfile with provisioning that one can use to quickly get simple vm that routes from a private network using nat.

  |------ NAT Network -------|
                 |
                 | Dynamic ip
                 | 
        -----------------
        | This Router VM |
        -----------------
           |   |   | Static ip ${node_ex_ip}, [DHCPd], [DNSd]
           |   |   |
           |   |   |
  |------ Internal Network3 -------|
  vm.network "private_network", type: "dhcp", virtualbox__intnet: "mylocalnet3"
               |   |
  |------ Internal Network2 -------|
  vm.network "private_network", type: "dhcp", virtualbox__intnet: "mylocalnet2"
                   |
  |------ Internal Network --------|
  Connect vms to this net, so they can talk to each
  other and share a dynamic link via nat. To do that, use
  vm.network "private_network", type: "dhcp", virtualbox__intnet: "mylocalnet"

##Pre-requisites:

Vagrant

Vagrant Reload Provisioner

As part of the provisioning, the vm is expected to be rebooted. In order to accomplish that, we use the vagrant's reload plugin. Install this by issuing the following command:

$ vagrant plugin install vagrant-reload

Configuration knobs

If you need to tweak the default values, these are the files that you will need to look at:

  • Vagrantfile

    • node_ex_ip: this is the static ip address assigned to the router interface in the internal network
    • node.vm.network: this is the internal only network that your clients should use in order to reach the router's interface
  • puppet/hieradata/* : The json files in this directory contain the values used for dhcpd and dns services.

  • Standard Centos 6 distro of dhcp/bind/iptables: with a few online searches you can figure all of them out. :)