<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.initlab.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hackman</id>
	<title>initLab - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.initlab.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hackman"/>
	<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php/Special:Contributions/Hackman"/>
	<updated>2026-05-11T23:20:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.37.2</generator>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=410</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=410"/>
		<updated>2016-03-14T13:14:10Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Commands cheat sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created to help with the [[Workshop/BGP|bgp workshop]] that is organized in the lab.&lt;br /&gt;
= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols                    - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2             - get the status information for protocol bgp_up2&lt;br /&gt;
 show protocol all bgp_up2         - get full status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2         - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route all export bgp_up2     - list all exported networks to peer bgp_up2 and their additional parameters&lt;br /&gt;
 show route for 185.117.82.104     - get the routes for 185.117.82.104&lt;br /&gt;
 show route all for 185.117.82.104 - get the routes for 185.117.82.104 and its path info&lt;br /&gt;
 show route filtered               - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2       - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
 show memory                       - get the memory usage of Bird&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show ip bgp neighbors   - list all configured neighbors and full information about them&lt;br /&gt;
 show ip prefix-list     - list all prefix lists&lt;br /&gt;
 show memory             - get a memory usage info&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
= iproute2 commands =&lt;br /&gt;
* Add a VLAN 111 to eth0&lt;br /&gt;
 # ip link add link eth0 name eth0.111 type vlan id 111 &lt;br /&gt;
* Bring a device UP&lt;br /&gt;
 # ip link set up dev eth0&lt;br /&gt;
* Bring a device DOWN&lt;br /&gt;
 # ip link set down dev eth0&lt;br /&gt;
* Check the route to a destination&lt;br /&gt;
 # ip route get 8.8.8.8&lt;br /&gt;
* Create a new virtual ethernet pair. Useful for communication with containers.&lt;br /&gt;
 # ip link add veth0 type veth peer name veth1&lt;br /&gt;
* Create a new network namespace called '''bgp'''&lt;br /&gt;
 # ip netns add bgp&lt;br /&gt;
* Move device '''veth1''' into network namespace '''bgp'''&lt;br /&gt;
 # ip link set veth1 netns bgp&lt;br /&gt;
* Execute a command inside netns '''bgp'''. Its easiest if the command is a shell&lt;br /&gt;
 # ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=409</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=409"/>
		<updated>2016-03-13T22:48:26Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Задачи */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /64 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
== Задачи ==&lt;br /&gt;
* Setup upstream1 &amp;amp; upstream2&lt;br /&gt;
## Add vlans for both upstreams&lt;br /&gt;
## Add IPv4 /30 configuration. On your machine the IP ends with .2, the neighbor is with .1&lt;br /&gt;
## Add IPv6 /120 configuration. On your machine the IP ends with .2, the neighbor is with .1&lt;br /&gt;
## Setup BGP sessions with both upstreams&lt;br /&gt;
## Create filters for your own /29 netwok (185.117.82.xxx/29). You should export only your directly connected prefixes to your upstreams and you should accept everything except your own prefixes.&lt;br /&gt;
* Setup ix1 &amp;amp; ix2&lt;br /&gt;
## Add vlan 400&lt;br /&gt;
## Add your IPv4 IX ip 10.128.0.USER_NUM /24&lt;br /&gt;
## Add your IPv6 IX ip 2001:67c:21bc:5::USER_NUM /64&lt;br /&gt;
## Setup BGP sessions with both IX nodes&lt;br /&gt;
## Create filter for your own /29 network (185.117.82.xxx/29). You should export all 185.117.82.xxx/29 prefixes to the IX peers and accept all 185.117.82.xxx/29 prefixes from the IX peers&lt;br /&gt;
* Peer with your peers&lt;br /&gt;
** each USER has two VLANs trough which he can access two peers. If you are USER_NUM 11, then your VLANs would be 110(left peer) and 111(right peer)&lt;br /&gt;
*# choose an IP range with your peers. Do not use the same range for different peers.&lt;br /&gt;
*# configure the agreed addresses with your peers&lt;br /&gt;
*# configure the new BGP sessions with your peers&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 02.04.2016 ==&lt;br /&gt;
# HackMan - laptop Xubuntu (Bird + Quagga)&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[Workshop/BGP-configs#Bird|Bird related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Quagga|Quagga related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Client_container|Client container]]&lt;br /&gt;
* [[Workshop/BGP-configs#iproute2_commands|Basic iproute2 commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=408</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=408"/>
		<updated>2016-03-13T22:45:51Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Протичане */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /64 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
== Задачи ==&lt;br /&gt;
# Setup upstream1 &amp;amp; upstream2&lt;br /&gt;
## Add vlans for both upstreams&lt;br /&gt;
## Add IPv4 /30 configuration. On your machine the IP ends with .2, the neighbor is with .1&lt;br /&gt;
## Add IPv6 /120 configuration. On your machine the IP ends with .2, the neighbor is with .1&lt;br /&gt;
## Setup BGP sessions with both upstreams&lt;br /&gt;
## Create filters for your own /29 netwok (185.117.82.xxx/29). You should export only your directly connected prefixes to your upstreams and you should accept everything except your own prefixes.&lt;br /&gt;
# Setup ix1 &amp;amp; ix2&lt;br /&gt;
## Add vlan 400&lt;br /&gt;
## Add your IPv4 IX ip 10.128.0.USER_NUM /24&lt;br /&gt;
## Add your IPv6 IX ip 2001:67c:21bc:5::USER_NUM /64&lt;br /&gt;
## Setup BGP sessions with both IX nodes&lt;br /&gt;
## Create filter for your own /29 network (185.117.82.xxx/29). You should export all 185.117.82.xxx/29 prefixes to the IX peers and accept all 185.117.82.xxx/29 prefixes from the IX peers&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 02.04.2016 ==&lt;br /&gt;
# HackMan - laptop Xubuntu (Bird + Quagga)&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[Workshop/BGP-configs#Bird|Bird related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Quagga|Quagga related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Client_container|Client container]]&lt;br /&gt;
* [[Workshop/BGP-configs#iproute2_commands|Basic iproute2 commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=407</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=407"/>
		<updated>2016-03-13T22:35:00Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Участници */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /64 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 02.04.2016 ==&lt;br /&gt;
# HackMan - laptop Xubuntu (Bird + Quagga)&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[Workshop/BGP-configs#Bird|Bird related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Quagga|Quagga related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Client_container|Client container]]&lt;br /&gt;
* [[Workshop/BGP-configs#iproute2_commands|Basic iproute2 commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=406</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=406"/>
		<updated>2016-03-13T22:33:42Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Какво даваме */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /64 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[Workshop/BGP-configs#Bird|Bird related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Quagga|Quagga related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Client_container|Client container]]&lt;br /&gt;
* [[Workshop/BGP-configs#iproute2_commands|Basic iproute2 commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=405</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=405"/>
		<updated>2016-03-13T22:33:02Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Bird */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is created to help with the [[Workshop/BGP|bgp workshop]] that is organized in the lab.&lt;br /&gt;
= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols                - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2         - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2     - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered           - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2   - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
 show memory                   - get the memory usage of Bird&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show ip bgp neighbors   - list all configured neighbors and full information about them&lt;br /&gt;
 show ip prefix-list     - list all prefix lists&lt;br /&gt;
 show memory             - get a memory usage info&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
= iproute2 commands =&lt;br /&gt;
* Add a VLAN 111 to eth0&lt;br /&gt;
 # ip link add link eth0 name eth0.111 type vlan id 111 &lt;br /&gt;
* Bring a device UP&lt;br /&gt;
 # ip link set up dev eth0&lt;br /&gt;
* Bring a device DOWN&lt;br /&gt;
 # ip link set down dev eth0&lt;br /&gt;
* Check the route to a destination&lt;br /&gt;
 # ip route get 8.8.8.8&lt;br /&gt;
* Create a new virtual ethernet pair. Useful for communication with containers.&lt;br /&gt;
 # ip link add veth0 type veth peer name veth1&lt;br /&gt;
* Create a new network namespace called '''bgp'''&lt;br /&gt;
 # ip netns add bgp&lt;br /&gt;
* Move device '''veth1''' into network namespace '''bgp'''&lt;br /&gt;
 # ip link set veth1 netns bgp&lt;br /&gt;
* Execute a command inside netns '''bgp'''. Its easiest if the command is a shell&lt;br /&gt;
 # ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=404</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=404"/>
		<updated>2016-03-13T22:30:56Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Commands cheat sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols                - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2         - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2     - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered           - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2   - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
 show memory                   - get the memory usage of Bird&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show ip bgp neighbors   - list all configured neighbors and full information about them&lt;br /&gt;
 show ip prefix-list     - list all prefix lists&lt;br /&gt;
 show memory             - get a memory usage info&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
= iproute2 commands =&lt;br /&gt;
* Add a VLAN 111 to eth0&lt;br /&gt;
 # ip link add link eth0 name eth0.111 type vlan id 111 &lt;br /&gt;
* Bring a device UP&lt;br /&gt;
 # ip link set up dev eth0&lt;br /&gt;
* Bring a device DOWN&lt;br /&gt;
 # ip link set down dev eth0&lt;br /&gt;
* Check the route to a destination&lt;br /&gt;
 # ip route get 8.8.8.8&lt;br /&gt;
* Create a new virtual ethernet pair. Useful for communication with containers.&lt;br /&gt;
 # ip link add veth0 type veth peer name veth1&lt;br /&gt;
* Create a new network namespace called '''bgp'''&lt;br /&gt;
 # ip netns add bgp&lt;br /&gt;
* Move device '''veth1''' into network namespace '''bgp'''&lt;br /&gt;
 # ip link set veth1 netns bgp&lt;br /&gt;
* Execute a command inside netns '''bgp'''. Its easiest if the command is a shell&lt;br /&gt;
 # ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=403</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=403"/>
		<updated>2016-03-13T22:30:08Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Commands cheat sheet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show ip bgp neighbors   - list all configured neighbors and full information about them&lt;br /&gt;
 show ip prefix-list     - list all prefix lists&lt;br /&gt;
 show memory             - get a memory usage info&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
= iproute2 commands =&lt;br /&gt;
* Add a VLAN 111 to eth0&lt;br /&gt;
 # ip link add link eth0 name eth0.111 type vlan id 111 &lt;br /&gt;
* Bring a device UP&lt;br /&gt;
 # ip link set up dev eth0&lt;br /&gt;
* Bring a device DOWN&lt;br /&gt;
 # ip link set down dev eth0&lt;br /&gt;
* Check the route to a destination&lt;br /&gt;
 # ip route get 8.8.8.8&lt;br /&gt;
* Create a new virtual ethernet pair. Useful for communication with containers.&lt;br /&gt;
 # ip link add veth0 type veth peer name veth1&lt;br /&gt;
* Create a new network namespace called '''bgp'''&lt;br /&gt;
 # ip netns add bgp&lt;br /&gt;
* Move device '''veth1''' into network namespace '''bgp'''&lt;br /&gt;
 # ip link set veth1 netns bgp&lt;br /&gt;
* Execute a command inside netns '''bgp'''. Its easiest if the command is a shell&lt;br /&gt;
 # ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=402</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=402"/>
		<updated>2016-03-13T22:29:24Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* prefix lists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show ip bgp neighbors - list all configured neighbors and full information about them&lt;br /&gt;
 show ip prefix-list - list all prefix lists&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
= iproute2 commands =&lt;br /&gt;
* Add a VLAN 111 to eth0&lt;br /&gt;
 # ip link add link eth0 name eth0.111 type vlan id 111 &lt;br /&gt;
* Bring a device UP&lt;br /&gt;
 # ip link set up dev eth0&lt;br /&gt;
* Bring a device DOWN&lt;br /&gt;
 # ip link set down dev eth0&lt;br /&gt;
* Check the route to a destination&lt;br /&gt;
 # ip route get 8.8.8.8&lt;br /&gt;
* Create a new virtual ethernet pair. Useful for communication with containers.&lt;br /&gt;
 # ip link add veth0 type veth peer name veth1&lt;br /&gt;
* Create a new network namespace called '''bgp'''&lt;br /&gt;
 # ip netns add bgp&lt;br /&gt;
* Move device '''veth1''' into network namespace '''bgp'''&lt;br /&gt;
 # ip link set veth1 netns bgp&lt;br /&gt;
* Execute a command inside netns '''bgp'''. Its easiest if the command is a shell&lt;br /&gt;
 # ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=401</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=401"/>
		<updated>2016-03-13T22:20:25Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /62 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[Workshop/BGP-configs#Bird|Bird related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Quagga|Quagga related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Client_container|Client container]]&lt;br /&gt;
* [[Workshop/BGP-configs#iproute2_commands|Basic iproute2 commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=400</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=400"/>
		<updated>2016-03-13T22:20:05Z</updated>

		<summary type="html">&lt;p&gt;Hackman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
= iproute2 commands =&lt;br /&gt;
* Add a VLAN 111 to eth0&lt;br /&gt;
 # ip link add link eth0 name eth0.111 type vlan id 111 &lt;br /&gt;
* Bring a device UP&lt;br /&gt;
 # ip link set up dev eth0&lt;br /&gt;
* Bring a device DOWN&lt;br /&gt;
 # ip link set down dev eth0&lt;br /&gt;
* Check the route to a destination&lt;br /&gt;
 # ip route get 8.8.8.8&lt;br /&gt;
* Create a new virtual ethernet pair. Useful for communication with containers.&lt;br /&gt;
 # ip link add veth0 type veth peer name veth1&lt;br /&gt;
* Create a new network namespace called '''bgp'''&lt;br /&gt;
 # ip netns add bgp&lt;br /&gt;
* Move device '''veth1''' into network namespace '''bgp'''&lt;br /&gt;
 # ip link set veth1 netns bgp&lt;br /&gt;
* Execute a command inside netns '''bgp'''. Its easiest if the command is a shell&lt;br /&gt;
 # ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=399</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=399"/>
		<updated>2016-03-13T22:12:26Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* 13.03.2016 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /62 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Configuration = &lt;br /&gt;
* [[Workshop/BGP-configs#Bird|Bird related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Quagga|Quagga related settings]]&lt;br /&gt;
* [[Workshop/BGP-configs#Client_container|Client container]]&lt;br /&gt;
* [[Workshop/BGP-configs#iproute2|iproute2 commands]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=398</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=398"/>
		<updated>2016-03-13T22:09:09Z</updated>

		<summary type="html">&lt;p&gt;Hackman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors configuration ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=397</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=397"/>
		<updated>2016-03-13T22:08:40Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* basic configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
 router bgp 65011&lt;br /&gt;
  bgp router-id 185.117.82.113&lt;br /&gt;
  bgp log-neighbor-changes&lt;br /&gt;
  bgp graceful-restart&lt;br /&gt;
  network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=396</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=396"/>
		<updated>2016-03-13T22:08:21Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* prefix lists */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
router bgp 65011&lt;br /&gt;
 bgp router-id 185.117.82.113&lt;br /&gt;
 bgp log-neighbor-changes&lt;br /&gt;
 bgp graceful-restart&lt;br /&gt;
 network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
allow all prefixes except the one I'm advertising&lt;br /&gt;
 ip prefix-list in_filter seq 1 deny 185.117.82.112/29&lt;br /&gt;
 ip prefix-list in_filter seq 10 permit any&lt;br /&gt;
Export only my directly connected prefix&lt;br /&gt;
 ip prefix-list out_filter seq 1 permit 185.117.82.112/29&lt;br /&gt;
 ip prefix-list out_filter seq 10 deny any&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=395</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=395"/>
		<updated>2016-03-13T22:06:00Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* neighbors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
router bgp 65011&lt;br /&gt;
 bgp router-id 185.117.82.113&lt;br /&gt;
 bgp log-neighbor-changes&lt;br /&gt;
 bgp graceful-restart&lt;br /&gt;
 network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors ==&lt;br /&gt;
 neighbor 10.125.11.1 remote-as 65535&lt;br /&gt;
 neighbor 10.125.11.1 description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;&lt;br /&gt;
 neighbor 10.125.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.125.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.125.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
 neighbor 10.126.11.1 remote-as 59851&lt;br /&gt;
 neighbor 10.126.11.1 description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;&lt;br /&gt;
 neighbor 10.126.11.1 update-source 10.125.11.2&lt;br /&gt;
 neighbor 10.126.11.1 soft-reconfiguration inbound&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list in_filter in&lt;br /&gt;
 neighbor 10.126.11.1 prefix-list out_filter out&lt;br /&gt;
&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=394</id>
		<title>Workshop/BGP-configs</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP-configs&amp;diff=394"/>
		<updated>2016-03-13T22:02:57Z</updated>

		<summary type="html">&lt;p&gt;Hackman: Created page with &amp;quot;= Bird = == basic configuration == Enable the direct protocol. This will make Bird to learn all of your directly attached routes.  protocol direct {         export all;  } In...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Bird =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
Enable the direct protocol. This will make Bird to learn all of your directly attached routes.&lt;br /&gt;
 protocol direct {&lt;br /&gt;
        export all;&lt;br /&gt;
 }&lt;br /&gt;
In the kernel protocol, uncomment the following line:&lt;br /&gt;
 #     learn;   # Learn all alien routes from the kernel&lt;br /&gt;
== filter configuration ==&lt;br /&gt;
 filter in_filter {&lt;br /&gt;
        # do not accept routes for our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then reject;&lt;br /&gt;
        accept;&lt;br /&gt;
 }&lt;br /&gt;
 filter out_filter {&lt;br /&gt;
        # do not export anything that is not our directly connected network&lt;br /&gt;
        if ( net = 185.117.82.112/29 ) then accept;&lt;br /&gt;
        reject;&lt;br /&gt;
 }&lt;br /&gt;
== bgp template ==&lt;br /&gt;
 template bgp PEERS {&lt;br /&gt;
        debug { states, events };&lt;br /&gt;
        local as myas;&lt;br /&gt;
        startup hold time 0;&lt;br /&gt;
        import keep filtered;  # keep filtered routes in bird, so you can see it in: show route filtered&lt;br /&gt;
        import filter in_filter;&lt;br /&gt;
        export filter out_filter;&lt;br /&gt;
        gateway direct;&lt;br /&gt;
 }&lt;br /&gt;
== neighbor configuration ==&lt;br /&gt;
 protocol bgp bgp_up1 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 1 (cassie) via eth0.111&amp;quot;;&lt;br /&gt;
        neighbor 10.125.11.1 as 65535;&lt;br /&gt;
        source address 10.125.11.2;&lt;br /&gt;
 }&lt;br /&gt;
 protocol bgp bgp_up2 from lab {&lt;br /&gt;
        description &amp;quot;Upstream 2 (beta) via eth0.211&amp;quot;;&lt;br /&gt;
        neighbor 10.126.11.1 as 59851;&lt;br /&gt;
        source address 10.126.11.2;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
== Commands cheat sheet ==&lt;br /&gt;
 show protocols - list all configured protocols&lt;br /&gt;
 show protocol bgp_up2 - get the status information for protocol bgp_up2&lt;br /&gt;
 show route export bgp_up2 - list all exported networks to peer bgp_up2&lt;br /&gt;
 show route for 185.117.82.104 - get the routes for 185.117.82.104&lt;br /&gt;
 show route filtered - list all prefixes that are filtered &lt;br /&gt;
 show route protocol bgp_up2 - list all prefixes that you receive from peer bgp_up2&lt;br /&gt;
&lt;br /&gt;
= Quagga =&lt;br /&gt;
== basic configuration ==&lt;br /&gt;
router bgp 65011&lt;br /&gt;
 bgp router-id 185.117.82.113&lt;br /&gt;
 bgp log-neighbor-changes&lt;br /&gt;
 bgp graceful-restart&lt;br /&gt;
 network 185.117.82.112/29&lt;br /&gt;
&lt;br /&gt;
== neighbors ==&lt;br /&gt;
== prefix lists ==&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=393</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=393"/>
		<updated>2016-03-13T21:52:41Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* Client container */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /62 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=392</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=392"/>
		<updated>2016-03-13T10:45:45Z</updated>

		<summary type="html">&lt;p&gt;Hackman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /62 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 sysctl net.ipv4.ip_forward=1&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=391</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=391"/>
		<updated>2016-03-13T10:44:36Z</updated>

		<summary type="html">&lt;p&gt;Hackman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /62 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство (RPi, лаптоп)&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
# Петър Христов - laptop&lt;br /&gt;
&lt;br /&gt;
= Client container = &lt;br /&gt;
&lt;br /&gt;
 ip netns add bgp&lt;br /&gt;
 ip link add veth0 type veth peer name veth1&lt;br /&gt;
 ip link set veth1 netns bgp&lt;br /&gt;
 ip netns exec bgp /bin/bash&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
	<entry>
		<id>https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=388</id>
		<title>Workshop/BGP</title>
		<link rel="alternate" type="text/html" href="https://wiki.initlab.org/index.php?title=Workshop/BGP&amp;diff=388"/>
		<updated>2016-03-07T13:41:27Z</updated>

		<summary type="html">&lt;p&gt;Hackman: /* 13.03.2016 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;''' BGP Workshop '''&lt;br /&gt;
&lt;br /&gt;
= Цел =&lt;br /&gt;
&lt;br /&gt;
Целта на workshop-а е хората да се научат да подкарват BGP и основни неща около него. Ще научим:&lt;br /&gt;
&lt;br /&gt;
* Как се пуска bgp с upstream, peer и exchange;&lt;br /&gt;
* Как и защо се филтрират пътища&lt;br /&gt;
* Как правилно да си анонсираме собствените мрежи към света.&lt;br /&gt;
&lt;br /&gt;
Може да свалите да видите [https://vasil.ludost.net/initlab/bgp-workshop.pdf примерната схема на мрежата].&lt;br /&gt;
&lt;br /&gt;
= Записване =&lt;br /&gt;
&lt;br /&gt;
Пишете на vasil(at)ludost(dot)net или на Мариян Маринов. Трябва да сте записани в тази страница, за да знаем, че ще участвате и с какво.&lt;br /&gt;
&lt;br /&gt;
= Setup =&lt;br /&gt;
&lt;br /&gt;
== Каквo ви трябва ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник трябва да има едно устройство, което да има ethernet порт, да поддържа vlan-и и да може да пусне BGP. Вършат работа laptop-и, raspberry PI-та и тихи сървъри.&lt;br /&gt;
&lt;br /&gt;
== Наличен хардуер ==&lt;br /&gt;
&lt;br /&gt;
Също така организаторите могат да осигурят за желаещите:&lt;br /&gt;
* 2 бр. cisco 2600&lt;br /&gt;
* 2 бр. pvx (малки сървъри с 512mb памет)&lt;br /&gt;
* няколко flash-ки с linux с bird/quagga&lt;br /&gt;
&lt;br /&gt;
== Какво даваме ==&lt;br /&gt;
&lt;br /&gt;
На всеки участник се дава:&lt;br /&gt;
* автономна система&lt;br /&gt;
* /29 IPv4 адреси&lt;br /&gt;
* /62 ipv6 адреси&lt;br /&gt;
* един ethernbet порт с няколко VLAN-а на него:&lt;br /&gt;
** vlan-и uplink1, uplink2&lt;br /&gt;
** vlan-и peer1, peer2&lt;br /&gt;
** vlan LIX (lab internet exchange)&lt;br /&gt;
&lt;br /&gt;
== Типове peer-и ==&lt;br /&gt;
&lt;br /&gt;
Всеки участник ще трябва да настрои:&lt;br /&gt;
* 2 сесии с upstream доставчици&lt;br /&gt;
* 2 сесии с peer-и (съседи)&lt;br /&gt;
* 1 сесия с internet exchange&lt;br /&gt;
&lt;br /&gt;
= Типове peer-и =&lt;br /&gt;
&lt;br /&gt;
== Upstream ==&lt;br /&gt;
&lt;br /&gt;
Това е интернет доставчик, който ви дава свързаност (транзит) към целия internet. Към него се анонсират вашите собствени мрежи. Oт него се приема всичко, на по-нисък приоритет от останалите, без вашите собствени мрежи.&lt;br /&gt;
&lt;br /&gt;
== Peer ==&lt;br /&gt;
&lt;br /&gt;
Това е ваш съсед, с който имате пряка връзка и обменяте трафик за вашите мрежи, по желание и трафик до други ваши peer-и (или ако имате такова споразумение, транзит до internet в специфични случаи). По принцип трябва да приемате само пътищата, за които сте се разбрали, и те трябва да имат най-висок приоритет (peer връзките се водят най-евтини).&lt;br /&gt;
&lt;br /&gt;
== Exchange ==&lt;br /&gt;
&lt;br /&gt;
Exchange може да се обясни най-просто като VLAN, в който се виждат всички участници, и един route server, през който обменят пътища. Към exchange се announce-ват само собствените мрежи, а приоритетът на получените пътища е м/у този на peer-ите и този на upstream-ите.&lt;br /&gt;
&lt;br /&gt;
= Протичане =&lt;br /&gt;
&lt;br /&gt;
* Идване&lt;br /&gt;
* Setup на крайните станции&lt;br /&gt;
* Малко обяснения&lt;br /&gt;
* config-ване докато ни писне&lt;br /&gt;
&lt;br /&gt;
= Информационен лист =&lt;br /&gt;
&lt;br /&gt;
Всеки ще получи лист на който ще са описани:&lt;br /&gt;
* неговите prefix-и&lt;br /&gt;
* неговата AS&lt;br /&gt;
* информация за неговите PEERS&lt;br /&gt;
* peering&lt;br /&gt;
* upstream-и&lt;br /&gt;
* LIX&lt;br /&gt;
&lt;br /&gt;
= Участници =&lt;br /&gt;
&lt;br /&gt;
== 13.03.2016 ==&lt;br /&gt;
&lt;br /&gt;
# Недко - ще си носи olinuxino&lt;br /&gt;
# Slackware - ще си носи устройство&lt;br /&gt;
# dragast - един стар dell, който виси в лаба&lt;br /&gt;
# eniac_petrov - ще си носи лаптоп&lt;br /&gt;
# Атанас Владимиров - лаптоп с openbsd/openbgpd&lt;br /&gt;
# kiliev - лаптоп с freebsd/openbgpd&lt;br /&gt;
# Mircho - лаптоп с JunOS VM-и&lt;br /&gt;
# zeridon - лаптоп с arch linux&lt;br /&gt;
# Васил Илиев - собствено устройство&lt;br /&gt;
# Димитър Янакиев - лаптоп&lt;br /&gt;
# Иван Карпов - лаптоп&lt;br /&gt;
# Драго - ще си носи устройство&lt;br /&gt;
# Painkiller - лаптоп&lt;br /&gt;
# Иван Бекяров - лаптоп&lt;br /&gt;
# Ilian Kostandiov - Fortigate &lt;br /&gt;
# Presian Yankulov - Laptop x64 bit, Raspberry Pi2&lt;br /&gt;
# Александър Хайредински - Laptop x64 bit&lt;br /&gt;
&lt;br /&gt;
[[Category:Project]]&lt;/div&gt;</summary>
		<author><name>Hackman</name></author>
	</entry>
</feed>