digraph G { node [ shape=box, fontcolor="#ffffff", color="#40a9e3", style="filled" ] label="IPv4 as a service\nby ungleich" subgraph cluster_v6_vm { label="IPv6 only VM" ipv6onlyvm [ label="IPv6 only VM" color="#ee1100" ] } subgraph cluster_roadwarrior { label="Roadwarrior" notebook [ label="Notebook" color="#ee1100" ] desktop [ label="Desktop" color="#ee1100" ] } subgraph cluster_roadwarrior { label="Roadwarrior" notebook [ label="Notebook" color="#ee1100" ] } subgraph cluster_internet { label="The Internet" ipv4internet [ label="IPv4 Internet" shape=oval ] ipv6internet [ label="IPv6 Internet" shape=oval ] } subgraph cluster_dcl { label="Data Center Light in Switzerland" vpnserver [ label="VPN Server in\nData Center Light" ] } ipv6onlyvm->ipv6internet [ label="Connect via IPv6" ] {desktop,notebook}->{ipv4internet,ipv6internet} [ label="Connect either way" ] {ipv4internet,ipv6internet}->vpnserver [ label="Connect to VPN" ] vpnserver->{ipv6onlyvm, desktop, notebook} [ label="Route IPv4 address via VPN" ] }