Friday, July 2, 2010

Vyatta -- SIP Connection Tracking for VOIP

I've your going to be running VOIP devices behind a Vyatta router, you may need to enable some extra connection tracking options on your firewall to handle the SIP traffic correctly.

To enable sip tracking, log in to your router and do the following:
vyatta@rtr01:~$ configure
vyatta@rtr01# set firewall conntrack-options sip enable-indirect-media
vyatta@rtr01# set firewall conntrack-options sip enable-indirect-signalling
vyatta@rtr01# commit
vyatta@rtr01# save

Vyatta -- Grouping To VRRP Interfaces Together

If you're using Vyatta as a router and you want to group two vrrp interfaces together for redundancy, use the sync-group option to have the two interfaces fail over together.  This is useful if you have two Vyatta routers on two separate switches and you want to fail over if one of the switches fail or if only one interface on the server fails.

Here is an example with rtr01 being the master router.  If just eth0 or just eth1 fails, both vrrp groups fail and service is transfered to rtr02.

rtr01 network configuration
- eth0 real 10.0.0.2
- eth0 vrrp 10.0.0.1
- eth1 real 10.1.0.2
- eth1 vrrp 10.1.0.1

Vyatta interface config:

 interfaces {
     ethernet eth0 {
         address 10.0.0.2/16
         hw-id 00:13:72:65:b4:cf
         vrrp {
             vrrp-group 1 {
                 advertise-interval 1
                 priority 150
                 sync-group failover
                 virtual-address 10.0.0.1/16
             }
         }
     }
     ethernet eth1 {
         address 10.1.0.2/16
         hw-id 00:13:72:65:b4:d0
         vrrp {
             vrrp-group 2 {
                 advertise-interval 1
                 priority 150
                 sync-group failover
                 virtual-address 10.1.0.1/16
             }
         }
     }
 }


rtr02 network configuration
- eth0 real 10.0.0.3
- eth0 vrrp 10.0.0.1
- eth1 real 10.1.0.2
- eth1 vrrp 10.1.0.1

Vyatta interface config:

 interfaces {
     ethernet eth0 {
         address 10.0.0.3/16
         hw-id 00:13:72:65:69:a9
         vrrp {
             vrrp-group 1 {
                 advertise-interval 1
                 priority 20
                 sync-group failover
                 virtual-address 10.0.0.1/16
             }
         }
     }
     ethernet eth1 {
         address 10.1.0.3/16
         hw-id 00:13:72:65:69:aa
         vrrp {
             vrrp-group 2 {
                 advertise-interval 1
                 priority 20
                 sync-group failover
                 virtual-address 10.1.0.1/16
             }
         }
     }
 }