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 and the mipagent(1M) man page for a description of its usage.
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.
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 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.
How to Create the Mobile IP Configuration File shows the procedures to perform.
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 mobilenode@sun.com] 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} |
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} |
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 mobilenode@sun.com] 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} |
The Mobile IP configuration file contains the following sections:
General (Required)
Advertisements (Required)
GlobalSecurityParameters (Optional)
Pool (Optional)
SPI (Optional)
Address (Optional)
The General and GlobalSecurityParameters sections contain information relevant to the operation of the Mobile IP agent and can appear only once in the configuration file.
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 |
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-name] HomeAgent = <yes/no> ForeignAgent = <yes/no> . . |
Typically, your system has a single interface (le0, hme0, and so on) and supports both home agent and foreign agent operations. If this is the situation 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 mipagent 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 25–1 Advertisements Section Labels and Values
The GlobalSecurityParameters section contains the maxClockSkew, HA-FAauth, MN-FAauth, Challenge, and KeyDistribution labels. This section defines the security parameters. The GlobalSecurityParameters 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 re-register 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 25–2 GlobalSecurityParameters Section Labels and Values
Mobile nodes can be assigned dynamic addresses by the home agent. The dynamic address assignment is done within the mipagent 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 |
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 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 |
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 25–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 |
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. This section defines the security contexts. 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 hex digits. The maximum length is 16 bytes. For example, if the key is 16 bytes long, and contains the hex 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 25–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 |
The Solaris implementation of Mobile IP enables you to configure mobile nodes in 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.
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 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 25–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 |
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 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 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.
The following table describes the labels and values that you can use in the Address section for a mobility agent.
Table 25–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 |
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.
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 |
In order 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 format. 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 25–7 Address Section Labels and Values—Mobile Node Identified by Its NAI
Label |
Value |
Description |
---|---|---|
Type |
node |
Specifies entry for a mobile node |
SPI |
n |
Specifies 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 illustration.
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 enables you to reduce the size of the configuration file. Otherwise, each mobile node requires its own section. However, the Node-Default 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 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 25–8 Address Section Labels and Values—Default Mobile Node
Label |
Value |
Description |
---|---|---|
Type |
node |
Specifies entry for a mobile node |
SPI |
n |
Specifies 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 illustration.