3.7 KiB
add_net Command
Name
add_net
Synopsis
add_net ${card} ${vlan} ${group} [{no_ula|isp=abc|no_isp}...]
Description
Adds an internal network segment with the specified vlan on the specified card. The created vlan-adaptor is put into the specified group. It is setup for both IPv4 and (where the ISP provides for it) IPv6.
If ${vlan} is 0, then no tagged VLAN interfaces will be created; however,
the subnet address computations will still be performed as-if the vlan
were created. This means that xy0 will use 0 or 00 for its subnet
computations in IPv4 and IPv6 respectively. If you don't intend to use
VLANs for subnets, just use VLAN ID 0 when declaring networks.
The IPv4 network will be a /24 under ${v4_net_xy0} if ${card} is
xy0, for example. If ${v4_net_xy0} is not set, then ${v4_net} is
used by default. The 3rd octet will be $(( ${vlan}/10 + ${vlan}%10 )). For
example, if ${vlan} is 102 and ${v4_net} is 172.18, then the configured
v4 network will be 172.18.12.0/24 and the router will hold address
172.18.12.1. By default, IPv4 network DHCP configuration is enabled and
the range .100 to .200 will be used as a dynamic allocation pool.
The IPv6 network will make $(( ${vlan}/10 + ${vlan}%10 )) into hex digits
to be appended to the ISP's IPv6 prefix. This makes it compatible with the
most common case of /56 for most ISPs. If no_ula is specified in the
optional arguments, then a ULA for this network segment will not be created.
Otherwise, the ${rc_router_network_name} variable will be hashed and an
ISP-like prefix of /48 will be created to which the SLA for the specified
network will be appended. The ${rc_router_ula_prefix_size} can be set to
56 to specify a ULA prefix length of 56. (No other lengths are supported
at this time.)
The isp=... flag can be used to assign the specified subnet to be part
of the IA_PD list for the specified ISP. The no_isp flag can be used to
skip provisioning the specified network with any ISP's DHCPv6 IA_PD request.
This calls add_v4_net and add_v6_net and
passes all of its arguments.
Subnet Calculation
(It is strongly recommended that the 10s digit and 1000s digit of the VLAN ID be
kept as 0, as those digits are reserved for future improvements. While this
limits the system to 100 vlans, it provides 1:1 visual alignment between IPv4,
IPv6, and VLAN ID. Each can be visually compared to the others.)
| VLAN | IPv4 (3rd octet) | IPv6 suffix (hex) | Example IPv4 | Example IPv6 |
|---|---|---|---|---|
| 0 | 0 | 0 | 192.168.0.0/24 | 2001:db8:abcd:ef00::/64 |
| 7 | 7 | 7 | 192.168.7.0/24 | 2001:db8:abcd:ef07::/64 |
| 101 | 11 | 11 | 192.168.11.0/24 | 2001:db8:abcd:ef11::/64 |
| 205 | 25 | 25 | 192.168.25.0/24 | 2001:db8:abcd:ef25::/64 |
| 900 | 90 | 90 | 192.168.90.0/24 | 2001:db8:abcd:ef90::/64 |
Options
no_ula- Do not create a Unique Local Address for this network (on the IPv6 side).isp=${NAME}- Attach this network to a specified ISP's configurationno_isp- This network should not be associated with any ISP (declines to add network to DHCPv6 PD, among other things).
Examples
Basic home LAN
add_net abc2 100 main
Guest network with no ULA
add_net xy2 102 guest no_ula
IoT network with no ULA and no ISP prefix delegation
add_net xy2 103 iot no_ula no_isp
Management network on a different ISP PD
add_net xy2 402 mgmt isp=fios_1