The Linux 2.2 kernel brought about a highly advanced networking stack. One of the things to come out of this was a unified set of tools for configuring networking as opposed to the combination of ifconfig, route, arp etc, which don't allow full access to the new networking stacks capabilities.
Note: iproute may also be referred to as iproute2 ⚫ iproute2 Official website.ip is the main tool and replaces a whole bunch of the older tools.
# ip linkBring up your network interface and give it an IP address.
# ip link set dev eth0 up # ip addr add 192.168.1.5/24 brd + dev eth0Adding an IPv6 address is simpler as there's no broadcast address. e.g
# ip addr add 2001:db8:1234:abcd::f00/64 dev eth0Add a default route to your router (192.168.1.1).
# ip route add default via 192.168.1.1 dev eth0You no longer need to think in terms of IP aliases and can simply add extra IP's using the above command. e.g to add another address to eth0.
# ip addr add 192.168.1.101/24 brd + dev eth0If however you'd like to keep the old conventions, you can name them e.g
# ip addr add 192.168.1.101/24 brd + label eth0:0 dev eth0But that really isn't necessary. To show your IP addresses
# ip addrOr for just a specific interface, e.g eth0
# ip addr show eth0You can also use the -4 and -6 options to only show IPv4 and IPv6 entries respectively. To view the IPv4 routing table use
# ip routeand for the IPv6 routing table
# ip -6 routeTo view the arp cache
# ip neigh