git clone https://k2c42.dy.fi/git/ipv6split.git/

https://serverfault.com/questions/714890/ipv6-subnetting-a-64-what-will-break-and-how-to-work-around-it

"If the ISP won't give you more than a /64, then that ISP sucks."

ipv6split uses the same /64 in two or more subnets. It uses ndppd,
radvd and network namespaces to make IPv6 with SLAAC and internet
connection work in all of them.

Instructions
------------
Set up two (or more) local networks.
Create a bridge for both networks and connect the lans to the bridges.
Install ndppd and radvd and set them to NOT start automatically.
Install ipv6split to /usr/local/sbin and ipv6split.conf to /etc.
Edit ipv6split.conf and set bridge names there.
Run ipv6split every time your ipv6 prefix changes.


How it works
------------
You need to already have:
- home and work lans
- ethX to home lan
- ethY to work lan
- ethX connected to brHome
- ethY connected to brWork
- internet connection with IPv6 via ethZ

ipv6split creates the rest of these connections:


	 |
         |home LAN
       	 |
       	 |
      	 |
   +-+---+---+----------------------------------------------------------------+
   | |	     |     +--------+  +----------+    	  			      |
   | | ethX  |     | brHome |  |veth6iHome|                   		      |
   | |	     +-----+        +--+          +------------+        	      |
   | |       |     |        |  |          | 	       |		      |
   | +-------+     +--------+  +----------+            | 		      |
   |	     +------------------------------------+----+----+-+		      |
   |	     |   network namespace: home          |         | |		      |
   |	     |                       	    	  | ethIN   | |		      |
   |	     |                        <---------> |         | |		      |
   |	     |   ndppd         	      |     	  +---------+ |		      |
   |	     |                        |     	              |		      |
   |	     | +---------+     	      |     	   radvd      |		      |
   |	     | |         |            |     	              |		      |
   |	     | | ethOUT  | <----------+                       |		      |
   |	     | |         |                                    |		      |
   |	     +-+----+----+------------------------------------+		      |
   |		    |							      |
   |	       +----+-----+   	 +--------------+			      |
   |	       |          |   	 |              |	  	+-------------+
   |	       |veth6oHome+------+              |              	|             |
   |	       |          |   	 |     	        | <-----------> | ethZ        |
   |	       +----------+  	 |     	        |               |             |
   |				 | brSplit6     |		+-------------+
   |	       +----------+      |    	        |		              |
   |	       |   	  |      |    	        |		              |
   |	       |veth6oWork+------+    	        |			      |
   |	       |          |      |              |			      |
   |	       +----+-----+      +--------------+			      |
   |	 	    |							      |
   |	     +-+----+-----+-----------------------------------+		      |
   |	     | |          |                                   |		      |
   |	     | | ethOUT   | <--------------+	              |		      |
   |	     | |          |                |	              |		      |
   |	     | +----------+                | 	   radvd      |		      |
   |	     |                             | 	              |		      |
   |	     |   ndppd                     | 	  +---------+ |		      |
   |	     |                             | 	  |         | |		      |
   |	     |                             +----> | ethIN   | |		      |
   |	     |   network namespace: work          |         | |		      |
   |	     +------------------------------------+----+----+-+		      |
   | +-------+     +--------+  +----------+    	       |		      |
   | | ethY  |     | brWork |  |veth6iWork|            |      		      |
   | |	     +-----+        +--+          +------------+        	      |
   | |       |     |        |  |          | 	        		      |
   | |       |     +--------+  +----------+              		      |
   +-+---+---+----------------------------------------------------------------+
   	 |
    	 |
	 |work LAN
	 |


Radvd advertises prefixes to work and home LANs and devices choose 
addresses for themselves with SLAAC. Default route for IPv6 will be through
brWork or brHome respectively.

Ndppd advertises each device to brSplit6 so packages find their way
to the correct network.


Names
-----
In the picture above, ethX and ethY can be anything the can be
connected to a bridge. The ethZ can be any interface that has IPv6
connectivity to outside world. Ipv6split script does not use them
directly so the names don't need to be ethX, Y and Z.

"brSplit6", "home" and "work" can be configured in /etc/ipv6split.conf
[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[   ]HEAD2020-01-08 19:13 23  
[TXT]HEADER.html2020-02-02 12:40 4.7K 
[DIR]branches/2020-01-08 19:13 -  
[   ]config2020-01-08 19:13 66  
[   ]description2020-01-08 19:13 73  
[DIR]hooks/2020-02-02 12:15 -  
[DIR]info/2020-02-02 12:40 -  
[DIR]objects/2020-02-02 12:40 -  
[DIR]refs/2020-01-08 19:13 -  

Apache/2.4.56 (Debian) Server at k2c42.dy.fi Port 443