<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>bridge Archives - Tom Barbette</title>
	<atom:link href="https://perso.uclouvain.be/tom.barbette/tag/bridge/feed/" rel="self" type="application/rss+xml" />
	<link>https://perso.uclouvain.be/tom.barbette/tag/bridge/</link>
	<description></description>
	<lastBuildDate>Thu, 28 Apr 2022 07:21:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://perso.uclouvain.be/tom.barbette/wp-content/uploads/2022/04/cropped-logo-uclouvain-2021-barbette-32x32.png</url>
	<title>bridge Archives - Tom Barbette</title>
	<link>https://perso.uclouvain.be/tom.barbette/tag/bridge/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>VOO in bridge mode with IPv6 (optional: and prefix delegation!)</title>
		<link>https://perso.uclouvain.be/tom.barbette/voo-in-bridge-mode-with-ipv6-optional-and-prefix-delegation/</link>
		
		<dc:creator><![CDATA[Tom Barbette]]></dc:creator>
		<pubDate>Wed, 27 Apr 2022 17:21:00 +0000</pubDate>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[voo]]></category>
		<guid isPermaLink="false">https://www.tombarbette.be/?p=1004</guid>

					<description><![CDATA[<p>Tutorial on configuring a Linux box to do IPv6 prefix delegation from a VOO modem in bridge mode</p>
<p>The post <a href="https://perso.uclouvain.be/tom.barbette/voo-in-bridge-mode-with-ipv6-optional-and-prefix-delegation/">VOO in bridge mode with IPv6 (optional: and prefix delegation!)</a> appeared first on <a href="https://perso.uclouvain.be/tom.barbette">Tom Barbette</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Despite old threads that can be seen on VOO&#8217;s forum, VOO do not seem to use SLAAC in bridge mode (anymore?), but DHCPv6. Also VOO only gives a /64 prefix so you can&#8217;t do internal subnets <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f641.png" alt="🙁" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<p class="wp-block-paragraph"><strong>Important:</strong> my outgoing (WAN) interface directly connected to the VOO modem in bridge mode is <em>enx000ec6ec03b3 </em>. My internal LAN interface is <em>br0 </em>(it&#8217;s a bridge between my actual eth0 LAN interface and a WiFi access point using hostapd, but that&#8217;s for another day).</p>



<p class="wp-block-paragraph">This tutorial assumes Ubuntu 18.04:</p>



<p class="wp-block-paragraph">sudo apt install wide-dhcpv6-client</p>



<p class="wp-block-paragraph">sudo vi /etc/wide-dhcpv6/dhcp6c.conf</p>



<pre class="wp-block-code"><code>interface enx000ec6ec03b3 {
  send ia-na 1;
  send ia-pd 1;
  request domain-name-servers;
  request domain-name;
  script "/etc/wide-dhcpv6/dhcp6c-script";
};

# Only for prefix delegation
id-assoc pd 1 {
  prefix-interface br0 { #internal facing interface (LAN)
    sla-id 0; # subnet. Combined with ia-pd to configure the subnet for this interface.
    ifid 1; #IP address "postfix". if not set it will use EUI-64 address of the interface. Combined with SLA-ID'd prefix to create full IP address of interface.
    sla-len 0; # Number of prefix bits assigned. Sadly this is 0 with voo... 
    };
  };

  id-assoc na 1 {
  # id-assoc for eth1
};</code></pre>



<p class="wp-block-paragraph">sudo vi /etc/default/wide-dhcpv6-client</p>



<pre class="wp-block-code"><code>INTERFACES="enx000ec6ec03b3"</code></pre>



<p class="wp-block-paragraph">sudo service wide-dhcpv6-client restart</p>



<p class="wp-block-paragraph">At this point you should get an IPv6 address:</p>



<pre class="wp-block-code"><code>enx000ec6ec03b3: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;  mtu 1500
        inet 109.89.XXX  netmask 255.255.255.0  broadcast 109.89.XXXX
        inet6 2a02:2788:XXXXXXXXX:8458  prefixlen 128  scopeid 0x0&lt;global&gt;
        inet6 fe80::20e:c6ff:feec:3b3  prefixlen 64  scopeid 0x20&lt;link&gt;
        ether 00:0e:c6:ec:03:b3  txqueuelen 1000  (Ethernet)
        RX packets 1358557038  bytes 1701875645905 (1.7 TB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 648168501  bytes 176987273193 (176.9 GB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0</code></pre>



<h2 class="wp-block-heading">Enable prefix delegation</h2>



<p class="wp-block-paragraph">Actually enable the prefix delegation with radvd:</p>



<p class="wp-block-paragraph">sudo apt-get install radvd</p>



<p class="wp-block-paragraph">sudo vi /etc/radvd.conf</p>



<pre class="wp-block-code"><code>interface br0 # LAN interface
{
  AdvManagedFlag off; # no DHCPv6 server here.
  AdvOtherConfigFlag off; # not even for options.
  AdvSendAdvert on;
  AdvDefaultPreference high;
  AdvLinkMTU 1280;
  prefix ::/64 #pick one non-link-local prefix assigned to the interface and start advertising it
  {
    AdvOnLink on;
    AdvAutonomous on;
  };
};</code></pre>



<p class="wp-block-paragraph">sudo service radvd restart</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><em>Some configuration is taken and adapted from https://www.ipcalypse.ca/?p=204 </em></p>
<p>The post <a href="https://perso.uclouvain.be/tom.barbette/voo-in-bridge-mode-with-ipv6-optional-and-prefix-delegation/">VOO in bridge mode with IPv6 (optional: and prefix delegation!)</a> appeared first on <a href="https://perso.uclouvain.be/tom.barbette">Tom Barbette</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Proximus BBOX 3 in bridge mode with prefix delegation on Linux</title>
		<link>https://perso.uclouvain.be/tom.barbette/proximus-bbox-3-in-bridge-mode-on-linux-ubuntudebiancentosfedora/</link>
		
		<dc:creator><![CDATA[Tom Barbette]]></dc:creator>
		<pubDate>Fri, 09 Oct 2015 13:37:44 +0000</pubDate>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[bbox3]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pi]]></category>
		<category><![CDATA[proximus]]></category>
		<category><![CDATA[raspberry]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[ubuntu]]></category>
		<guid isPermaLink="false">http://queen.run.montefiore.ulg.ac.be/~barbette/?p=519</guid>

					<description><![CDATA[<p>Using bridge mode allows you to get a public IP address on one computer (which can serve as a router) behind your modem. This allows you to know your public IP address without using a third-party service, and control more finely all your routing parameters inside your own Linux-based router (this tutorial) or a better &#8230; </p>
<p class="link-more"><a href="https://perso.uclouvain.be/tom.barbette/proximus-bbox-3-in-bridge-mode-on-linux-ubuntudebiancentosfedora/" class="more-link">Continue reading<span class="screen-reader-text"> "Proximus BBOX 3 in bridge mode with prefix delegation on Linux"</span></a></p>
<p>The post <a href="https://perso.uclouvain.be/tom.barbette/proximus-bbox-3-in-bridge-mode-on-linux-ubuntudebiancentosfedora/">Proximus BBOX 3 in bridge mode with prefix delegation on Linux</a> appeared first on <a href="https://perso.uclouvain.be/tom.barbette">Tom Barbette</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Using bridge mode allows you to get a public IP address on one computer (which can serve as a router) behind your modem. This allows you to know your public IP address without using a third-party service, and control more finely all your routing parameters inside your own Linux-based router (this tutorial) or a better router than the BBOX&#8217;s one.</p>



<p class="wp-block-paragraph">We&#8217;ll call &#8220;the router&#8221; the device you want to use behind the modem for clarity.</p>



<p class="wp-block-paragraph">The bridge mode of the Proximus BBOX 3 is quite interesting. You connect normally to your BBOX using DHCP and will get a locally routable address (i.e. 192.168.0.0/24), but you can use PPP over Ethernet (PPPoE) to get a virtual interface inside your router. This virtual &#8220;ppp&#8221; interface will have a public IP address, and packets will flow IN and OUT the internet through that interface.</p>



<p class="wp-block-paragraph">Proximus allows you to therefore maintain 2 PPP connections, one established by the BBOX (also used for the TV), and the other inside your router. It also means your home gets 2 IPv4 addresses.</p>



<pre class="wp-block-verse" style="font-style:normal;font-weight:300"><em>I prefer that mode to the VOO one, where the external IP address is given by DHCP to only one host in the LAN, the first device to connect to the router using DHCP (dangerous and prone to configuration errors...). Same and independently for IPv6 using DHCPv6. While Proximus not only gives you an IPv6 address but also a /64 prefix via PPPoE to get a direct connection without using a crappy NAT to all your PCs. For IPv6, Proximus is much simpler than setting up an independent DHCPv6 client which gives back the v6 prefix to your LAN side. The second downside is that VOO must use ugly hacks to allow connection to the box as there is no "modem internal network" anymore. You can access your modem at the normally-illegal 192.168.100.1 address as this is on the "public web" space from the router perspective. Moreover, it seems that the modem stops responding to DHCP requests from time to time, losing connectivity... VOO bridge mode is definitively not good... But this may be a temporary bug. I did not observe this anymore...</em></pre>



<h2 class="wp-block-heading">The bridge/WAN part</h2>



<p class="wp-block-paragraph">Edit <em>/etc/network/interfaces</em> to add the following lines , assuming that eth0 is the interface used to connect to your BBOX.</p>



<pre class="wp-block-code"><code>auto dsl-provider
 iface dsl-provider inet ppp
 pre-up /bin/ip link set <strong>eth0 </strong>up
 provider dsl-provider</code></pre>



<p class="wp-block-paragraph">Install pppoe with <em>sudo apt-get install pppoe</em> on ubuntu/debian or <em>sudo yum install pppoe</em> centos/fedora</p>



<p class="wp-block-paragraph">Then create a file named /etc/ppp/peers/dsl-provider and add the following lines :<br><code><br>
noipdefault<br>
defaultroute<br>
replacedefaultroute<br>
hide-password<br>
noauth<br>
persist<br>
mtu 1492<br>
plugin rp-pppoe.so <strong>eth0</strong><br>
user "<strong>fc0123456</strong>@skynet"<br>
usepeerdns<br>
</code></p>



<p class="wp-block-paragraph">Then edit the file /etc/ppp/chap-secrets and add the line :<br><code>"<strong>fc012345</strong>@skynet" * "<strong>password</strong>"</code></p>



<p class="wp-block-paragraph">If you lost your skynet credentials (personally, I just never received them), you can change them online on MyProximus. You&#8217;ll have to reboot your modem so it receives automatically the new credentials.</p>



<p class="wp-block-paragraph">And that&#8217;s all, you can reboot or do a <em>sudo pon dsl-provider</em> and you&#8217;ll have a new interface with a public IPv4 and a /64 IPv6.</p>



<h2 class="wp-block-heading">The router/LAN part</h2>



<p class="wp-block-paragraph">To give connectivity in IPv4 for your hosts and use your Linux host as a router, you&#8217;ll have to do a NAT.  But you can delegate your IPv6 range and give public IPv6 addresses to all your PCs using SLAAC! Remember to also install a firewall&#8230;</p>



<p class="wp-block-paragraph">To do so, install <em>radvd </em>and add in <em>/etc/radvd.conf </em>(if <strong>br0</strong> is the interface connected to your internal network) :</p>



<pre class="wp-block-code"><code>interface <strong>br0
</strong>
{
 AdvSendAdvert on;
 prefix ::/64
 {
   AdvOnLink on;
   AdvAutonomous on;
   AdvRouterAddr on;
 };
 RDNSS 2001:4860:4860::8888 2001:4860:4860::8844
 {
   # AdvRDNSSLifetime 3600;
 };
};</code></pre>



<p class="wp-block-paragraph">Then do a <em>sudo radvd restart</em> and that&#8217;s it.</p>



<p class="wp-block-paragraph">The RDNSS line gives the address of Google&#8217;s public DNS to your host. We could use Proximus&#8217; one, but I don&#8217;t have the address on hand.</p>



<p class="has-medium-font-size wp-block-paragraph" style="font-style:normal;font-weight:300"><strong>Do not hesitate to contact me!</strong></p>
<p>The post <a href="https://perso.uclouvain.be/tom.barbette/proximus-bbox-3-in-bridge-mode-on-linux-ubuntudebiancentosfedora/">Proximus BBOX 3 in bridge mode with prefix delegation on Linux</a> appeared first on <a href="https://perso.uclouvain.be/tom.barbette">Tom Barbette</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
