User Tools

Site Tools


Sidebar

how_route_lacnic_ipv4_block_with_oneprovider

This is an old revision of the document!


You need have public IPv4 for the tunnel type in this howto. One server with BGP session options and talk to oneprovider to enable the option (it's not free, the price is on demand, here +50€/month).

Our ASN for the exemple is ASN 266671, announced route is: 45.225.75.0/24, oneprovider ASN is 61272

Here we use limited MTU to work over PPP (GPON)

PS: 00:22:4d:a4:3b:51 from I receive my trafic (MITAC INTERNATIONAL CORP.)

Please add a route object from your LACNIC account pointing your range to your ASN 266671.

/etc/quagga/zebra.conf
!
! Zebra configuration saved from vty
!   2017/12/17 00:41:25
!
hostname XXXX
password XXXXXXXX
log file /var/log/bgpd.log
log stdout
!
line vty
!
/etc/quagga/bgpd.conf
!
! Zebra configuration saved from vty
!   2017/12/17 00:41:25
!
hostname XXXXXXXXXXXX
password XXXXXXXXXXXX
log file /var/log/bgpd.log
log stdout
!
router bgp 266671
 bgp router-id 185.64.105.21
 neighbor 185.64.105.1 remote-as 61272
!
 network 45.225.75.0/24
 neighbor 185.64.105.1 activate
 exit
!
line vty
!
command
echo '' > /var/log/bgpd.log
mkdir -p /run/quagga
chown quagga.quagga /run/quagga /var/log/bgpd.log
/usr/sbin/zebra --daemon -A 127.0.0.1 -g quagga -u quagga -f /etc/quagga/zebra.conf
sleep 20
/usr/sbin/bgpd --daemon -A 127.0.0.1 -g quagga -u quagga -f /etc/quagga/bgpd.conf
check BGP
  • vtysh
  • show ip bgp summary
    • Should show:
BGP router identifier 185.64.105.21, local AS number 266671
RIB entries 4, using 448 bytes of memory
Peers 1, using 9088 bytes of memory
Neighbor        V         AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
185.64.105.1    4 61272       8       9        0    0    0 00:04:22        2
Total number of neighbors 1
Setup the tunnel from oneprovider to confiared
/sbin/modprobe ipip
/sbin/ip tu ad confiared mode ipip local 185.64.105.21 remote 190.186.245.10 ttl 64 dev eth0
/sbin/ip ad ad dev confiared 10.0.0.1 peer 10.0.0.2/32
/sbin/ip li se dev confiared up
/sbin/ip link set dev confiared mtu 1280
/bin/ping 10.0.0.2 &
/sbin/ip ro ad 45.225.75.0/24 via 10.0.0.2
service script
#! /bin/sh
### BEGIN INIT INFO
# Provides:         uptunnel
# Required-Start:    $remote_fs $time
# Required-Stop:     umountnfs $time
# X-Stop-After:      sendsigs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: up tunnel
# Description:       up tunnel
## END INIT INFO

#
# Author: BRULE Herman Jacques Roger <alpha_one_x86@first-world.info>
#

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="up tunnel"
NAME=uptunnel

uptunnel=uptunnel
DAEMON=/root/up-tunnel.sh
PIDFILE=/var/run/uptunnel.pid

SCRIPTNAME=/etc/init.d/$NAME
# Define LSB log_* functions.
. /lib/lsb/init-functions

case "$1" in
  start)
        log_daemon_msg "Starting $DESC" "$uptunnel"
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON

        ;;
  stop)
        log_daemon_msg "Stopping $DESC" "$uptunnel"
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --exec $DAEMON

        ;;
  restart|force-reload)
        $0 stop
        $0 start
        ;;
  try-restart)
        $0 status >/dev/null 2>&1 && $0 restart
        ;;
  status)
        status_of_proc -p $PIDFILE $DAEMON $uptunnel && exit 0 || exit $?
        ;;
  *)
        echo "Usage: $SCRIPTNAME {start|stop|rotate|restart|force-reload|try-restart|status}" >&2
        exit 3
        ;;
esac

:
Setup the tunnel from confiared to oneprovider

Add into /etc/iproute2/rt_tables: 200 confiared

/sbin/modprobe ipip
/bin/ip tu ad oneprovider mode ipip local 190.186.245.10 remote 185.64.105.21 ttl 64 dev eth0
/bin/ip ad ad dev oneprovider 10.0.0.2 peer 10.0.0.1/32
/bin/ip li se dev oneprovider up
/bin/ip link set dev oneprovider mtu 1280
/bin/ping 10.0.0.1 &
# real ISP
/bin/ip ro ad 185.64.105.21/32 via ISPIPv4Gateway
# return gateway
/bin/ip rule add from 45.225.75.0/24 table confiared
/bin/ip route add default via 10.0.0.1 dev oneprovider table confiared
Registring to RIPE

Create a RIPE NCC Access Account

Create a RIPE NCC Access Account: https://access.ripe.net/registration

Create your person/maintainer object in the RIPE Database

Create your person/maintainer object in the RIPE Database: https://apps.db.ripe.net/db-web-ui/#/webupdates/create/person/self ( please note that before you can create your person/maintainer pair you first need to login with your RIPE NCC Access account)

Create your autnum object

Create your autnum object: https://apps.db.ripe.net/db-web-ui/#/webupdates/create/RIPE/aut-num Please fill in the AS number you are going to use for the route object(s), an organisation name, and the nic-handle that you created in your person/maintainer object in the admin-c and the tech-c.

Create your route object

Create your route object: https://apps.db.ripe.net/db-web-ui/#/webupdates/create/RIPE/route Please fill in your prefix and the AS number and submit.

Your route object will now be visible in the RIPE Database.

Please note that we do not control routing configuration and do not have an active role in the configuration of the routers and BGP setting being used.

Entering Route object into the RIPE Database does not automatically mean those routes will be picked up by the providers/networks.

Some networks filter and configure their routers automatically using the RIPE Database Internet Routing registry (IRR). You will need to make sure your routing configuration is set up correctly.

how_route_lacnic_ipv4_block_with_oneprovider.1518872410.txt.gz · Last modified: 2018/02/17 13:00 by admin