Parent directory | ||
src/ | ||
CMakeLists.txt | 1737 bytes | |
COPYING | 18011 bytes | |
README | 6839 bytes |
1 odhcpd - Embedded DHCP/DHCPv6/RA Server & Relay 2 3 ** Abstract ** 4 5 odhcpd is a daemon for serving and relaying IP management protocols to 6 configure clients and downstream routers. It tries to follow the RFC 6204 7 requirements for IPv6 home routers. 8 9 odhcpd provides server services for DHCP, RA, stateless and stateful DHCPv6, 10 prefix delegation and can be used to relay RA, DHCPv6 and NDP between routed 11 (non-bridged) interfaces in case no delegated prefixes are available. 12 13 14 ** Features ** 15 16 1. Router Discovery support (solicitations and advertisements) with 2 modes 17 server: RD server for slave interfaces 18 a) automatic detection of prefixes, delegated prefix and default routes, MTU 19 b) automatic reannouncement when changes to prefixes or routes occur 20 21 relay: RD relay between master and slave interfaces 22 a) support for rewriting announced DNS-server addresses in relay mode 23 24 2. DHCPv6-support with 2 modes of operation 25 server: stateless, stateful and PD-server mode 26 a) stateless and stateful address assignment 27 b) prefix delegation support 28 c) dynamic reconfiguration in case prefixes change 29 d) hostname detection and hosts-file creation 30 31 relay: mostly standards-compliant DHCPv6-relay 32 a) support for rewriting announced DNS-server addresses 33 34 3. DHCPv4-support 35 server: stateless and stateful mode 36 37 4. Proxy for Neighbor Discovery messages (solicitations and advertisements) 38 a) support for auto-learning routes to the local routing table 39 b) support for marking interfaces "external" not proxying NDP for them 40 and only serving NDP for DAD and for traffic to the router itself 41 [Warning: you should provide additional firewall rules for security] 42 43 5. IPv6 PxE Support. 44 45 ** Compiling ** 46 47 odhcpd uses cmake: 48 * To prepare a Makefile use: "cmake ." 49 * To build / install use: "make" / "make install" afterwards. 50 * To build DEB or RPM packages use: "make package" afterwards. 51 52 53 ** Configuration ** 54 55 odhcpd uses a UCI configuration file in /etc/config/dhcp for configuration 56 and may also receive information from ubus 57 58 59 Section of type odhcpd 60 61 Option Type Default Description 62 legacy bool 0 Enable DHCPv4 if start but 63 no dhcpv4 option set 64 maindhcp bool 0 Use odhcpd as the main DHCPv4 65 service 66 leasefile string DHCP/v6 lease/hostfile 67 leasetrigger string Lease trigger script 68 hostsfile string DHCP/v6 hostfile 69 loglevel integer 6 Syslog level priority (0-7) 70 71 72 Sections of type dhcp (configure DHCP / DHCPv6 / RA / NDP service) 73 74 Option Type Default Description 75 interface string <name of UCI section> logical OpenWrt interface 76 ifname string <resolved from logical> physical network interface 77 networkid string same as ifname compat. alias for ifname 78 master bool 0 is a master interface 79 for relaying 80 81 ra string disabled Router Advert service 82 [disabled|server|relay|hybrid] 83 dhcpv6 string disabled DHCPv6 service 84 [disabled|server|relay|hybrid] 85 dhcpv4 string disabled DHCPv4 service 86 [disabled|server] 87 ndp string disabled Neighbor Discovery Proxy 88 [disabled|relay|hybrid] 89 90 dynamicdhcp bool 1 Dynamically create leases 91 for DHCPv4 and DHCPv6 92 dhcpv4_forcereconf bool 0 Force reconfiguration by sending 93 force renew message even if the client 94 did not include the force renew nonce 95 capability option (RFC6704) 96 dhcpv6_assignall bool 1 Assign all viable DHCPv6 addresses 97 in statefull mode; if disabled 98 only the DHCPv6 address having the 99 longest preferred lifetime is assigned 100 dhcpv6_hostidlength integer 12 Host ID length of dynamically created leases, 101 allowed values: 12 - 64 (bits). 102 dhcpv6_na bool 1 DHCPv6 stateful addressing hands out IA_NA - 103 Internet Address - Network Address 104 dhcpv6_pd bool 1 DHCPv6 stateful addressing hands out IA_PD - 105 Internet Address - Prefix Delegation 106 dhcpv6_pd_min_len integer - Minimum prefix length to delegate with IA_PD 107 (value is adjusted if needed to be greater 108 than the interface prefix length). Range [1,62] 109 router list <local address> Routers to announce 110 accepts IPv4 only 111 dns list <local address> DNS servers to announce 112 accepts IPv4 and IPv6 113 dnr list disabled Encrypted DNS servers to announce 114 <priority> <domain name> [<comma separated IP addresses> <SvcParams (key=value)>...] 115 dns_service bool 1 Announce the address of interface as DNS service 116 if the list of dns is empty 117 domain list <local search domain> Search domains to announce 118 119 leasetime string 12h DHCPv4 address leasetime 120 start integer 100 DHCPv4 pool start 121 limit integer 150 DHCPv4 pool size 122 preferred_lifetime string 7d Value for the preferred lifetime 123 for a prefix 124 ra_default integer 0 Override default route 125 0: default, 1: ignore no public address, 2: ignore all 126 ra_flags list other-config List of RA flags to be 127 advertised in RA messages 128 [managed-config other-config home-agent none] 129 ra_slaac bool 1 Announce slaac for a prefix 130 ra_offlink bool 0 Announce prefixes off-link 131 ra_preference string medium Route(r) preference 132 [medium|high|low] 133 ra_maxinterval integer 600 Maximum time allowed between 134 sending unsolicited RA 135 ra_mininterval integer 200 Minimum time allowed between 136 sending unsolicited RA 137 ra_lifetime integer 1800 Value to be placed in Router 138 Lifetime field of RA 139 ra_useleasetime bool 0 Use configured leasetime as 140 limit for the preferred and 141 valid lifetime of a prefix 142 ra_reachabletime integer 0 Reachable Time in milliseconds to be 143 advertised in RA messages 144 ra_retranstime integer 0 Retransmit Time in milliseconds to be 145 advertised in RA messages 146 ra_hoplimit integer 0 Current hoplimit to be advertised 147 in RA messages 148 ra_mtu integer - MTU to be advertised in 149 RA messages 150 ra_dns bool 1 Announce DNS configuration in 151 RA messages (RFC8106) 152 ra_pref64 string Announce PREF64 option 153 [IPv6 prefix] for NAT64 prefix (RFC8781) 154 ndproxy_routing bool 1 Learn routes from NDP 155 ndproxy_slave bool 0 NDProxy external slave 156 prefix_filter string ::/0 Only advertise on-link prefixes within 157 [IPv6 prefix] the provided IPv6 prefix; others are 158 filtered out. 159 ntp list <local address> NTP servers to announce 160 accepts IPv4 and IPv6 161 162 163 Sections of type host (static leases) 164 Option Type Default Description 165 ip string IP-Address to lease 166 mac string MAC-address 167 duid string DUID in base16 168 hostid string IPv6 host identifier 169 name string Hostname 170 leasetime string DHCPv4/v6 leasetime 171 172 Sections of type boot6 173 Option Type Required Description 174 url string yes e.g. tftp://[fd11::1]/pxe.efi 175 arch integer no the arch code. 07 is EFI. 176 If not present, this boot6 will be the default.
This page was automatically generated by LXR 0.3.1. • OpenWrt