|
@@ -818,13 +818,18 @@ to temporary add asterisk and retain the list of interface names.
|
|
<para>
|
|
<para>
|
|
The values of the option are set as follows:
|
|
The values of the option are set as follows:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/option-data</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/name "bar"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/space "dhcp4"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/code 223</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/csv-format true</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/data "192.0.2.100, 123, true, Hello World"</userinput>
|
|
|
|
-> <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-data": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "bar",
|
|
|
|
+ "space": "dhcp4",
|
|
|
|
+ "code": 223,
|
|
|
|
+ "csv-format": true,
|
|
|
|
+ "data": "192.0.2.100, 123, true, Hello World"</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
"csv-format" is set "true" to indicate that the "data" field comprises a command-separated
|
|
"csv-format" is set "true" to indicate that the "data" field comprises a command-separated
|
|
list of values. The values in the "data" must correspond to the types set in
|
|
list of values. The values in the "data" must correspond to the types set in
|
|
the "record-types" field of the option definition.
|
|
the "record-types" field of the option definition.
|
|
@@ -857,37 +862,51 @@ to temporary add asterisk and retain the list of interface names.
|
|
<para>
|
|
<para>
|
|
The first step is to define the format of the option:
|
|
The first step is to define the format of the option:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/option-def</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/name "foo"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/code 1</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/space "vendor-encapsulated-options-space"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/type "record"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/array false</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/record-types "ipv4-address, uint16, string"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/encapsulates ""</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
-</screen>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-def": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "foo",
|
|
|
|
+ "code": 1,
|
|
|
|
+ "space": "vendor-encapsulated-options-space",
|
|
|
|
+ "type": "record",
|
|
|
|
+ "array: false,
|
|
|
|
+ "record-types": "ipv4-address, uint16, string",
|
|
|
|
+ "encapsulates": ""</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
(Note that the option space is set to "vendor-encapsulated-options-space".)
|
|
(Note that the option space is set to "vendor-encapsulated-options-space".)
|
|
Once the option format is defined, the next step is to define actual values
|
|
Once the option format is defined, the next step is to define actual values
|
|
for that option:
|
|
for that option:
|
|
- <screen>
|
|
|
|
-> <userinput>config add Dhcp4/option-data</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/name "foo"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/space "vendor-encapsulated-options-space"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/code 1</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/csv-format true</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/data "192.0.2.3, 123, Hello World"</userinput>
|
|
|
|
-> <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+<screen>
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-data": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "foo"
|
|
|
|
+ "space": "vendor-encapsulated-options-space",
|
|
|
|
+ "code": 1,
|
|
|
|
+ "csv-format": true,
|
|
|
|
+ "data": "192.0.2.3, 123, Hello World"</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo".
|
|
We also set up a dummy value for vendor-opts, the option that conveys our sub-option "foo".
|
|
This is required else the option will not be included in messages sent to the client.
|
|
This is required else the option will not be included in messages sent to the client.
|
|
- <screen>
|
|
|
|
-> <userinput>config add Dhcp4/option-data</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/name "vendor-encapsulated-options"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/space "dhcp4"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/code 43</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/csv-format false</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/data ""</userinput>
|
|
|
|
-> <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+<screen>
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-data": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "vendor-encapsulated-options"
|
|
|
|
+ "space": "dhcp4",
|
|
|
|
+ "code": 43,
|
|
|
|
+ "csv-format": false,
|
|
|
|
+ "data: ""</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<note>
|
|
<note>
|
|
@@ -922,26 +941,29 @@ to temporary add asterisk and retain the list of interface names.
|
|
code 222 that conveys two sub-options with codes 1 and 2.
|
|
code 222 that conveys two sub-options with codes 1 and 2.
|
|
First we need to define the new sub-options:
|
|
First we need to define the new sub-options:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/option-def</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/name "subopt1"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/code 1</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/space "isc"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/type "ipv4-address"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/record-types ""</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/array false</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[0]/encapsulate ""</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
-
|
|
|
|
-> <userinput>config add Dhcp4/option-def</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/name "subopt2"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/code 2</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/space "isc"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/type "string"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/record-types ""</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/array false</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-def[1]/encapsulate ""</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
-</screen>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-def": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "subopt1",
|
|
|
|
+ "code": 1,
|
|
|
|
+ "space": "isc",
|
|
|
|
+ "type": "ipv4-address".
|
|
|
|
+ "record-types": "",
|
|
|
|
+ "array": false,
|
|
|
|
+ "encapsulate ""
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "name": "subopt2",
|
|
|
|
+ "code": 2,
|
|
|
|
+ "space": "isc",
|
|
|
|
+ "type": "string",
|
|
|
|
+ "record-types": "",
|
|
|
|
+ "array": false
|
|
|
|
+ "encapsulate": ""</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
Note that we have defined the options to belong to a new option space
|
|
Note that we have defined the options to belong to a new option space
|
|
(in this case, "isc").
|
|
(in this case, "isc").
|
|
</para>
|
|
</para>
|
|
@@ -949,16 +971,21 @@ to temporary add asterisk and retain the list of interface names.
|
|
The next step is to define a regular DHCPv4 option with our desired
|
|
The next step is to define a regular DHCPv4 option with our desired
|
|
code and specify that it should include options from the new option space:
|
|
code and specify that it should include options from the new option space:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>add Dhcp4/option-def</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/name "container"</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/code 222</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/space "dhcp4"</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/type "empty"</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/array false</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/record-types ""</userinput>
|
|
|
|
-> <userinput>set Dhcp4/option-def[2]/encapsulate "isc"</userinput>
|
|
|
|
-> <userinput>commit</userinput>
|
|
|
|
-</screen>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-def": [
|
|
|
|
+ ...,
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "container",
|
|
|
|
+ "code": 222,
|
|
|
|
+ "space": "dhcp4",
|
|
|
|
+ "type": "empty",
|
|
|
|
+ "array": false,
|
|
|
|
+ "record-types": "",
|
|
|
|
+ "encapsulate": "isc"</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
The name of the option space in which the sub-options are defined
|
|
The name of the option space in which the sub-options are defined
|
|
is set in the "encapsulate" field. The "type" field is set to "empty"
|
|
is set in the "encapsulate" field. The "type" field is set to "empty"
|
|
to indicate that this option does not carry any data other than
|
|
to indicate that this option does not carry any data other than
|
|
@@ -967,29 +994,32 @@ to temporary add asterisk and retain the list of interface names.
|
|
<para>
|
|
<para>
|
|
Finally, we can set values for the new options:
|
|
Finally, we can set values for the new options:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/option-data</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/name "subopt1"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/space "isc"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/code 1</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/csv-format true</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[0]/data "192.0.2.3"</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
-<userinput></userinput>
|
|
|
|
-> <userinput>config add Dhcp4/option-data</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/name "subopt2"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/space "isc"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/code 2</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/csv-format true</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[1]/data "Hello world"</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
-<userinput></userinput>
|
|
|
|
-> <userinput>config add Dhcp4/option-data</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[2]/name "container"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[2]/space "dhcp4"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[2]/code 222</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[2]/csv-format true</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/option-data[2]/data ""</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "option-data": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "subopt1",
|
|
|
|
+ "space": "isc",
|
|
|
|
+ "code": 1,
|
|
|
|
+ "csv-format": true,
|
|
|
|
+ "data": "192.0.2.3"</userinput>
|
|
|
|
+ },
|
|
|
|
+ }
|
|
|
|
+ <userinput>"name": "subopt2",
|
|
|
|
+ "space": "isc",
|
|
|
|
+ "code": 2,
|
|
|
|
+ "csv-format": true,
|
|
|
|
+ "data": "Hello world"</userinput>
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ <userinput>"name": "container",
|
|
|
|
+ "space": "dhcp4",
|
|
|
|
+ "code": 222,
|
|
|
|
+ "csv-format": true,
|
|
|
|
+ "data": ""</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
Even though the "container" option does not carry any data except
|
|
Even though the "container" option does not carry any data except
|
|
sub-options, the "data" field must be explicitly set to an empty value.
|
|
sub-options, the "data" field must be explicitly set to an empty value.
|
|
@@ -1075,11 +1105,16 @@ to temporary add asterisk and retain the list of interface names.
|
|
VENDOR_CLASS_docsis3.0 are allowed to use this subnet. Such a
|
|
VENDOR_CLASS_docsis3.0 are allowed to use this subnet. Such a
|
|
configuration can be achieved in the following way:
|
|
configuration can be achieved in the following way:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/subnet4</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/subnet "192.0.2.0/24"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/pool [ "192.0.2.10 - 192.0.2.20" ]</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/client-class "VENDOR_CLASS_docsis3.0"</userinput>
|
|
|
|
-> <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "subnet4": [
|
|
|
|
+ {
|
|
|
|
+ <userinput>subnet: "192.0.2.0/24",
|
|
|
|
+ "pool": [ "192.0.2.10 - 192.0.2.20" ],
|
|
|
|
+ "client-class": "VENDOR_CLASS_docsis3.0"</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}</screen>
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<para>
|
|
<para>
|
|
@@ -1107,24 +1142,29 @@ to temporary add asterisk and retain the list of interface names.
|
|
</orderedlist>
|
|
</orderedlist>
|
|
The parameters for controlling the generation of NCRs for submission to D2
|
|
The parameters for controlling the generation of NCRs for submission to D2
|
|
are contained in the "dhcp-ddns" section of the b10-dhcp4 server
|
|
are contained in the "dhcp-ddns" section of the b10-dhcp4 server
|
|
- configuration. The default values for this section appears as follows:
|
|
|
|
|
|
+ configuration. The default values for this section appear as follows:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config show Dhcp4/dhcp-ddns</userinput>
|
|
|
|
-Dhcp4/dhcp-ddns/enable-updates true boolean
|
|
|
|
-Dhcp4/dhcp-ddns/server-ip "127.0.0.1" string
|
|
|
|
-Dhcp4/dhcp-ddns/server-port 53001 integer
|
|
|
|
-Dhcp4/dhcp-ddns/sender-ip "" string
|
|
|
|
-Dhcp4/dhcp-ddns/sender-port 0 integer
|
|
|
|
-Dhcp4/dhcp-ddns/max-queue-size 1024 integer
|
|
|
|
-Dhcp4/dhcp-ddns/ncr-protocol "UDP" string
|
|
|
|
-Dhcp4/dhcp-ddns/ncr-format "JSON" string
|
|
|
|
-Dhcp4/dhcp-ddns/override-no-update false boolean
|
|
|
|
-Dhcp4/dhcp-ddns/override-client-update false boolean
|
|
|
|
-Dhcp4/dhcp-ddns/replace-client-name false boolean
|
|
|
|
-Dhcp4/dhcp-ddns/generated-prefix "myhost" string
|
|
|
|
-Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns": {
|
|
|
|
+ <userinput>"enable-updates": true,
|
|
|
|
+ "server-ip": "127.0.0.1",
|
|
|
|
+ "server-port": 53001,
|
|
|
|
+ "sender-ip": "",
|
|
|
|
+ "sender-port: 0,
|
|
|
|
+ "max-queue-size": 1024,
|
|
|
|
+ "ncr-protocol": "UDP",
|
|
|
|
+ "ncr-format": "JSON",
|
|
|
|
+ "override-no-update": false,
|
|
|
|
+ "override-client-update": false,
|
|
|
|
+ "replace-client-name": false,
|
|
|
|
+ "generated-prefix": "myhost",
|
|
|
|
+ "qualifying-suffix": "example.com"</userinput>
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
</para>
|
|
</para>
|
|
|
|
+ <!-- this paragraph no longer applies as we don't have default values
|
|
<para>
|
|
<para>
|
|
The "enable-updates" parameter determines whether or not b10-dhcp4 will
|
|
The "enable-updates" parameter determines whether or not b10-dhcp4 will
|
|
generate NCRs. By default, this value is false hence DDNS updates are
|
|
generate NCRs. By default, this value is false hence DDNS updates are
|
|
@@ -1133,7 +1173,7 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
<screen>
|
|
<screen>
|
|
> <userinput>config set Dhcp4/dhcp-ddns/enable-updates true</userinput>
|
|
> <userinput>config set Dhcp4/dhcp-ddns/enable-updates true</userinput>
|
|
> <userinput>config commit</userinput>
|
|
> <userinput>config commit</userinput>
|
|
-</screen>
|
|
|
|
|
|
+</screen> -->
|
|
<section id="dhcpv4-d2-io-config">
|
|
<section id="dhcpv4-d2-io-config">
|
|
<title>DHCP-DDNS Server Connectivity</title>
|
|
<title>DHCP-DDNS Server Connectivity</title>
|
|
<para>
|
|
<para>
|
|
@@ -1182,12 +1222,17 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
all of the default values mentioned above should be sufficient.
|
|
all of the default values mentioned above should be sufficient.
|
|
If, however, D2 has been configured to listen on a different address or
|
|
If, however, D2 has been configured to listen on a different address or
|
|
port, these values must altered accordingly. For example, if D2 has been
|
|
port, these values must altered accordingly. For example, if D2 has been
|
|
- configured to listen on 198.162.1.10 port 900, the following commands
|
|
|
|
|
|
+ configured to listen on 192.168.1.10 port 900, the following commands
|
|
would be required:
|
|
would be required:
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/server-ip "198.162.1.10"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/server-port 900</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns: {
|
|
|
|
+ <userinput>"server-ip": "192.168.1.10",
|
|
|
|
+ "server-port": 900</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
</para>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
@@ -1289,11 +1334,17 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
will be dropped by the b10-dhcp4.)
|
|
will be dropped by the b10-dhcp4.)
|
|
</para>
|
|
</para>
|
|
<para>
|
|
<para>
|
|
- To override client delegation, issue the following commands:
|
|
|
|
|
|
+ To override client delegation, set the following values in your configuration
|
|
|
|
+ file:
|
|
</para>
|
|
</para>
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/override-client-update true</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns": {
|
|
|
|
+ <userinput>"override-client-update": true</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
<para>
|
|
<para>
|
|
The third row in the table above describes the case in which the client
|
|
The third row in the table above describes the case in which the client
|
|
@@ -1307,8 +1358,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
To override client delegation, issue the following commands:
|
|
To override client delegation, issue the following commands:
|
|
</para>
|
|
</para>
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/override-no-update true</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns": {
|
|
|
|
+ <userinput>"override-no-update": true</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
<para>
|
|
<para>
|
|
b10-dhcp4 will always generate DDNS update requests if the client request
|
|
b10-dhcp4 will always generate DDNS update requests if the client request
|
|
@@ -1354,8 +1410,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
parameter "replace-client-name" to true as follows:
|
|
parameter "replace-client-name" to true as follows:
|
|
</para>
|
|
</para>
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/replace-client-name true</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns": {
|
|
|
|
+ <userinput>"replace-client-name": true</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
<para>
|
|
<para>
|
|
The prefix used in the generation of a FQDN is specified by the
|
|
The prefix used in the generation of a FQDN is specified by the
|
|
@@ -1363,8 +1424,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
its value simply set it to the desired string:
|
|
its value simply set it to the desired string:
|
|
</para>
|
|
</para>
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/generated-prefix "another.host"</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns": {
|
|
|
|
+ <userinput>"generated-prefix": "another.host"</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
<para>
|
|
<para>
|
|
The suffix used when generating a FQDN or when qualifying a partial
|
|
The suffix used when generating a FQDN or when qualifying a partial
|
|
@@ -1373,8 +1439,13 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
string:
|
|
string:
|
|
</para>
|
|
</para>
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config set Dhcp4/dhcp-ddns/generated-prefix "our.net"</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "dhcp-ddns": {
|
|
|
|
+ <userinput>"generated-prefix": "foo.example.org"</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ },
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
</section>
|
|
</section>
|
|
<para>
|
|
<para>
|
|
@@ -1394,26 +1465,6 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
</para>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
- </section> <!-- end of configuring b10-dhcp4 server section with many subsections -->
|
|
|
|
-
|
|
|
|
- <section id="dhcp4-serverid">
|
|
|
|
- <title>Server Identifier in DHCPv4</title>
|
|
|
|
- <para>
|
|
|
|
- The DHCPv4 protocol uses a "server identifier" for clients to be able
|
|
|
|
- to discriminate between several servers present on the same link: this
|
|
|
|
- value is an IPv4 address of the server. The server chooses the IPv4 address
|
|
|
|
- of the interface on which the message from the client (or relay) has been
|
|
|
|
- received. A single server instance will use multiple server identifiers
|
|
|
|
- if it is receiving queries on multiple interfaces.
|
|
|
|
- </para>
|
|
|
|
- <para>
|
|
|
|
- Currently there is no mechanism to override the default server identifiers
|
|
|
|
- by an administrator. In the future, the configuration mechanism will be used
|
|
|
|
- to specify the custom server identifier.
|
|
|
|
- </para>
|
|
|
|
- </section>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
<section id="dhcp4-next-server">
|
|
<section id="dhcp4-next-server">
|
|
<title>Next server (siaddr)</title>
|
|
<title>Next server (siaddr)</title>
|
|
<para>In some cases, clients want to obtain configuration from the TFTP server.
|
|
<para>In some cases, clients want to obtain configuration from the TFTP server.
|
|
@@ -1427,15 +1478,17 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
</para>
|
|
</para>
|
|
|
|
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/next-server</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/next-server "192.0.2.123"</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
-<userinput></userinput>
|
|
|
|
-> <userinput>config add Dhcp4/subnet[0]/next-server</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet[0]/next-server "192.0.2.234"</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ <userinput>"next-server": "192.0.2.123"</userinput>,
|
|
|
|
+ ...,
|
|
|
|
+ "subnet4": {
|
|
|
|
+ [
|
|
|
|
+ <userinput>"next-server": "192.0.2.234"</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ ]
|
|
|
|
+ }
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
-
|
|
|
|
</section>
|
|
</section>
|
|
|
|
|
|
<section id="dhcp4-echo-client-id">
|
|
<section id="dhcp4-echo-client-id">
|
|
@@ -1454,15 +1507,37 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
use the following commands:</para>
|
|
use the following commands:</para>
|
|
|
|
|
|
<screen>
|
|
<screen>
|
|
-> <userinput>config add Dhcp4/echo-client-id</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/echo-client-id False</userinput>
|
|
|
|
-> <userinput>config commit</userinput>
|
|
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ <userinput>"echo-client-id": false</userinput>,
|
|
|
|
+ ...
|
|
|
|
+}
|
|
</screen>
|
|
</screen>
|
|
|
|
+ </section>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ thomson
|
|
|
|
|
|
|
|
+ </section> <!-- end of configuring b10-dhcp4 server section with many subsections -->
|
|
|
|
+
|
|
|
|
+ <section id="dhcp4-serverid">
|
|
|
|
+ <title>Server Identifier in DHCPv4</title>
|
|
|
|
+ <para>
|
|
|
|
+ The DHCPv4 protocol uses a "server identifier" for clients to be able
|
|
|
|
+ to discriminate between several servers present on the same link: this
|
|
|
|
+ value is an IPv4 address of the server. The server chooses the IPv4 address
|
|
|
|
+ of the interface on which the message from the client (or relay) has been
|
|
|
|
+ received. A single server instance will use multiple server identifiers
|
|
|
|
+ if it is receiving queries on multiple interfaces.
|
|
|
|
+ </para>
|
|
|
|
+ <para>
|
|
|
|
+ Currently there is no mechanism to override the default server identifiers
|
|
|
|
+ by an administrator. In the future, the configuration mechanism will be used
|
|
|
|
+ to specify the custom server identifier.
|
|
|
|
+ </para>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
<section id="dhcp4-subnet-selection">
|
|
<section id="dhcp4-subnet-selection">
|
|
- <title>How DHCPv4 server selects subnet for a client</title>
|
|
|
|
|
|
+ <title>How DHCPv4 server selects a subnet for the client</title>
|
|
<para>
|
|
<para>
|
|
The DHCPv4 server differentiates between the directly connected clients,
|
|
The DHCPv4 server differentiates between the directly connected clients,
|
|
clients trying to renew leases and clients sending their messages through
|
|
clients trying to renew leases and clients sending their messages through
|
|
@@ -1498,7 +1573,6 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
mechanism alters the way in which subnet is selected for the client,
|
|
mechanism alters the way in which subnet is selected for the client,
|
|
depending on the classes that the client belongs to.</para>
|
|
depending on the classes that the client belongs to.</para>
|
|
</note>
|
|
</note>
|
|
- </section>
|
|
|
|
|
|
|
|
<section id="dhcp4-relay-override">
|
|
<section id="dhcp4-relay-override">
|
|
<title>Using specific relay agent for a subnet</title>
|
|
<title>Using specific relay agent for a subnet</title>
|
|
@@ -1528,12 +1602,21 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
The server will be able to select this subnet for any incoming packets
|
|
The server will be able to select this subnet for any incoming packets
|
|
that came from a relay that has an address in 192.0.2.0/24 subnet.
|
|
that came from a relay that has an address in 192.0.2.0/24 subnet.
|
|
It will also select that subnet for a relay with address 10.0.0.1.
|
|
It will also select that subnet for a relay with address 10.0.0.1.
|
|
- <screen>
|
|
|
|
-> <userinput>config add Dhcp4/subnet4</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/subnet "192.0.2.0/24"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/pool [ "192.0.2.10 - 192.0.2.20" ]</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/relay/ip-address "10.0.0.1"</userinput>
|
|
|
|
-> <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+<screen>
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "subnet4: [
|
|
|
|
+ {
|
|
|
|
+ "subnet": "192.0.2.0/24",
|
|
|
|
+ "pool": [ "192.0.2.10 - 192.0.2.20" ],
|
|
|
|
+ <userinput>"relay": {
|
|
|
|
+ "ip-address": "10.0.0.1"
|
|
|
|
+ }</userinput>,
|
|
|
|
+ ...
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}
|
|
|
|
+</screen>
|
|
</para>
|
|
</para>
|
|
|
|
|
|
</section>
|
|
</section>
|
|
@@ -1555,20 +1638,34 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
everything connected behind modems should get addresses from another
|
|
everything connected behind modems should get addresses from another
|
|
subnet (192.0.2.0/24). The CMTS that acts as a relay an uses address
|
|
subnet (192.0.2.0/24). The CMTS that acts as a relay an uses address
|
|
10.1.1.1. The following configuration can serve that configuration:
|
|
10.1.1.1. The following configuration can serve that configuration:
|
|
- <screen>
|
|
|
|
-> <userinput>config add Dhcp4/subnet4</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/subnet "10.1.1.0/24"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/pool [ "10.1.1.2 - 10.1.1.20" ]</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/client-class "docsis3.0"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[0]/relay/ip-address "10.1.1.1"</userinput>
|
|
|
|
-> <userinput>config add Dhcp4/subnet4</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[1]/subnet "192.0.2.0/24"</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[1]/pool [ "192.0.2.10 - 192.0.2.20" ]</userinput>
|
|
|
|
-> <userinput>config set Dhcp4/subnet4[1]/relay/ip-address "10.1.1.1"</userinput>
|
|
|
|
-> <userinput>config commit</userinput></screen>
|
|
|
|
|
|
+<screen>
|
|
|
|
+"Dhcp4": {
|
|
|
|
+ "subnet4: [
|
|
|
|
+ {
|
|
|
|
+ "subnet": "10.1.1.0/24",
|
|
|
|
+ "pool": [ "10.1.1.2 - 10.1.1.20" ],
|
|
|
|
+ <userinput>"client-class" "docsis3.0",
|
|
|
|
+ "relay": {
|
|
|
|
+ "ip-address": "10.1.1.1"
|
|
|
|
+ }</userinput>
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ "subnet": "192.0.2.0/24",
|
|
|
|
+ "pool": [ "192.0.2.10 - 192.0.2.20" ],
|
|
|
|
+ <userinput>"relay": {
|
|
|
|
+ "ip-address": "10.1.1.1"
|
|
|
|
+ }</userinput>
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
|
|
+ ...
|
|
|
|
+}
|
|
|
|
+</screen>
|
|
</para>
|
|
</para>
|
|
</section>
|
|
</section>
|
|
|
|
|
|
|
|
+ </section>
|
|
|
|
+
|
|
|
|
+
|
|
<section id="dhcp4-std">
|
|
<section id="dhcp4-std">
|
|
<title>Supported Standards</title>
|
|
<title>Supported Standards</title>
|
|
<para>The following standards and draft standards are currently
|
|
<para>The following standards and draft standards are currently
|
|
@@ -1618,6 +1715,12 @@ Dhcp4/dhcp-ddns/qualifying-suffix "example.com" string
|
|
</simpara>
|
|
</simpara>
|
|
</listitem>
|
|
</listitem>
|
|
<listitem>
|
|
<listitem>
|
|
|
|
+ <simpara>Host reservation (statis addresses) is not supported yet.</simpara>
|
|
|
|
+ </listitem>
|
|
|
|
+ <listitem>
|
|
|
|
+ <simpara>Full featured client classification is not supported yet.</simpara>
|
|
|
|
+ </listitem>
|
|
|
|
+ <listitem>
|
|
<simpara>
|
|
<simpara>
|
|
BOOTP (<ulink url="http://tools.ietf.org/html/rfc951">RFC 951</ulink>)
|
|
BOOTP (<ulink url="http://tools.ietf.org/html/rfc951">RFC 951</ulink>)
|
|
is not supported.
|
|
is not supported.
|