Tunnel

home » tunnel

BGP tunnel configuration

There are two options to proceed with tunnel setup:

Static route setup

Debian like client side configuration:

  [Static tunnel configuration]

  # tunnel to RR2
  iface tun0 inet static
  address 192.168.21.3
  netmask 255.255.255.248
  pointopoint 192.168.21.2
  pre-up iptunnel add tun0 mode gre local EXT_TENDO_IP remote EXT_CLIENT_IP ttl 255
  mtu 1500

  # add default route via tunnel
  ip route add 0.0.0.0/0 dev tun0

Where EXT_CLIENT_IP is client's external IP and EXT_TENDO_IP is our tunnelling server external IP. 192.168.21.3 is an IP from point-to-point subnet assinged by Tendo upon service request.

Dynamic (BGP) setup

This option lets you configure a redundant gateway. This way you announce given subnet from your own BGP router. It is recommended when client needs very high service uptime guarantees.

Debian and quagga bgp daemon configuration:

  [Tunnels for dynamic BGP configuration]

  # tunnel to RR1
  iface tun0 inet static
  address 192.168.21.3
  netmask 255.255.255.248
  pointopoint 192.168.21.1
  pre-up iptunnel add tun0 mode gre local EXT_TENDO_IP remote EXT_CLIENT_IP ttl 255
  mtu 1500

  # tunnel to RR2
  iface tun1 inet static
  address 192.168.21.3
  netmask 255.255.255.248
  pointopoint 192.168.21.2
  pre-up iptunnel add tun1 mode gre local EXT_TENDO_IP remote EXT_CLIENT_IP ttl 255
  mtu 1500

  [BGP router configuration]

  router bgp 65110
  bgp router-id 88.216.164.2
  bgp network import-check
  network 88.216.164.0/22
  neighbor 192.168.21.1 remote-as 65006
  neighbor 192.168.21.1 description RR1
  neighbor 192.168.21.1 soft-reconfiguration inbound
  neighbor 192.168.21.2 remote-as 65006
  neighbor 192.168.21.2 description RR2
  neighbor 192.168.21.2 soft-reconfiguration inbound
  !

dynamic tunnel setup

Diagram depicting dynamic (BGP) setup .