Mobile IP Configuration File
The mipagent command reads configuration information from the /etc/inet/mipagent.conf configuration file at startup. Mobile
IP uses the /etc/inet/mipagent.conf configuration file to initialize the Mobile IP mobility agent.
When configured and deployed, the mobility agent issues periodic router advertisements and responds
to router discovery solicitation messages as well as Mobile IP registration messages.
See the mipagent.conf(4) man page for a description of file attributes. See the
mipagent(1M) man page for a description of this file's usage.
Configuration File Format
The Mobile IP configuration file consists of sections. Each section has a
unique name and is enclosed in square brackets. Each section contains one or
more labels. You assign values to the labels by using the following format:
[Section_name]
Label-name = value-assigned
Configuration File Sections and Labels describes the section names, labels, and possible values.
Sample Configuration Files
The default Solaris installation provides the following sample configuration files in the /etc/inet
directory:
mipagent.conf-sample – Contains a sample configuration for a Mobile IP agent that provides both foreign agent and home agent functionality
mipagent.conf.fa-sample – Contains a sample configuration for a Mobile IP agent that provides only foreign agent functionality
mipagent.conf.ha-sample – Contains a sample configuration for a Mobile IP agent that provides only home agent functionality
These sample configuration files contain mobile node address and security settings. Before you
can implement Mobile IP, you must create a configuration file with the name
mipagent.conf and place it in the /etc/inet directory. This file contains the configuration
settings that satisfy your Mobile IP implementation requirements. You can also choose one
of the sample configuration files, modify it with your addresses and security settings,
and copy it to /etc/inet/mipagent.conf.
For more information, see How to Create the Mobile IP Configuration File.
mipagent.conf-sample File
The following listing shows the sections, labels, and values that are contained in
the mipagent.conf-sample file. Configuration File Sections and Labels describes the syntax, sections, labels, and values.
[General]
Version = 1.0 # version number for the configuration file. (required)
[Advertisements hme0]
HomeAgent = yes
ForeignAgent = yes
PrefixFlags = yes
AdvertiseOnBcast = yes
RegLifetime = 200
AdvLifetime = 200
AdvFrequency = 5
ReverseTunnel = no
ReverseTunnelRequired = no
[GlobalSecurityParameters]
MaxClockSkew = 300
HA-FAauth = yes
MN-FAauth = yes
Challenge = no
KeyDistribution = files
[Pool 1]
BaseAddress = 10.68.30.7
Size = 4
[SPI 257]
ReplayMethod = none
Key = 11111111111111111111111111111111
[SPI 258]
ReplayMethod = none
Key = 15111111111111111111111111111111
[Address 10.1.1.1]
Type = node
SPI = 258
[Address [email protected]]
Type = node
SPI = 257
Pool = 1
[Address Node-Default]
Type = node
SPI = 258
Pool = 1
[Address 10.68.30.36]
Type = agent
SPI = 257[Address 10.68.30.36]
Type = agent
SPI = 257
IPsecRequest = apply {auth_algs md5 sa shared}
IPsecReply = permit {auth_algs md5}
IPsecTunnel = apply {encr_algs 3des sa shared}
mipagent.conf.fa-sample File
The following listing shows the sections, labels, and values that are contained in
the mipagent.conf.fa-sample file. Configuration File Sections and Labels describes the syntax, sections, labels, and values.
The mipagent.conf.fa-sample file shows a configuration that provides only foreign agent functionality. This
sample file does not contain a Pool section because pools are used only
by a home agent. Otherwise, this file is the same as the mipagent.conf-sample
file.
[General]
Version = 1.0 # version number for the configuration file. (required)
[Advertisements hme0]
HomeAgent = no
ForeignAgent = yes
PrefixFlags = yes
AdvertiseOnBcast = yes
RegLifetime = 200
AdvLifetime = 200
AdvFrequency = 5
ReverseTunnel = yes
ReverseTunnelRequired = no
[GlobalSecurityParameters]
MaxClockSkew = 300
HA-FAauth = yes
MN-FAauth = yes
Challenge = no
KeyDistribution = files
[SPI 257]
ReplayMethod = none
Key = 11111111111111111111111111111111
[SPI 258]
ReplayMethod = none
Key = 15111111111111111111111111111111
[Address 10.1.1.1]
Type = node
SPI = 258
[Address 10.68.30.36]
Type = agent
SPI = 257[Address 10.68.30.36]
Type = agent
SPI = 257
IPsecRequest = apply {auth_algs md5 sa shared}
IPsecReply = permit {auth_algs md5}
IPsecTunnel = apply {encr_algs 3des sa shared}
mipagent.conf.ha-sample File
The following listing shows the sections, labels, and values that are contained in
the mipagent.conf.ha-sample file. Configuration File Sections and Labels describes the syntax, sections, labels, and values.
The mipagent.conf.ha-sample file shows a configuration that provides only home agent functionality. Otherwise,
this file is the same as the mipagent.conf-sample file.
[General]
Version = 1.0 # version number for the configuration file. (required)
[Advertisements hme0]
HomeAgent = yes
ForeignAgent = no
PrefixFlags = yes
AdvertiseOnBcast = yes
RegLifetime = 200
AdvLifetime = 200
AdvFrequency = 5
ReverseTunnel = yes
ReverseTunnelRequired = no
[GlobalSecurityParameters]
MaxClockSkew = 300
HA-FAauth = yes
MN-FAauth = yes
Challenge = no
KeyDistribution = files
[Pool 1]
BaseAddress = 10.68.30.7
Size = 4
[SPI 257]
ReplayMethod = none
Key = 11111111111111111111111111111111
[SPI 258]
ReplayMethod = none
Key = 15111111111111111111111111111111
[Address 10.1.1.1]
Type = node
SPI = 258
[Address [email protected]]
Type = node
SPI = 257
Pool = 1
[Address Node-Default]
Type = node
SPI = 258
Pool = 1[Address 10.68.30.36]
Type = agent
SPI = 257
IPsecRequest = apply {auth_algs md5 sa shared}
IPsecReply = permit {auth_algs md5}
IPsecTunnel = apply {encr_algs 3des sa shared}
Configuration File Sections and Labels
The Mobile IP configuration file contains the following sections:
The General and GlobalSecurityParameters sections contain information relevant to the operation
of the Mobile IP agent. These sections can appear only once in the
configuration file.
General Section
The General section contains only one label: the version number of the configuration
file. The General section has the following syntax:
[General]
Version = 1.0
Advertisements Section
The Advertisements section contains the HomeAgent and ForeignAgent labels, as well as
other labels. You must include a different Advertisements section for each interface on the
local host that provides Mobile IP services. The Advertisements section has the following
syntax:
[Advertisements interface]
HomeAgent = <yes/no>
ForeignAgent = <yes/no>
.
.
Typically, your system has a single interface, such as eri0 or hme0,
and supports both home agent and foreign agent operations. If this situation exists
for the example hme0, then the yes value is assigned to both the
HomeAgent and ForeignAgent labels as follows:
[Advertisements hme0]
HomeAgent = yes
ForeignAgent = yes
.
.
For advertisement over dynamic interfaces, use '*' for the device ID part.
For example, Interface-name ppp* actually implies all PPP interfaces that are configured after the
mipagent daemon has been started. All the attributes in the advertisement section of
a dynamic interface type remain the same.
The following table describes the labels and values that you can use
in the Advertisements section.
Table 29-1 Advertisements Section Labels and Values
Label |
Value |
Description |
HomeAgent |
yes or no |
Determines if the mipagent daemon provides home agent functionality. |
ForeignAgent |
yes
or no |
Determines if mipagent provides foreign agent functionality. |
PrefixFlags |
yes or no |
Specifies if advertisements
include the optional prefix-length extension. |
AdvertiseOnBcast |
yes or no |
If yes, advertisements are sent on
255.255.255.255, rather than 224.0.0.1. |
RegLifetime |
n |
The maximum lifetime value that is accepted in registration
requests, in seconds. |
AdvLifetime |
n |
The maximum length of time that the advertisement is considered valid in
the absence of further advertisements, in seconds. |
AdvFrequency |
n |
Time between two consecutive advertisements, in
seconds. |
ReverseTunnel |
yes or noFA or HA or both |
Determines if mipagent provides reverse-tunnel functionality.
The value yes means that both the foreign agent and home agent support
reverse tunneling. The value no means that the interface does not support reverse
tunneling. The value FA means that the foreign agent supports reverse tunneling. The value
HA means that the home agent supports reverse tunneling. The value both means
that both the foreign agent and home agent support reverse tunneling. |
ReverseTunnelRequired |
yes or no |
Determines
if mipagent requires reverse tunnel functionality. Consequently, determines if a mobile node must
request a reverse tunnel during registration. The value yes means that both the
foreign agent and home agent require a reverse tunnel. The value no means
that the interface does not require a reverse tunnel. The value FA means that
the foreign agent requires a reverse tunnel. The value HA means that the
home agent requires a reverse tunnel. |
AdvInitCount |
n |
Determines the initial number of unsolicited advertisements. The
default value is 1. This value is meaningful only if AdvLimitUnsolicited is yes. |
AdvLimitUnsolicited |
yes
or no |
Enables or disables a limited number of unsolicited advertisements over the mobility
interface. |
GlobalSecurityParameters Section
The GlobalSecurityParameters section contains the labels maxClockSkew, HA-FAauth, MN-FAauth, Challenge, and KeyDistribution.
This section has the following syntax:
[GlobalSecurityParameters]
MaxClockSkew = n
HA-FAauth = <yes/no>
MN-FAauth = <yes/no>
Challenge = <yes/no>
KeyDistribution = files
The Mobile IP protocol provides message replay protection by allowing timestamps to be
present in the messages. If the clocks differ, the home agent returns an
error to the mobile node with the current time and the mobile
node can register again by using the current time. You use the MaxClockSkew
label to configure the maximum number of seconds that differ between the home
agent and the mobile node's clocks. The default value is 300 seconds.
The HA-FAauth and MN-FAauth labels enable or disable the requirement for home-foreign and
mobile-foreign authentication, respectively. The default value is disabled. You use the challenge label
so that the foreign agent issues challenges to the mobile node in its
advertisements. The label is used for replay protection. The default value is disabled
here, also.
The following table describes the labels and values that you can use
in the GlobalSecurityParameters section.
Table 29-2 GlobalSecurityParameters Section Labels and Values
Label |
Value |
Description |
MaxClockSkew |
n |
The number of seconds that mipagent accepts as a difference between
its own local time and the time that is found in registration
requests |
HA-FAauth |
yes or no |
Specifies if HA-FA authentication extensions must be present in registration requests
and replies |
MN-FAauth |
yes or no |
Specifies if MN-FA authentication extensions must be present in
registration requests and replies |
Challenge |
yes or no |
Specifies if the foreign agent includes challenges in
its mobility advertisements |
KeyDistribution |
files |
Must be set to files |
Pool Section
Mobile nodes can be assigned dynamic addresses by the home agent. Dynamic address
assignment is done within the mipagent daemon independently of DHCP. You can create
an address pool that can be used by mobile nodes by requesting a
home address. Address pools are configured through the Pool section in the configuration
file.
The Pool section contains the BaseAddress and Size labels. The Pool section
has the following syntax:
[Pool pool-identifier]
BaseAddress = IP-address
Size = size
Note - If you use a Pool identifier, then it must also exist in the
mobile node's Address section.
You use the Pool section to define address pools that can be assigned
to the mobile nodes. You use the BaseAddress label to set the first
IP address in the pool. You use the Size label to specify the
number of addresses available in the pool.
For example, if IP addresses 192.168.1.1 through 192.168.1.100 are reserved in pool
10, the Pool section has the following entry:
[Pool 10]
BaseAddress = 192.168.1.1
Size = 100
Note - Address ranges should not encompass the broadcast address. For example, you should not
assign BaseAddress = 192.168.1.200 and Size = 60, because this range encompasses the broadcast address 192.168.1.255.
The following table describes the labels and values that are used in
the Pool section.
Table 29-3 Pool Section Labels and Values
Label |
Value |
Description |
BaseAddress |
n.n.n.n |
First address in the address pool |
Size |
n |
Number of addresses in
the pool |
SPI Section
Because the Mobile IP protocol requires message authentication, you must identify the security
context by using a security parameter index (SPI). You define the security context
in the SPI section. You must include a different SPI section for
each security context that is defined. A numerical ID identifies the security context.
The Mobile IP protocol reserves the first 256 SPIs. Therefore, you should use
only SPI values greater than 256. The SPI section contains security-related information, such
as shared secrets and replay protection.
The SPI section also contains the ReplayMethod and Key labels. The SPI
section has the following syntax:
[SPI SPI-identifier]
ReplayMethod = <none/timestamps>
Key = key
Two communicating peers must share the same SPI identifier. You must configure them
with the same key and replay method. You specify the key as
a string of hexadecimal digits. The maximum length is 16 bytes. For example,
if the key is 16 bytes long, and contains the hexadecimal values 0
through f, the key string might resemble the following:
Key = 0102030405060708090a0b0c0d0e0f10
Keys must have an even number of digits, corresponding to the two
digits per byte representation.
The following table describes the labels and values that you can use
in the SPI section.
Table 29-4 SPI Section Labels and Values
Label |
Value |
Description |
ReplayMethod |
none or timestamps |
Specifies the type of replay authentication used for
the SPI |
Key |
x |
Authentication key in hexadecimal |
Address Section
The Solaris implementation of Mobile IP enables you to configure mobile nodes using
one of three methods. Each method is configured in the Address section.
The first method follows the traditional Mobile IP protocol, and requires that each
mobile node have a home address. The second method enables a mobile node
to be identified through its Network Access Identifier (NAI). The last method enables
you to configure a default mobile node, which can be used by any
mobile node that has the proper SPI value and related keying material.
Mobile Node
The Address section for a mobile node contains the Type and SPI
labels that define the address type and SPI identifier. The Address section has
the following syntax:
[Address address]
Type = node
SPI = SPI-identifier
You must include an Address section in a home agent's configuration file for
each mobile node that is supported.
If Mobile IP message authentication is required between the foreign agent and home
agent, you must include an Address section for each peer with which an
agent needs to communicate.
The SPI value that you configure must represent an SPI section that is
present in the configuration file.
You can also configure private addresses for a mobile node.
The following table describes the labels and values that you can use
in the Address section for a mobile node.
Table 29-5 Address Section Labels and Values (Mobile Node)
Label |
Value |
Description |
Type |
node |
Specifies that the entry is
for a mobile node |
SPI |
n |
Specifies the SPI value for the associated entry |
Mobility Agent
The Address section for a mobility agent contains the Type and SPI
labels that define the address type and SPI identifier. This section also contains
IPsec request, reply, and tunnel labels. The Address section for a mobility agent
has the following syntax:
[Address address]
Type = agent
SPI = SPI-identifier
IPsecRequest = action {properties} [: action {properties}]
IPsecReply = action {properties} [: action {properties}]
IPsecTunnel = action {properties} [: action {properties}]
You must include an Address section in a home agent's configuration file for
each mobility agent that is supported.
If Mobile IP message authentication is required between the foreign agent and the
home agent, you must include an Address section for each peer with which
an agent needs to communicate.
The SPI value that you configure must represent an SPI section that is
present in the configuration file.
The following table describes the labels and values that you can use
in the Address section for a mobility agent.
Table 29-6 Address Section Labels and Values (Mobility Agent)
Label |
Value |
Description |
Type |
agent |
Specifies that the entry is
for a mobility agent |
SPI |
n |
Specifies the SPI value for the associated entry |
IPsecRequest |
apply or
permit (see following note) |
IPsec properties to invoke for registration requests to and
from this mobility agent peer |
IPsecReply |
apply or permit (see following note) |
IPsec properties to invoke
for registration replies to and from this mobility agent peer |
IPsecTunnel |
apply or permit (see
following note) |
IPsec properties to invoke for tunnel traffic to and from this
mobility agent peer |
Note - The apply values correspond to outbound datagrams. The permit values correspond to inbound
datagrams. Therefore, IPsecRequest apply values and IPsecReply permit values are used by the foreign agent
to send and receive registration datagrams. The IPsecRequest permit values and the IPsecReply apply values
are used by the home agent to receive and send registration datagrams.
Mobile Node Identified by Its NAI
The Address section for a mobile node that is identified by its NAI
contains the Type, SPI, and Pool labels. The NAI parameter enables you
to identify mobile nodes through their NAI. The Address section, using the NAI
parameter, has the following syntax:
[Address NAI]
Type = Node
SPI = SPI-identifier
Pool = pool-identifier
To use pools, you identify mobile nodes through their NAI. The Address
section permits you to configure an NAI, as opposed to a home
address. An NAI uses the format user@domain. You use the Pool label to specify
which address pool to use in order to allocate the home address
to the mobile node.
The following table describes the labels and values that you can use
in the Address section for a mobile node that is identified by its NAI.
Table 29-7 Address Section Labels and Values (Mobile Node Identified by Its NAI)
Label |
Value |
Description |
Type |
node |
Specifies
that the entry is for a mobile node |
SPI |
n |
Specifies the SPI value for
the associated entry |
Pool |
n |
Allocates the pool from which an address is assigned to
a mobile node |
You must have corresponding SPI and Pool sections for the SPI and Pool
labels that are defined in an Address section with a mobile node that
is identified by its NAI, as shown in the following figure.
Figure 29-1 Corresponding SPI and Pool Sections for Address Section With Mobile Node Identified by Its NAI
Default Mobile Node
The Address section for a default mobile node contains the Type, SPI,
and Pool labels. The Node-Default parameter enables you to permit all mobile
nodes to get service if they have the correct SPI (defined in this
section). The Address section, using the Node-Default parameter, has the following syntax:
[Address Node-Default]
Type = Node
SPI = SPI-identifier
Pool = pool-identifier
The Node-Default parameter enables you to reduce the size of the configuration file.
Otherwise, each mobile node requires its own section. However, the Node-Default parameter does
pose a security risk. If a mobile node is no longer trusted for
any reason, you need to update the security information on all trusted mobile
nodes. This task can be very tedious. However, you can use the
Node-Default parameter in networks that consider security risks unimportant.
The following table describes the labels and values that you can use
in the Address section for a default mobile node.
Table 29-8 Address Section Labels and Values (Default Mobile Node)
Label |
Value |
Description |
Type |
node |
Specifies that the entry is
for a mobile node |
SPI |
n |
Specifies the SPI value for the associated entry |
Pool |
n |
Allocates the
pool from which an address is assigned to a mobile node |
You must have corresponding SPI and Pool sections for the SPI and Pool
labels that are defined in the Address section with a default mobile node,
as shown in the following figure.
Figure 29-2 Corresponding SPI and Pool Sections for Address Section With a Default Mobile Node