One of the main functions of Radiator is to listen for UDP packets and
TCP connections from other systems according to the Radiator
configuration. The various Radiator clauses that can accept packets or
connections from other systems all support the BindAddress parameter,
which controls which IP addresses Radiator will listen on. IP packets sent
to an IP address which is on the Radiator host, but which Radiator has not
bound with BindAddress will not be received by Radiator.
The driver for this is that a single host may have multiple IP
addresses, and those addresses may be IPv4, IPv6 and/or IPv6-over-IPv4.
You may require Radiator to only honour requests directed to one of or a
subset of the IP addresses for the host.
With BindAddress you can control which destination IP addresses
Radiator will accept. You can specify one or more IPv4 or IPv6 addresses,
including wildcard addresses, with the BindAddress parameter. The
following forms may be used:
- 0.0.0.0 (the default) Any IPv4 address on the host
- 1.2.3.4 A specific IPv4 address on the host
- :: Any IPv6 address on the host (and this may include any IPv4
address too, depending on how the host is configured)
- 2001:db8:148:100::31 A specific IPv6 address on the host
They may be combined in one BindAddress parameter like so:
BindAddress 0.0.0.0
BindAddress 192.87.30.31,2001:db8:148:100::31
BindAddress ::, 0.0.0.0
CAUTION
Wildcard addresses may require special attention.
When a host is multihomed or uses alias IP addresses, the Radius replies
from that host typically use the main address of the outgoing interface.
In other words, requests sent to a certain address may be replied from a
different address. You can work around this by configuring the addresses
individually with BindAddress instead of using the wildcard
address.