Vyatta

Vyatta Logo

Vyatta (http://www.vyatta.com) is an open source software project enabling administrators to build firewall, VPN and routing appliances on x86-based hardware of their choice.
Vyatta also develop their own hardware appliances available for purchase.


Features

IP and Routing Protocols

IPv6

IP Address Management

Encapsulations

Firewall

VPN

Additional Security

Performance Optimisation

QoS Policies

Logging and Monitoring

High Availability

Administration

Diagnostics & Packet Sniffing

Virtualisation Readiness

The Vyatta software can be run from a LiveCD, hard drive, USB drive, CompactFlash drive or can be downloaded as a pre-compiled Virtual Machine from the Vyatta web site.

The solution can be administered at the command line via either Telnet or SSH, or equally from a web browser via a Graphical User Interface which can be optionally secured by SSL.

The entire configuration of the appliance is stored in a single text-based configuration file that can be backed up and restored quickly and easily.
Multiple administrative user accounts can be configured as well as administrative roles. Support for RADIUS authentication is also included.


Installation and Configuration

The Vyatta software can be used to fulfil a number of roles, but as a low-cost Internet Gateway and Firewall appliance, the installation and configuration process takes only a few minutes.

To install the software to a physical host, boot from the LiveCD and login at the prompt using a username and password of 'vyatta'. Then simply type in

install-system

and follow the on-screen instructions. You will need to have created a hard drive partition and know its 'name', ie /dev/sda1

The required system files will then be copied to the hard drive automatically. All present network interfaces will be detected automatically.

To configure the appliance's networking, run the following commands:

configure

Sets the unit to configuration mode

set system host-name FW1
commit

Sets the appliance's hostname

set system domain-name mydomain.com
commit

Completes the appliance's full DNS name (FW1.mydomain.com)

set interfaces ethernet eth0 address 192.0.2.2/24
commit

Sets the first network interface to the external network provided by your ISP (where the external IP address assigned to you by the ISP is 192.0.2.2/255.255.255.0)

set interfaces ethernet eth1 address 192.168.1.254/24
commit

Sets the second network interface to the internal LAN, with an internal address of 192.168.1.254/255.255.255.0

set system gateway-address 192.0.2.1
commit

Sets the default gateway address of the unit to the external IP address of your ISP's router or broadband modem

set system name-server 8.8.8.8
commit

Sets the primary external DNS server to that provided by your ISP. This command can be repeated to define secondary and tertiary DNS servers

set service https
commit

Enables HTTPS access to the Vyatta web GUI. This step will create a certificate to be sued by the web GUI automatically

set service ssh
commit

Enables SSH access to the Vyatta command line interface. This step will create an OpenSSL-based key for the appliance automatically

set system login user vyatta authentication plaintext-password PASSWORD
commit

This changes the default 'vyatta' user account password to whatever you specify in place of 'PASSWORD'

set date MMDDhhCCYY
commit

Sets the correct date and time on the unit. This can also be done by specifying the IP address of an NTP server.

The 'commit' command can be run at the end of each command, or you can enter all commands and run commit once you have finished.

You will now be able to connect to the Vyatta appliance from a host on the same network via the web interface:

Vyatta Web GUI

Should you want to use the Vyatta appliance as a DHCP server on the local interface, this is also easily configurable:

set service dhcp-server shared-network-name ETH1_POOL subnet
 192.168.1.0/24 start 192.168.1.100 stop 192.168.1.199
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24
 default-router 192.168.1.254
set service dhcp-server shared-network-name ETH1_POOL subnet 192.168.1.0/24
 dns-server 8.8.8.8

This configures a DHCP pool with 100 client addresses and defines the gateway and DNS server information that will be pushed to clients. NOTE - on the LAN an internal DNS server would probably be specified, such as a Microsoft Active Directory Domain Controller.

To configure Network Address Translation, so that requests to the Internet from hosts on the LAN appear as coming from the 'masquerade' or 'hide' address of the external interface of the Vyatta appliance, run the following commands:

set service nat rule 1 source address 192.168.1.0/24
set service nat rule 1 outbound-interface eth0
set service nat rule 1 type masquerade
commit

You have now configured Vyatta as an Internet Gateway. By default Vyatta will not restrict any traffic on any of the network interfaces. Firewall policy rules can be configured both at the command line or via the web interface. For each interface, three types of rules can be defined:

A normal approach would be to block all incoming traffic from the Internet. This is accomplished by an implicit "deny all" rule. However doing this will prevent outbound connections from completing properly as response packets from outbound-initiated requests will be blocked also. To rectify this we must explicitly allow response packets from "established connections". The commands to accomplish this are as follows:

set firewall name ALLOW_ESTABLISHED
set firewall name ALLOW_ESTABLISHED rule 10
set firewall name ALLOW_ESTABLISHED rule 10 action accept
set firewall name ALLOW_ESTABLISHED rule 10 state established enable
commit

This has created a firewall rule, with a name of "Allow Established", number 10 in the rulebase, to allow incoming packets that are response packets to already established outbound connections.

To apply this rule to a specific interface, use the command:

set interfaces ethernet eth0 firewall in name ALLOW_ESTABLISHED
set interface ethernet eth0 firewall local name ALLOW_ESTABLISHED
commit

You have configured an Internet Gateway and Firewall appliance. Vyatta is capable of being used in much more complicated scenarios and fulfilling a wide range of networking roles. For more information visit the Vyatta web site.