Network2
Jump to navigation
Jump to search
This page proposes a fresh design for network configuration in a highly collaborative world, based on Scott's Network Principles in general and on these micro-principles in particular:
- Ease of debugging is paramount.
- Orthogonal pieces.
- Self-test functionality.
However, unlike the Network Principles situation, we also describe how to integrate several kinds of NAT-traversal technology, primarily to support dog-fooding and diagnosis by remote developers.
Client Design
Your job is to be an IPv6 node.
- Bring up your interfaces and perform IPv6 Neighbor Discovery over ICMPv6 looking for routers. (See sysctl net.ipv6.conf.all.accept_ra and related variables.)
- If you don't find any and you can join a VPN (openvpn, IPsec+L2TP), do so.
- If you want to, bring up Teredo (RFC 4380, miredo).
Server Design
Your job is to be an IPv6 router and a DNS server. One of several situations might obtain:
- You might discover an IPv6 router advertising one or more IPv6 prefixes on your outbound link(s).
- You might have some kind of IPv4 connectivity. If so, connect to the Internet or to a internetwork (VPN) of your choice.