This chapter describes commands that configure the IP Control
Protocol (IPCP) layer. To enable IPCP, ipcp option should be
enabled at the bundle layer. All of these commands apply to the currently
active bundle.
set ipcp ranges (local/width|ippool pool) (remote/width|ippool pool)This command determines what IP addresses mpd will allow to be
negotiated at the local and remote ends of the link. For each
endpoint, we have a target address and a netmask width. The
width determines how flexible we are, i.e., how
close the actual negotiated address must be to the target address.
A width of 32 means they must match exactly; a
width of zero means any address is suitable. For
example, 192.168.1.17/25 means that IP address
192.168.1.17 is desired, but any IP address in the range
192.168.1.0 through 192.168.1.128 is acceptable.
By convention, the local address may be
0.0.0.0 to request that the remote server assign us an IP
address. Of course, for this to work the remote side must know
a priori what our local IP address should be.
The remote address should not be
0.0.0.0. This is so if the peer requests 0.0.0.0,
we have some address to give him. The width may
of course be zero.
It is also possible to specify ippool name to use for assigning remote ip. In such case width 32 is assumed.
If the two sides cannot agree on the IP address assignments after repeated negotiation attempts, then the connection will fail. This is manifested with the error message ``IPCP: not converging.''
set ipcp dns primary [ secondary ]Some PPP clients request DNS server information from their remote peer.
This commands enables mpd to have an answer for any such clients.
This command is especially useful for supplying information to PPTP clients.
One or two DNS server IP addresses may be given. An address of
0.0.0.0 erases that entry.
set ipcp nbns primary [ secondary ]Some MIcrosoft PPP clients request NetBIOS name server (NBNS)
information from their remote peer. This commands enables mpd to
have an answer for any such clients. This command is especially
useful for supplying information to PPTP clients. One or two NBNS
server IP addresses may be given. An address of 0.0.0.0
erases that entry.
set ipcp accept option ... set ipcp deny option ... set ipcp enable option ... set ipcp disable option ... set ipcp yes option ... set ipcp no option ... These commands configure various IPCP options. The vjcomp
option is bi-directional in that it can be independently
enabled and disabled in each direction.
The enable and disable commands determine
whether we want the corresponding option.
The accept and deny commands determine
whether we will allow the peer to request the corresponding option.
The yes command is the same as
enable and accept.
The no command is the same as
disable and deny.
The options available at the IPCP layer are:
vjcompThis option enables Van Jacobson TCP header compression, which saves several bytes per TCP data packet. You almost always want this option. This compression ineffective for TCP connections with enabled modern extensions like time stamping or SACK, which modify TCP options between sequential packets.
Default enable and accept.
req-pri-dns req-sec-dns req-pri-nbns req-sec-nbns Enabling these options causes mpd to request primary and/or secondary DNS and/or NBNS servers from the remote peer during negotiation.
If any DNS servers are supplied by the peer, they will appear as
parameters to the script specified by the set iface up-script
command, if any.
Currently, mpd does not use the NBNS values for anything; they just appear in the log. A future revision may actually do something with them.