Monday, 15 December 2008

Vyatta on VM Workstation

Here's the deal. How do you fill your work time looking busy but having a bit of fun? Simple. Look out for emerging technologies and tell your department you want to "innovate" with Product X. So here I am, looking at Vyatta. Bold claims from these guys but is it as good as they say? Well I'm not here to run the mathematical experiments. What I want to know is "Is it easy to use?" and "Can I use it in one of our projects?". It's early days to be answering the latter but I may be able to answer the former over a series of posts.

What I want to do is set up a dummy network in VM Workstation to simulate a square with a Vyatta router at each corner like so:

Vyatta Instance 1 --> Vyatta Instance 2
Vyatta Instance 1 --> Vyatta Instance 3
Vyatta Instance 2 --> Vyatta Instance 4
Vyatta Instance 3 --> Vyatta Instance 4

I really am a noob to VM Workstation but after a little playing around I got it to work.

Taking the above connections I used the Custom Network Connections for each (I believe VMNet0 and VMNet1 are reserved):

Vyatta Instance 1 --> Vyatta Instance 2 = VMNet2
Vyatta Instance 1 --> Vyatta Instance 3 = VMNet3
Vyatta Instance 2 --> Vyatta Instance 4 = VMNet4
Vyatta Instance 3 --> Vyatta Instance 4 = VMNet5

By default each virtual machine in VM Workstation has one Network Connection set up (usually NAT). Modify this to a custom connection and from the drop-down list choose the appropriate VMNet. To add a new Network Adapter simply click Add in the Virtual Machine Settings and choose Network Adapter then select Custom and choose the desired VMNet connection. For my example above I modified the first Network Adapter on Vyatta Instance 1 to VMNet2 and created a new Network Adapter in VMNet3. I done similar on the other three instances and lo-and-behold everything was connected.

Here's my basic settings:

Vyatta Instance 1:

configure
set system host-name Vyatta-Instance-1
set interfaces ethernet eth0 description Link_To_Vyatta_Instance_2
set interfaces ethernet eth0 address 192.168.2.1/24
set interfaces ethernet eth1 description Link_To_Vyatta_Instance_3
set interfaces ethernet eth1 address 192.168.3.1/24
commit
save

Vyatta Instance 2:

configure
set system host-name Vyatta-Instance-2
set interfaces ethernet eth0 description Link_To_Vyatta_Instance_1
set interfaces ethernet eth0 address 192.168.2.2/24
set interfaces ethernet eth1 description Link_To_Vyatta_Instance_4
set interfaces ethernet eth1 address 192.168.4.1/24
commit

Vyatta Instance 3:

configure
set system host-name Vyatta-Instance-3
set interfaces ethernet eth0 description Link_To_Vyatta_Instance_1
set interfaces ethernet eth0 address 192.168.3.2/24
set interfaces ethernet eth1 description Link_To_Vyatta_Instance_4
set interfaces ethernet eth1 address 192.168.5.1/24
commit

Vyatta Instance 4:

configure
set system host-name Vyatta-Instance-4
set interfaces ethernet eth0 description Link_To_Vyatta_Instance_2
set interfaces ethernet eth0 address 192.168.4.2/24
set interfaces ethernet eth1 description Link_To_Vyatta_Instance_3
set interfaces ethernet eth1 address 192.168.5.2/24
commit

This is probably more for my reference but to undo anything use the "delete" command. For example if I accidentally put an IP address under eth0 for example I could use the following;

delete interfaces ethernet eth0 address 192.168.3.1/24

Now I've decided to run RIP just to see how easy it is.

Vyatta Instance 1

configure
set protocols rip network 192.168.2.0/24
set protocols rip network 192.168.3.0/24
commit
save

Vyatta Instance 2

configure
set protocols rip network 192.168.2.0/24
set protocols rip network 192.168.4.0/24
commit
save

Vyatta Instance 3

configure
set protocols rip network 192.168.3.0/24
set protocols rip network 192.168.5.0/24
commit
save

Vyatta Instance 4

configure
set protocols rip network 192.168.4.0/24
set protocols rip network 192.168.5.0/24
commit
save

To shut down an interface:

set interfaces ethernet eth0 disable

To bring it back up:

delete interfaces ethernet eth0 disable

It all seems easy so far.

1 comment:

  1. This comment has been removed by a blog administrator.

    ReplyDelete