| .TH "IP\-ADDRESS" 8 "20 Dec 2011" "iproute2" "Linux" |
| .SH "NAME" |
| ip-address \- protocol address management |
| .SH "SYNOPSIS" |
| .sp |
| .ad l |
| .in +8 |
| .ti -8 |
| .B ip |
| .RI "[ " OPTIONS " ]" |
| .B address |
| .RI " { " COMMAND " | " |
| .BR help " }" |
| .sp |
| |
| .ti -8 |
| .BR "ip address" " { " add " | " change " | " replace " } " |
| .IB IFADDR " dev " IFNAME |
| .RI "[ " LIFETIME " ] [ " CONFFLAG-LIST " ]" |
| |
| .ti -8 |
| .BR "ip address del" |
| .IB IFADDR " dev " IFNAME " [ " mngtmpaddr " ]" |
| |
| .ti -8 |
| .BR "ip address" " { " save " | " flush " } [ " dev |
| .IR IFNAME " ] [ " |
| .B scope |
| .IR SCOPE-ID " ] [ " |
| .B metric |
| .IR METRIC " ] [ " |
| .B to |
| .IR PREFIX " ] [ " FLAG-LIST " ] [ " |
| .B label |
| .IR PATTERN " ] [ " up " ]" |
| |
| .ti -8 |
| .BR "ip address" " [ " show " [ " dev |
| .IR IFNAME " ] [ " |
| .B scope |
| .IR SCOPE-ID " ] [ " |
| .B to |
| .IR PREFIX " ] [ " FLAG-LIST " ] [ " |
| .B label |
| .IR PATTERN " ] [ " |
| .B master |
| .IR DEVICE " ] [ " |
| .B type |
| .IR TYPE " ] [ " |
| .B vrf |
| .IR NAME " ] [ " |
| .BR up " ] ]" |
| |
| .ti -8 |
| .BR "ip address" " { " showdump " | " restore " }" |
| |
| .ti -8 |
| .IR IFADDR " := " PREFIX " | " ADDR |
| .B peer |
| .IR PREFIX " [ " |
| .B broadcast |
| .IR ADDR " ] [ " |
| .B anycast |
| .IR ADDR " ] [ " |
| .B label |
| .IR LABEL " ] [ " |
| .B scope |
| .IR SCOPE-ID " ]" |
| |
| .ti -8 |
| .IR SCOPE-ID " := " |
| .RB "[ " host " | " link " | " global " | " |
| .IR NUMBER " ]" |
| |
| .ti -8 |
| .IR FLAG-LIST " := [ " FLAG-LIST " ] " FLAG |
| |
| .ti -8 |
| .IR FLAG " := [" |
| .RB [ - ] permanent " |" |
| .RB [ - ] dynamic " |" |
| .RB [ - ] secondary " |" |
| .RB [ - ] primary " |" |
| .RB [ - ] tentative " |" |
| .RB [ - ] deprecated " |" |
| .RB [ - ] dadfailed " |" |
| .RB [ - ] temporary " |" |
| .IR CONFFLAG-LIST " ]" |
| |
| .ti -8 |
| .IR CONFFLAG-LIST " := [ " CONFFLAG-LIST " ] " CONFFLAG |
| |
| .ti -8 |
| .IR CONFFLAG " := " |
| .RB "[ " home " | " mngtmpaddr " | " nodad " | " optimstic " | " noprefixroute " | " autojoin " ]" |
| |
| .ti -8 |
| .IR LIFETIME " := [ " |
| .BI valid_lft " LFT" |
| .RB "] [ " preferred_lft |
| .IR LFT " ]" |
| |
| .ti -8 |
| .IR LFT " := [ " |
| .BR forever " |" |
| .IR SECONDS " ]" |
| |
| .ti -8 |
| .IR TYPE " := [ " |
| .BR bridge " | " |
| .BR bridge_slave " |" |
| .BR bond " | " |
| .BR bond_slave " |" |
| .BR can " | " |
| .BR dummy " | " |
| .BR hsr " | " |
| .BR ifb " | " |
| .BR ipoib " |" |
| .BR macvlan " | " |
| .BR macvtap " | " |
| .BR vcan " | " |
| .BR veth " | " |
| .BR vlan " | " |
| .BR vxlan " |" |
| .BR ip6tnl " |" |
| .BR ipip " |" |
| .BR sit " |" |
| .BR gre " |" |
| .BR gretap " |" |
| .BR erspan " |" |
| .BR ip6gre " |" |
| .BR ip6gretap " |" |
| .BR ip6erspan " |" |
| .BR vti " |" |
| .BR vrf " |" |
| .BR nlmon " |" |
| .BR ipvlan " |" |
| .BR lowpan " |" |
| .BR geneve " |" |
| .BR macsec " ]" |
| |
| .SH "DESCRIPTION" |
| The |
| .B address |
| is a protocol (IPv4 or IPv6) address attached |
| to a network device. Each device must have at least one address |
| to use the corresponding protocol. It is possible to have several |
| different addresses attached to one device. These addresses are not |
| discriminated, so that the term |
| .B alias |
| is not quite appropriate for them and we do not use it in this document. |
| .sp |
| The |
| .B ip address |
| command displays addresses and their properties, adds new addresses |
| and deletes old ones. |
| |
| .SS ip address add - add new protocol address. |
| |
| .TP |
| .BI dev " IFNAME " |
| the name of the device to add the address to. |
| |
| .TP |
| .BI local " ADDRESS " (default) |
| the address of the interface. The format of the address depends |
| on the protocol. It is a dotted quad for IP and a sequence of |
| hexadecimal halfwords separated by colons for IPv6. The |
| .I ADDRESS |
| may be followed by a slash and a decimal number which encodes |
| the network prefix length. |
| |
| .TP |
| .BI peer " ADDRESS" |
| the address of the remote endpoint for pointopoint interfaces. |
| Again, the |
| .I ADDRESS |
| may be followed by a slash and a decimal number, encoding the network |
| prefix length. If a peer address is specified, the local address |
| cannot have a prefix length. The network prefix is associated |
| with the peer rather than with the local address. |
| |
| .TP |
| .BI broadcast " ADDRESS" |
| the broadcast address on the interface. |
| .sp |
| It is possible to use the special symbols |
| .B '+' |
| and |
| .B '-' |
| instead of the broadcast address. In this case, the broadcast address |
| is derived by setting/resetting the host bits of the interface prefix. |
| |
| .TP |
| .BI label " LABEL" |
| Each address may be tagged with a label string. |
| In order to preserve compatibility with Linux-2.0 net aliases, |
| this string must coincide with the name of the device or must be prefixed |
| with the device name followed by colon. |
| The maximum allowed total length of label is 15 characters. |
| |
| .TP |
| .BI scope " SCOPE_VALUE" |
| the scope of the area where this address is valid. |
| The available scopes are listed in file |
| .BR "@SYSCONFDIR@/rt_scopes" . |
| Predefined scope values are: |
| |
| .in +8 |
| .B global |
| - the address is globally valid. |
| .sp |
| .B site |
| - (IPv6 only, deprecated) the address is site local, i.e. it is |
| valid inside this site. |
| .sp |
| .B link |
| - the address is link local, i.e. it is valid only on this device. |
| .sp |
| .B host |
| - the address is valid only inside this host. |
| .in -8 |
| |
| .TP |
| .BI metric " NUMBER" |
| priority of prefix route associated with address. |
| |
| .TP |
| .BI valid_lft " LFT" |
| the valid lifetime of this address; see section 5.5.4 of |
| RFC 4862. When it expires, the address is removed by the kernel. |
| Defaults to |
| .BR "forever" . |
| |
| .TP |
| .BI preferred_lft " LFT" |
| the preferred lifetime of this address; see section 5.5.4 |
| of RFC 4862. When it expires, the address is no longer used for new |
| outgoing connections. Defaults to |
| .BR "forever" . |
| |
| .TP |
| .B home |
| (IPv6 only) designates this address the "home address" as defined in |
| RFC 6275. |
| |
| .TP |
| .B mngtmpaddr |
| (IPv6 only) make the kernel manage temporary addresses created from this one as |
| template on behalf of Privacy Extensions (RFC3041). For this to become active, |
| the \fBuse_tempaddr\fP sysctl setting has to be set to a value greater than |
| zero. The given address needs to have a prefix length of 64. This flag allows |
| to use privacy extensions in a manually configured network, just like if |
| stateless auto-configuration was active. |
| |
| .TP |
| .B nodad |
| (IPv6 only) do not perform Duplicate Address Detection (RFC 4862) when |
| adding this address. |
| |
| .TP |
| .B optimistic |
| (IPv6 only) When performing Duplicate Address Detection, use the RFC 4429 |
| optimistic variant. |
| |
| .TP |
| .B noprefixroute |
| Do not automatically create a route for the network prefix of the added |
| address, and don't search for one to delete when removing the address. Changing |
| an address to add this flag will remove the automatically added prefix route, |
| changing it to remove this flag will create the prefix route automatically. |
| |
| .TP |
| .B autojoin |
| Joining multicast groups on Ethernet level via |
| .B "ip maddr" |
| command does not work if connected to an Ethernet switch that does IGMP |
| snooping since the switch would not replicate multicast packets on ports that |
| did not have IGMP reports for the multicast addresses. |
| |
| Linux VXLAN interfaces created via |
| .B "ip link add vxlan" |
| have the |
| .B group |
| option that enables them to do the required join. |
| |
| Using the |
| .B autojoin |
| flag when adding a multicast address enables similar functionality for |
| Openvswitch VXLAN interfaces as well as other tunneling mechanisms that need to |
| receive multicast traffic. |
| |
| .SS ip address delete - delete protocol address |
| .B Arguments: |
| coincide with the arguments of |
| .B ip addr add. |
| The device name is a required argument. The rest are optional. |
| If no arguments are given, the first address is deleted. |
| |
| .SS ip address show - look at protocol addresses |
| |
| .TP |
| .BI dev " IFNAME " (default) |
| name of device. |
| |
| .TP |
| .BI scope " SCOPE_VAL" |
| only list addresses with this scope. |
| |
| .TP |
| .BI to " PREFIX" |
| only list addresses matching this prefix. |
| |
| .TP |
| .BI label " PATTERN" |
| only list addresses with labels matching the |
| .IR "PATTERN" . |
| .I PATTERN |
| is a usual shell style pattern. |
| |
| .TP |
| .BI master " DEVICE" |
| only list interfaces enslaved to this master device. |
| |
| .TP |
| .BI vrf " NAME " |
| only list interfaces enslaved to this vrf. |
| |
| .TP |
| .BI type " TYPE" |
| only list interfaces of the given type. |
| |
| Note that the type name is not checked against the list of supported types - |
| instead it is sent as-is to the kernel. Later it is used to filter the returned |
| interface list by comparing it with the relevant attribute in case the kernel |
| didn't filter already. Therefore any string is accepted, but may lead to empty |
| output. |
| |
| .TP |
| .B up |
| only list running interfaces. |
| |
| .TP |
| .BR dynamic " and " permanent |
| (IPv6 only) only list addresses installed due to stateless |
| address configuration or only list permanent (not dynamic) |
| addresses. These two flags are inverses of each other, so |
| .BR -dynamic " is equal to " permanent " and " |
| .BR -permanent " is equal to " dynamic . |
| |
| .TP |
| .B tentative |
| (IPv6 only) only list addresses which have not yet passed duplicate |
| address detection. |
| |
| .TP |
| .B -tentative |
| (IPv6 only) only list addresses which are not in the process of |
| duplicate address detection currently. |
| |
| .TP |
| .B deprecated |
| (IPv6 only) only list deprecated addresses. |
| |
| .TP |
| .B -deprecated |
| (IPv6 only) only list addresses not being deprecated. |
| |
| .TP |
| .B dadfailed |
| (IPv6 only) only list addresses which have failed duplicate |
| address detection. |
| |
| .TP |
| .B -dadfailed |
| (IPv6 only) only list addresses which have not failed duplicate |
| address detection. |
| |
| .TP |
| .BR temporary " or " secondary |
| List temporary IPv6 or secondary IPv4 addresses only. The Linux kernel shares a |
| single bit for those, so they are actually aliases for each other although the |
| meaning differs depending on address family. |
| |
| .TP |
| .BR -temporary " or " -secondary |
| These flags are aliases for |
| .BR primary . |
| |
| .TP |
| .B primary |
| List only primary addresses, in IPv6 exclude temporary ones. This flag is the |
| inverse of |
| .BR temporary " and " secondary . |
| |
| .TP |
| .B -primary |
| This is an alias for |
| .BR temporary " or " secondary . |
| |
| .SS ip address flush - flush protocol addresses |
| This command flushes the protocol addresses selected by some criteria. |
| |
| .PP |
| This command has the same arguments as |
| .BR show " except that " type " and " master " selectors are not supported." |
| Another difference is that it does not run when no arguments are given. |
| |
| .PP |
| .B Warning: |
| This command and other |
| .B flush |
| commands are unforgiving. They will cruelly purge all the addresses. |
| |
| .PP |
| With the |
| .B -statistics |
| option, the command becomes verbose. It prints out the number of deleted |
| addresses and the number of rounds made to flush the address list. |
| If this option is given twice, |
| .B ip address flush |
| also dumps all the deleted addresses in the format described in the |
| previous subsection. |
| |
| .SH "EXAMPLES" |
| .PP |
| ip address show |
| .RS 4 |
| Shows IPv4 and IPv6 addresses assigned to all network interfaces. The 'show' |
| subcommand can be omitted. |
| .RE |
| .PP |
| ip address show up |
| .RS 4 |
| Same as above except that only addresses assigned to active network interfaces |
| are shown. |
| .RE |
| .PP |
| ip address show dev eth0 |
| .RS 4 |
| Shows IPv4 and IPv6 addresses assigned to network interface eth0. |
| .RE |
| .PP |
| ip address add 2001:0db8:85a3::0370:7334/64 dev eth1 |
| .RS 4 |
| Adds an IPv6 address to network interface eth1. |
| .RE |
| .PP |
| ip address delete 2001:0db8:85a3::0370:7334/64 dev eth1 |
| .RS 4 |
| Delete the IPv6 address added above. |
| .RE |
| .PP |
| ip address flush dev eth4 scope global |
| .RS 4 |
| Removes all global IPv4 and IPv6 addresses from device eth4. Without 'scope |
| global' it would remove all addresses including IPv6 link-local ones. |
| .RE |
| |
| .SH SEE ALSO |
| .br |
| .BR ip (8) |
| |
| .SH AUTHOR |
| Original Manpage by Michail Litvak <mci@owl.openwall.com> |