changeip(8) BSD System Manager's Manual changeip(8)
NAME
changeip -- Change service configuration files with hard-coded IP
addresses
SYNOPSIS
changeip [-v] [-d path] old-ip [new-ip] [old-hostname new-hostname]
changeip -checkhostname
changeip -h
DESCRIPTION
changeip is used to manually update configuration records when a server's
IP address or hostname changed in a way that affected services were
unable to properly process, for example when the server is behind a NAT
device and the WAN identity changed.
In typical usage, this command is used by an administrator to correct
affected services when a server's network information changes. changeip
can be invoked before the change is applied; in such an invocation, the
arguments consist of the server's current and pending IP addresses, and
optionally the existing and new host name. Their usage and valid values
include:
old-ip If the IP address has not yet been changed, this is the
existing IP address of the server. If the IP has already
been changed, this is the previous address. (This is the
value that will be replaced in the server's relevant con-
figuration files.)
new-ip If the IP address has not yet been changed, this is the IP
address that will be assigned to the server. If the IP has
already been changed, this is the existing IP address. This
value will replace old-ip in the machine's configuration.
old-hostname As with old-ip, the existing or previous fully qualified
domain name ("FQDN" or sometimes "DNS name") for this
server. If only the IP address was affected, this argument
and the next may be omitted.
new-hostname If old-hostname was provided, this argument must also be
provided. The machine's fully qualified domain name and
related service configuration will be set to this value.
Once the tool has successfully completed, the administrator must change
the machine's network settings in the Network Control Panel to match
new-ip (if new-ip is not the current IP) and immediately reboot the
server.
The second invocation, -checkhostname, provides a diagnostic tool that
compares the current IP address and hostname to the information returned
by DNS.
The final invocation prints usage information.
changeip must be run as root.
OPTIONS
The following options are available:
-d path Iterate over the executables in path instead of the default
/Applications/Server.app/Contents/ServerRoot/usr/libexec/changeip.
-h Print usage summary and exit.
-v Run verbosely, that is with additional diagnostic output.
FILES & FOLDERS
/Applications/Server.app/Contents/ServerRoot/usr/sbin/changeip
- daemon
/Applications/Server.app/Contents/ServerRoot/usr/libexec/changeip/
- directory containing service-specific tools
EXAMPLES
This would be a typical invocation for a server redeployment:
/Applications/Server.app/Contents/ServerRoot/usr/sbin/changeip
It is also possible to leave the host name intact and only change the IP
address:
/Applications/Server.app/Contents/ServerRoot/usr/sbin/changeip
192.0.0.12 192.0.1.10
Its complement could be used to change only the host names, perhaps
because the DNS tables have been changed:
/Applications/Server.app/Contents/ServerRoot/usr/sbin/changeip
192.0.0.12 192.0.0.12 old.example.com new.example.com
Note how the IP addresses are required, but that they are identical.
Optionally you may supply only a single IP Address if only the hostname
is changing.
/Applications/Server.app/Contents/ServerRoot/usr/sbin/changeip
192.0.0.12 old.example.com new.example.com
Note a warning will be returned if, after setting the new hostname, it
does not resolve to the IP Address supplied.
DIAGNOSTICS
The changeip utility exits 0 on success, and >0 if an error occurs.
/Applications/Server.app/Contents/ServerRoot/usr/sbin/changeip must be
run as root. Because changeip modifies system-wide resources, it must be
executed by the root user.
Invalid IP Address: One of the IP address arguments was invalid.
SEE ALSO
dscl(1), DirectoryServiceAttributes(7), DirectoryService(8), scutil(8)
KNOWN ISSUES
The script does not perform the actual change of IP address; this is by
design.
HISTORY
A version of changeip has been present in Mac OS X Server since at least
version 10.3 (Panther).
In 10.6 (Snow Leopard), changeip no longer manipulates the directory and
therefore no longer takes a directory URL as an argument.
Mac OS X Server 10.8 September 17, 2008 Mac OS X Server 10.8