Difference between revisions of "VyOS with ESXI 6.7"

From ppwiki
Jump to navigation Jump to search
 
(43 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
 
=Objective=
 
=Objective=
Our Goal is to be able to create the network in the image below.
+
Our Goal is to be able to create the network in the image below. Note that we are not going to discuss about how to  use ESXI in this tutorial but we will be more focus on VyOS and how to use it to connect to the vswitches on the ESXI node.
 
 
  
 
[[file:vyos1.png]]
 
[[file:vyos1.png]]
  
 
=Creating VSwitches and port groups on the EXSI server==
 
=Creating VSwitches and port groups on the EXSI server==
 +
The Vswitch0 is already create and has two port groups already: "VM Network" and "Mangement Network" so we are not going to worry about this.
  
 
==Create VSwtich==
 
==Create VSwtich==
  
In this section, we will be creating 4 Vswithes called:
+
In this section, we will be creating 4 Vswithes called:  
  
 
- asw-a-codfw
 
- asw-a-codfw
Line 25: Line 25:
  
 
- asw-d-codfw
 
- asw-d-codfw
 +
 +
Do not assign any up-links to the Vswitches. Like a mentioned above we are not going to discuss how to create Vswithes in this tutorial. After you have created the 4 Vswitches above, the next step will be to create the port groups in the nest section.
  
 
==Create Port groups==
 
==Create Port groups==
 +
create 4 port groups like in the table below.
 +
 +
{| class="wikitable"
 +
|+Port Groups
 +
|-
 +
|Port name
 +
|vlan
 +
|vswitch
 +
|-
 +
|private1-a-codfw
 +
|20
 +
|asw-a-codfw
 +
|-
 +
|private1-b-codfw
 +
|30
 +
|asw-b-codfw
 +
|-
 +
|private1-c-codfw
 +
|40
 +
|asw-c-codfw
 +
|-
 +
|private1-d-codfw
 +
|50
 +
|asw-d-codfw
 +
|}
 +
=VyOS installation and configuration=
 +
==Installation==
 +
The installation of VyOS is simple and easy. It is done like a regular VM installation on ESXI.
 +
 +
* First : create a VM with
 +
 +
- Name:vrouter4001 ( You can use any name)
 +
 +
- 1024MB of RAM
 +
 +
- 1 CPU
 +
 +
- 40GB  of Disk
 +
 +
- 5 Network Interfaces
 +
 +
{| class="wikitable"
 +
|+Network Interfaces and port groups
 +
|-
 +
|NIC
 +
|Port Group
 +
|-
 +
|eth0
 +
|VM Network
 +
|-
 +
|eth1
 +
|private1-a-codfw
 +
|-
 +
|eth2
 +
|private1-b-codfw
 +
|-
 +
|eth3
 +
|private1-c-codfw
 +
|-
 +
|eth4
 +
|private1-d-codfw
 +
|}
 +
* Second: Download the iso image
 +
The Link to download the iso is: https://downloads.vyos.io/?dir=release/legacy/1.1.8
 +
 +
Download the vyos-1.1.8-amd64.iso version
 +
 +
* Third: attache the iso to your VM and boot the VM
 +
 +
After booting the VM, you will see the login prompt like in the image below
 +
 +
[[file:vyos2.png]]
 +
 +
The default login username is vyos and the password is vyos too.
 +
 +
Once login, run the command
 +
 +
show interfaces
 +
 +
to make sure you have all the 5 interfaces. The output should look the same like in the image below
 +
 +
[[file:vyos3.png]]
 +
 +
If you have all the five interfaces, proceed to the installation by running the command
 +
 +
install image
 +
 +
Follow the instructions on the screen bu just pressing enter and answering "YES" to all the question to use the default settings. Don't forget to enter a new password for login to replace the defaut password "vyos"
 +
 +
Once the installation completed, power off the VM, detach the iso image from the VM and power backup the VM and proceed to the configuration.
 +
 +
==Configuration==
 +
===Setting IP addresses and description===
 +
eth0
 +
configuration
 +
set interfaces ethernet eth0 address 10.192.0.53/24
 +
set interfaces ethernet eth0 description core_to_cr-gcsm
 +
 +
eth1
 +
set interfaces ethernet eth1 address 10.192.16.1/22
 +
set interfaces ethernet eth1 description private1-a-codfw
 +
 +
eth2
 +
set interfaces ethernet eth2 address 10.192.32.1/22
 +
set interfaces ethernet eth2 description private1-b-codfw
 +
 +
eth3
 +
set interfaces ethernet eth3 address 10.192.48.1/22
 +
set interfaces ethernet eth3 description private1-c-codfw
 +
 +
eth4
 +
set interfaces ethernet eth4 address 10.192.64.1/22
 +
set interfaces ethernet eth4 description private1-d-codfw
 +
 +
commit
 +
save
 +
 +
Note: if you do not "save", after a reboot all the configuration will go away.
 +
 +
check the configuration with "show interfaces"
 +
 +
vyos@vyos:~$ show interfaces
 +
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
 +
Interface        IP Address                        S/L  Description
 +
---------        ----------                        ---  -----------
 +
eth0            10.192.0.53/24                    u/u  core_to_cr-gcsm
 +
eth1            10.192.144.1/22                  u/u  private1-a-codfw
 +
eth2            10.192.160.1/22                  u/u  private1-b-codfw
 +
eth3            10.192.176.1/22                  u/u  private1-c-codfw
 +
eth4            10.192.192.1/22                  u/u  private1-d-codfw
 +
lo              127.0.0.1/8                      u/u 
 +
                ::1/128
 +
Go back in configuration mode and change the router name from vyos to vrouter4001  ( you can call it anything)
 +
set system host-name vrouter4001
 +
commit
 +
save
 +
vyos@vrouter4001:~$
 +
 +
===Setting default gateway===
 +
If we do not define the default gateway, all the VM's will not be able to access the internet.
 +
 +
set protocols static route 0.0.0.0/0 next-hop 10.192.0.1
 +
 +
10.192.0.1 being the IP address of the our physical router connected to the Internet
 +
 +
===Setting OSPF===
 +
[[file:vyos4.png]]
 +
 +
*On cr-gcsm
 +
The configuration of OSFP on Cisco router is very simple just 2 commands
 +
router ospf 1
 +
network 10.192.0.1 0.0.0.255 area 0
 +
do wr
 +
* On vrouter4001
 +
We are just going to do a minimum configuration needed for OSPF to work. Not worry about setting up lo interface or defining the router ID
 +
 +
set protocols ospf area 0 network 10.192.0.0/24
 +
set protocols ospf area 0 network 10.192.144.0/22
 +
set protocols ospf area 0 network 10.192.160.0/22
 +
set protocols ospf area 0 network 10.192.176.0/22
 +
set protocols ospf area 0 network 10.192.192.0/22
 +
 +
And that's all for setting the minimum configuration
 +
 +
vyos@vrouter4001:~$ show ip ospf neighbor
 +
Neighbor ID        Pri State          Dead Time Address        Interface            RXmtL RqstL DBsmL
 +
10.192.0.1        1 Full/Backup      39.968s 10.192.0.1        eth0:10.192.0.53      0    0    0
 +
 +
cr-gcsm#show ip ospf neighbor
 +
Neighbor ID    Pri  State          Dead Time  Address        Interface
 +
10.192.160.1      1  FULL/DR        00:00:33    10.192.0.53    FastEthernet0/1
 +
 +
===Setting DHCP relay===
 +
[[file:vyos5.png]]
 +
 +
We have a DHCP server in vlan20 with IP address of 10.192.144.5. For now servers in the other vlan's can not contact the DHCP server because there are on different vlan's.
 +
 +
For servers on the  other vlan's to be able to contact the DHCP server, we will need to configure a DHCP relay on the router.
 +
 +
Here, we just need to configure DHCP relay on eth1,eth2,eth3 and eth4.
 +
 +
- Enable dhcp-relay on the 4 interfaces
 +
 +
set service dhcp-relay interface eth1
 +
set service dhcp-relay interface eth2
 +
set service dhcp-relay interface eth3
 +
set service dhcp-relay interface eth4
 +
 +
- Set the DHCP server IP address
 +
 +
  set service dhcp-relay server 10.192.144.5
 +
  set service dhcp-relay relay-options relay-agents-packets discard
 +
  commit
 +
 +
After this is done, restart the relay-agent with
 +
 +
  restart dhcp relay-agent
 +
 +
===Enable SSH on port 22 with SSH key===
 +
There are 3 steps on configuring SSH access to the vrouter:
 +
- Setup the SSH port
 +
- Setup the address to listen on
 +
- Upload your SSH-key
 +
 +
The command to setup the SSH port is:
 +
set service ssh port 22
 +
 +
The command to setup the address to listen on is:
 +
set service ssh listen-address <IPv4>
 +
Since our vrouter has 4 ineterfaces, we are going to setup the listen-address on eth0 address (10.192.0.53)
 +
set service ssh listen-address 10.192.0.53
 +
Then
 +
commit
 +
save
 +
Upload your ssh key
 +
 +
set system login user vyos authentication public-keys ppaul key "AAAAB3NzaC1yc2EAAAADAQABAAABAQDST4EbXJc9l/AdrVmOZEPl3sxi6qjGIZyPwku..."
 +
 +
The command above needs to be in 1 line
 +
 +
set system login user vyos authentication public-keys ppaul type ssh-rsa"
 +
commit
 +
save
 +
Note: do not copy the "ssh-rsa" at the beginning of your key or the comment at the end of your ssh key.

Latest revision as of 19:37, 5 May 2020

Prerequisites

To complete this tutorial, we will need:

  • 1 node running ESXI. This tutorial is done on a node running EXSI 6.7
  • 1 VM running the VyOS
  • 4 testing VM's on separate VLAN's

Objective

Our Goal is to be able to create the network in the image below. Note that we are not going to discuss about how to use ESXI in this tutorial but we will be more focus on VyOS and how to use it to connect to the vswitches on the ESXI node.

Vyos1.png

Creating VSwitches and port groups on the EXSI server=

The Vswitch0 is already create and has two port groups already: "VM Network" and "Mangement Network" so we are not going to worry about this.

Create VSwtich

In this section, we will be creating 4 Vswithes called:

- asw-a-codfw

- asw-b-codfw

- asw-c-codfw

- asw-d-codfw

Do not assign any up-links to the Vswitches. Like a mentioned above we are not going to discuss how to create Vswithes in this tutorial. After you have created the 4 Vswitches above, the next step will be to create the port groups in the nest section.

Create Port groups

create 4 port groups like in the table below.

Port Groups
Port name vlan vswitch
private1-a-codfw 20 asw-a-codfw
private1-b-codfw 30 asw-b-codfw
private1-c-codfw 40 asw-c-codfw
private1-d-codfw 50 asw-d-codfw

VyOS installation and configuration

Installation

The installation of VyOS is simple and easy. It is done like a regular VM installation on ESXI.

  • First : create a VM with

- Name:vrouter4001 ( You can use any name)

- 1024MB of RAM

- 1 CPU

- 40GB of Disk

- 5 Network Interfaces

Network Interfaces and port groups
NIC Port Group
eth0 VM Network
eth1 private1-a-codfw
eth2 private1-b-codfw
eth3 private1-c-codfw
eth4 private1-d-codfw
  • Second: Download the iso image

The Link to download the iso is: https://downloads.vyos.io/?dir=release/legacy/1.1.8

Download the vyos-1.1.8-amd64.iso version

  • Third: attache the iso to your VM and boot the VM

After booting the VM, you will see the login prompt like in the image below

Vyos2.png

The default login username is vyos and the password is vyos too.

Once login, run the command

show interfaces

to make sure you have all the 5 interfaces. The output should look the same like in the image below

Vyos3.png

If you have all the five interfaces, proceed to the installation by running the command

install image

Follow the instructions on the screen bu just pressing enter and answering "YES" to all the question to use the default settings. Don't forget to enter a new password for login to replace the defaut password "vyos"

Once the installation completed, power off the VM, detach the iso image from the VM and power backup the VM and proceed to the configuration.

Configuration

Setting IP addresses and description

eth0

configuration
set interfaces ethernet eth0 address 10.192.0.53/24
set interfaces ethernet eth0 description core_to_cr-gcsm

eth1

set interfaces ethernet eth1 address 10.192.16.1/22
set interfaces ethernet eth1 description private1-a-codfw

eth2

set interfaces ethernet eth2 address 10.192.32.1/22
set interfaces ethernet eth2 description private1-b-codfw

eth3

set interfaces ethernet eth3 address 10.192.48.1/22
set interfaces ethernet eth3 description private1-c-codfw

eth4

set interfaces ethernet eth4 address 10.192.64.1/22
set interfaces ethernet eth4 description private1-d-codfw

commit
save

Note: if you do not "save", after a reboot all the configuration will go away.

check the configuration with "show interfaces"

vyos@vyos:~$ show interfaces 
Codes: S - State, L - Link, u - Up, D - Down, A - Admin Down
Interface        IP Address                        S/L  Description
---------        ----------                        ---  -----------
eth0             10.192.0.53/24                    u/u  core_to_cr-gcsm 
eth1             10.192.144.1/22                   u/u  private1-a-codfw 
eth2             10.192.160.1/22                   u/u  private1-b-codfw 
eth3             10.192.176.1/22                   u/u  private1-c-codfw 
eth4             10.192.192.1/22                   u/u  private1-d-codfw 
lo               127.0.0.1/8                       u/u  
                ::1/128

Go back in configuration mode and change the router name from vyos to vrouter4001 ( you can call it anything)

set system host-name vrouter4001
commit
save
vyos@vrouter4001:~$

Setting default gateway

If we do not define the default gateway, all the VM's will not be able to access the internet.

set protocols static route 0.0.0.0/0 next-hop 10.192.0.1

10.192.0.1 being the IP address of the our physical router connected to the Internet

Setting OSPF

Vyos4.png

  • On cr-gcsm

The configuration of OSFP on Cisco router is very simple just 2 commands

router ospf 1
network 10.192.0.1 0.0.0.255 area 0
do wr
  • On vrouter4001

We are just going to do a minimum configuration needed for OSPF to work. Not worry about setting up lo interface or defining the router ID

set protocols ospf area 0 network 10.192.0.0/24
set protocols ospf area 0 network 10.192.144.0/22
set protocols ospf area 0 network 10.192.160.0/22
set protocols ospf area 0 network 10.192.176.0/22
set protocols ospf area 0 network 10.192.192.0/22

And that's all for setting the minimum configuration

vyos@vrouter4001:~$ show ip ospf neighbor 
Neighbor ID        Pri State           Dead Time Address         Interface            RXmtL RqstL DBsmL
10.192.0.1        1 Full/Backup       39.968s 10.192.0.1         eth0:10.192.0.53       0     0     0
cr-gcsm#show ip ospf neighbor 
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.192.160.1      1   FULL/DR         00:00:33    10.192.0.53     FastEthernet0/1

Setting DHCP relay

Vyos5.png

We have a DHCP server in vlan20 with IP address of 10.192.144.5. For now servers in the other vlan's can not contact the DHCP server because there are on different vlan's.

For servers on the other vlan's to be able to contact the DHCP server, we will need to configure a DHCP relay on the router.

Here, we just need to configure DHCP relay on eth1,eth2,eth3 and eth4.

- Enable dhcp-relay on the 4 interfaces

set service dhcp-relay interface eth1 
set service dhcp-relay interface eth2 
set service dhcp-relay interface eth3 
set service dhcp-relay interface eth4

- Set the DHCP server IP address

 set service dhcp-relay server 10.192.144.5
 set service dhcp-relay relay-options relay-agents-packets discard 
 commit

After this is done, restart the relay-agent with

 restart dhcp relay-agent

Enable SSH on port 22 with SSH key

There are 3 steps on configuring SSH access to the vrouter: - Setup the SSH port - Setup the address to listen on - Upload your SSH-key

The command to setup the SSH port is:

set service ssh port 22

The command to setup the address to listen on is:

set service ssh listen-address <IPv4>

Since our vrouter has 4 ineterfaces, we are going to setup the listen-address on eth0 address (10.192.0.53)

set service ssh listen-address 10.192.0.53

Then

commit
save

Upload your ssh key

set system login user vyos authentication public-keys ppaul key "AAAAB3NzaC1yc2EAAAADAQABAAABAQDST4EbXJc9l/AdrVmOZEPl3sxi6qjGIZyPwku..."

The command above needs to be in 1 line

set system login user vyos authentication public-keys ppaul type ssh-rsa"
commit
save

Note: do not copy the "ssh-rsa" at the beginning of your key or the comment at the end of your ssh key.