#
# The other only solution is to update FreeRADIUS to use BPF sockets.
#
-listen {
- ipaddr = 127.0.0.1
- port = 6700
- type = dhcp
-# interface = lo0
-
- # The DHCP server defaults to allowing broadcast packets.
- # Set this to "no" only when the server receives *all* packets
- # from a relay agent. i.e. when *no* clients are on the same
- # LAN as the DHCP server.
- #
- # It's set to "no" here for testing.
- broadcast = no
+
+ # When the machine is not Linux, or has only one network interface, use
+ # the following listener:
+ listen {
+ # Listen for broadcasts + unicast on lo0
+ ipaddr = *
+ port = 6700
+ type = dhcp
+ interface = lo0
+ # The DHCP server defaults to allowing broadcast packets.
+ # Set this to "no" only when the server receives *all* packets
+ # from a relay agent. i.e. when *no* clients are on the same
+ # LAN as the DHCP server.
+ #
+ # It's set to "no" here for testing.
+ broadcast = no
+ }
+ # When the machine is Linux and has multiple network interfaces, use
+ # the following listeners instead:
+ listen {
+ # Listen for broadcasts on lo0
+ ipaddr = 255.255.255.255
+ port = 6700
+ type = dhcp
+ interface = lo0
+ }
+ listen {
+ # Listen for unicast on our IP address, not bound to any
+ # interface but telling on which interface to forward the
+ # packets to.
+ ipaddr = 127.0.0.1
+ port = 6700
+ type = dhcp
+ arp_interface = lo0
+ }
# On Linux if you're running the server as non-root, you
# will need to do:
# sudo setcap cap_net_admin=ei /path/to/radiusd
#
# This will allow the server to set ARP table entries
- # for newly allocated IPs
-}
+ # for newly allocated IPs, but this has not been tested.
# Packets received on the socket will be processed through one
# of the following sections, named after the DHCP packet type.