Site dedicated mainly to internetworking. The goal is to share experiences, teach IP, IPv6. Talk about Linux, IP services, servers, promote IPv6 adoption, routing protocols, security and in some cases just some thoughts. Keywords: linux, cisco, ospf, bgp, eigrp, ip, ipv6, sla, link, routers, routings, telco, telecommunications, security, ipv4
Wednesday, March 30, 2016
Monday, February 29, 2016
Read a BGP live stream from CAIDA
Objective
Read a BGP live stream from CAIDA and insert them into a BGP session
What do we need
bgpreader from the bgpstream core package provided by Caida
bgp_simple.pl obtained in github
Overview
We will read the BGP live stream feed using bgpreader, then the standard output of it will be redirected to a pipe file (mkfifo) where a perl script called bgpsimple will be reading this file. This very same script will established the BGP session against a BGP speaker and announce the prefixes received in the stream.
LAB Topology
The configuration was already tested in Cisco & Quagga
The BGP Speaker (Cisco/Quagga) has the IPv4 address 192.168.1.1
The BGP Simple Linux box has the IP 192.168.1.2
How does it works?
bgpreader has the ability to write his output in the -m format used by libbgpdump (by RIPENCC), this is the very same format bgpsimple uses as stdin. That's why myroutes is a PIPE file (created with mkfifo).
Steps:
INSTALL BGP READER - UBUNTU 15.04
First install general some packages:
apt-get install apt-file libsqlite3-dev libsqlite3 libmysqlclient-dev libmysqlclient
apt-get install libcurl-dev libcurl autoconf git libssl-dev
apt-get install build-essential zlib1g-dev libbz2-dev
apt-get install libtool git
apt-get install zlib1g-dev
Also intall wandio
wandio-1.0.3
git clone https://github.com/alistairking/wandio
./configure
cd wandio
./bootstrap.sh
./configure && ./make && ./make install
wandiocat http://www.apple.com/library/test/success.html
to test wandio:
wandiocat http://www.apple.com/library/test/success.html
Download bgp reader tarball from:
https://bgpstream.caida.org/download
#ldconfig (before testing)
#mkfifo myroutes
to test bgpreader:
./bgpreader -p caida-bmp -w 1453912260 -m
(wait some seconds and then you will see something)
# git clone https://github.com/xdel/bgpsimple
Finally run everything
In two separate terminals (or any other way you would like to do it):
./bgpreader -p caida-bmp -w 1453912260 -m > /usr/src/bgpsimple/myroutes
./bgp_simple.pl -myas 65000 -myip 192.168.1.2 -peerip 192.168.1.1 -peeras 65000 -p myroutes
One more time, what will happen behind this?
bgpreader will read an online feed from a project called caida-bmp with starting timestamp 1453912260 (Jan 27 2016, 16:31) in "-m" format, It means a libbgpdump format (see references). The stardard output of all this will be send to the file /usr/src/bgpsimple/myroutes which is a "pipe file". At the same time, bgp_simple.pl will create an iBGP session againts peer 192.168.1.1/AS65000 (a bgp speaker such as Quagga or Cisco). bgp_simple.pl will read myroutes files and send what it seems in this file thru the iBGP Session.
Important information
- The BGP Session won't be established until there is something in the file myroutes
- eBGP multi-hop session are allowed
- You have to wait short time (few seconds) until bgpreaders start to actually see something and bgp_simple.pl starts to announce to the BGP peer
References / More information:
-Part of the work was based on:
http://evilrouters.net/2009/08/21/getting-bgp-routes-into-dynamips-with-video/
- Caida BGP Stream:
https://bgpstream.caida.org/
- bgpreader info:
https://bgpstream.caida.org/docs/tools/bgpreader
- RIPE NCC libbgpdump:
http://www.ris.ripe.net/source/bgpdump/
- Introduction of "Named Pipes" (pipe files in Linux):
http://www.linuxjournal.com/article/2156
Read a BGP live stream from CAIDA and insert them into a BGP session
What do we need
bgpreader from the bgpstream core package provided by Caida
bgp_simple.pl obtained in github
Overview
We will read the BGP live stream feed using bgpreader, then the standard output of it will be redirected to a pipe file (mkfifo) where a perl script called bgpsimple will be reading this file. This very same script will established the BGP session against a BGP speaker and announce the prefixes received in the stream.
LAB Topology
The configuration was already tested in Cisco & Quagga
The BGP Speaker (Cisco/Quagga) has the IPv4 address 192.168.1.1
The BGP Simple Linux box has the IP 192.168.1.2
How does it works?
bgpreader has the ability to write his output in the -m format used by libbgpdump (by RIPENCC), this is the very same format bgpsimple uses as stdin. That's why myroutes is a PIPE file (created with mkfifo).
Steps:
INSTALL BGP READER - UBUNTU 15.04
First install general some packages:
apt-get install apt-file libsqlite3-dev libsqlite3 libmysqlclient-dev libmysqlclient
apt-get install libcurl-dev libcurl autoconf git libssl-dev
apt-get install build-essential zlib1g-dev libbz2-dev
apt-get install libtool git
apt-get install zlib1g-dev
Also intall wandio
wandio-1.0.3
git clone https://github.com/alistairking/wandio
./configure
cd wandio
./bootstrap.sh
./configure && ./make && ./make install
wandiocat http://www.apple.com/library/test/success.html
to test wandio:
wandiocat http://www.apple.com/library/test/success.html
Download bgp reader tarball from:
https://bgpstream.caida.org/download
#ldconfig (before testing)
#mkfifo myroutes
to test bgpreader:
./bgpreader -p caida-bmp -w 1453912260 -m
(wait some seconds and then you will see something)
# git clone https://github.com/xdel/bgpsimple
Finally run everything
In two separate terminals (or any other way you would like to do it):
./bgpreader -p caida-bmp -w 1453912260 -m > /usr/src/bgpsimple/myroutes
./bgp_simple.pl -myas 65000 -myip 192.168.1.2 -peerip 192.168.1.1 -peeras 65000 -p myroutes
One more time, what will happen behind this?
bgpreader will read an online feed from a project called caida-bmp with starting timestamp 1453912260 (Jan 27 2016, 16:31) in "-m" format, It means a libbgpdump format (see references). The stardard output of all this will be send to the file /usr/src/bgpsimple/myroutes which is a "pipe file". At the same time, bgp_simple.pl will create an iBGP session againts peer 192.168.1.1/AS65000 (a bgp speaker such as Quagga or Cisco). bgp_simple.pl will read myroutes files and send what it seems in this file thru the iBGP Session.
Important information
- The BGP Session won't be established until there is something in the file myroutes
- eBGP multi-hop session are allowed
- You have to wait short time (few seconds) until bgpreaders start to actually see something and bgp_simple.pl starts to announce to the BGP peer
References / More information:
-Part of the work was based on:
http://evilrouters.net/2009/08/21/getting-bgp-routes-into-dynamips-with-video/
- Caida BGP Stream:
https://bgpstream.caida.org/
- bgpreader info:
https://bgpstream.caida.org/docs/tools/bgpreader
- RIPE NCC libbgpdump:
http://www.ris.ripe.net/source/bgpdump/
- Introduction of "Named Pipes" (pipe files in Linux):
http://www.linuxjournal.com/article/2156
Wednesday, February 17, 2016
Animation: The sad tale of the ISP that did not deploy IPv6
Hello,
The following animation is based on the story called: "The sad tale of the ISP that didn't deploy IPv6" [1]. Hope you enjoy it:
[1] http://portalipv6.lacnic.net/en/the-sad-tale-of-the-isp-that-didnt-deploy-ipv6/
Friday, January 1, 2016
Virtualbox in Windows. Bridge adapter + IPv6 not working
Introduction:
When trying to use IPv6 in Virtualbox inside a guest where the adapter is bridge to the wireless interface of the host, the VM does SLAAC correctly but HTTP or ping6 does not work.
Solution:
To solve this issue just reinstall/repair your current Virtualbox instalattion (version 5) adding the following parameters to the installer: "-Win.exe -msiparams NETWORKTYPE=NDIS5"
The result would be something like:
G:\>VirtualBox-5.0.12-104815-Win.exe -msiparams NETWORKTYPE=NDIS5
So, you cannot double click on the installer, you need to do it from command line with admin privileges.
Workaround:
The problem is only with the bridging to the wireless adapter, you, if possible, you could bridge to a non-wireless interface and IPv6 should work perfectly.
References:
https://www.virtualbox.org/ticket/14457
Good luck,
When trying to use IPv6 in Virtualbox inside a guest where the adapter is bridge to the wireless interface of the host, the VM does SLAAC correctly but HTTP or ping6 does not work.
Solution:
To solve this issue just reinstall/repair your current Virtualbox instalattion (version 5) adding the following parameters to the installer: "-Win.exe -msiparams NETWORKTYPE=NDIS5"
The result would be something like:
G:\>VirtualBox-5.0.12-104815-Win.exe -msiparams NETWORKTYPE=NDIS5
So, you cannot double click on the installer, you need to do it from command line with admin privileges.
Workaround:
The problem is only with the bridging to the wireless adapter, you, if possible, you could bridge to a non-wireless interface and IPv6 should work perfectly.
References:
https://www.virtualbox.org/ticket/14457
Good luck,
Subscribe to:
Posts (Atom)