ungleich-graphviz/ipv6-with-the-viirb.dot

46 lines
1.7 KiB
Plaintext

digraph G {
node [ shape=box, fontcolor="#ffffff", color="#40a9e3", style="filled" ]
label="The VPN IPv6 IoT Router Box (VIIRB) in action"
node [ shape=box ]
# rankdir=LR;
# subgraph cluster_internet {
ipv6internet [ label="The IPv6 Internet" shape=oval ]
ipv4internet [ label="The IPv4 Internet" shape=oval ]
ipv6vpn [ label="IPv6VPN.ch\nIPv6 via wireguard" shape=oval ]
# }
# subgraph cluster_location {
viirb [ label="The VIIRB" color="#ee1100" ];
# subgraph cluster_lan {
lan [ label="Your LAN" ];
lanclients [ label="Clients in the lan" ]
# }
# subgraph cluster_wifi {
wificlients [ label="WiFi clients" ]
wifi [ label="IPv6 only wifi: 'IPv6 everywhere'" shape=oval ]
# }
# }
viirb->ipv4internet [ label="Connected via LAN" ]
ipv4internet->ipv6vpn [ label="Connected to" ]
viirb->lan [ label="1. Gets IPv4 via cable" ]
viirb->ipv6vpn [ label="2. Connect the VPN to IPv6VPN.ch" ]
ipv6vpn->viirb [ label="3. Routes /48 IPv6 network to VIIRB" ]
viirb->lan [ label="4. Announce IPv6 availability" ]
lanclients->lan [ label="5. Assign themselves an IPv6 address" ]
lanclients->ipv6internet [ label="6. Connect via VIIRB to access" ]
viirb->wifi [ label="A. Provides IPv6 only WiFi" ]
wificlients->wifi [ label="B. Assign IPv6 address themselves" ]
wificlients->ipv6internet [ label="C. Connect via VIIRB to access" ]
wificlients->ipv4internet [ label="D. Use DNS64/NAT64 to access" ]
ipv6vpn->ipv6internet [ label="Is connected to" ]
ipv6internet->{wificlients,lanclients} [
label="SSH, HTTP, HTTPS\nports are open" ]
}