Files
2026-05-12 02:16:26 -04:00

266 lines
5.3 KiB
Markdown

# `rc.router` Configuration Variables
## `rc_router_ula_prefix_size`
### Description
Used to control the size of IPv6 ULA prefixes. Can be either `48` or `56`
### Example
```
rc_router_ula_prefix_size="48" # Generate `/48` IPv6 ULAs
rc_router_ula_prefix_size="56" # Generate `/56` IPv6 ULAs
```
***
## `rc_router_network_name`
### Description
A user-defined free-form string to provide sufficient "uniqueness" to generate ULA
prefixes with sufficiently low probability of collision. The user defined string
permits a user to remember the uniqueness "seed" without having to remember 40
or more random bits worth of hexidecimal digits.
### Example
```
rc_router_network_name="This is my really awesome network!"
```
#### Note
The `${secret_ip6_net}` undocumented variable can be used in `rc.d` scripts to
expand to the user generated ULA prefix. The name of this undocumented variable
might change in the future.
***
## `v6_prefix_len`
### Description
This variable should only be set in ISP hints files. It informs `rc.router` what
IPv6 prefix size to request from that ISP. Users may provide their own hints
files in `${rc_router_conf_dir}/hints` -- hints files which are in the user
configuration directory will override the pre-packaged hints.
### Example
```
v6_prefix_len="63" # This ISP is pretty awful!
v6_prefix_len="48" # This ISP is very generous.
```
***
## `v4_net`
### Description
This variable defines a `/16` of IPv4 space inside which internal IPv4 networks
are constructed. In addition, `v4_net_${iface}` may be used to specify a `/16`
prefix for all VLANs on a specific internal interface.
### Example
```
v4_net="192.168" # This is pretty typical
# Use a `/16` to differentiate the VLANs created on different physical interfaces.
v4_net_xy1="172.21"
v4_net_xy2="172.22"
```
***
## `rc_router_gen_dir`
### Description
This variable defines a directory into which the configuration files for services
will be generated. By default it is `${rc_router_conf_dir}/gen`.
### Example
```
rc_router_gen_dir="/tmp/rc-router-gen/"
```
***
## `dhcpv4_pool_lo`
### Description
This variable defines the lower bound of DHCPv4 pools for auto-generated `/24`
networks constructed by [`add_v4_net`](add_v4_net.md) or [`add_net`](add_net.md).
These pools can also be specified per-physical-interface (but not vlan) by using
`dhcpv4_pool_lo_${iface}`.
### Example
```
dhcpv4_pool_lo="10" # For most networks, start the dynamic pool at 10.
dhcpv4_pool_lo_xy0="200" # For networks on `xy0`, start the dynamic pool at 200.
```
***
## `dhcpv4_pool_hi`
### Description
This variable defines the upper bound of DHCPv4 pools for auto-generated `/24`
networks constructed by [`add_v4_net`](add_v4_net.md) or [`add_net`](add_net.md).
These pools can also be specified per-physical-interface (but not vlan) by using
`dhcpv4_pool_hi_${iface}`.
### Example
```
dhcpv4_pool_hi="20" # For most networks, end the dynamic pool at 20.
dhcpv4_pool_hi_xy0="240" # For networks on `xy0`, start the dynamic pool at 240.
```
***
## `rtadvd_pltimedecr`
### Description
Controls whether the `pltimedecr` flag is set on generated router advertisement
configuration files for IPv6. Defaults to `NO`.
### Example
```
rtadvd_pltimedecr="YES" # Enable `pltimedecr` in generated `rtadvd.conf` files.
```
***
## `rtadvd_vltimedecr`
### Description
Controls whether the `vltimedecr` flag is set on generated router advertisement
configuration files for IPv6. Defaults to `NO`.
### Example
```
rtadvd_vltimedecr="YES" # Enable `vltimedecr` in generated `rtadvd.conf` files.
```
***
## `rtadvd_dns_search_list`
### Description
Allows the user to specify a list of search domain suffices to be delivered to
all IPv6 clients.
### Example
```
# Add the specified domains to the DNS search lists for `rtadvd`.
rtadvd_dns_search_list="example.com local.example.com"
```
***
## `rtadvd_pref64_prefix`
### Description
Allows the user to specify a NAT64 prefix for all networks advertised by
`rtadvd`. Note -- do not put the `/96` netmask suffix. This is useful
for building IPv6-only and IPv6-mostly networks that have to be compatible
with legacy IPv4 destinations.
### Example
```
# Add the specified domains to the DNS search lists for `rtadvd`.
rtadvd_pref64_prefix="64:ff9b::"
```
***
## `rtadvd_mininterval`
### Description
Allows the user to specify the minimum router advertisement interval.
### Example
```
rtadvd_mininterval="300" # Advertise no more frequently than every 5 minutes.
```
***
## `rtadvd_maxinterval`
### Description
Allows the user to specify the maximum router advertisement interval.
### Example
```
rtadvd_maxinterval="1800" # Advertise less more frequently than every half hour.
```
***
## `rtadvd_pltime`
### Description
Allows the user to specify the preferred lifetime for prefixes advertised by this
router.
### Example
```
rtadvd_pltime="300" # Advertise a preferred prefix lifetime of 5 minutes.
```
***
## `rtadvd_vltime`
### Description
Allows the user to specify the valid lifetime for prefixes advertised by this
router.
### Example
```
rtadvd_vltime="900" # Advertise a valid prefix lifetime of 15 minutes.
```
***
## `rtadvd_rltime`
### Description
Allows the user to specify the valid lifetime for the routing destination
advertised by this router.
### Example
```
rtadvd_rltime="900" # Advertise a router advertisement lifetime of 15 minutes.
```