...
First make sure you know how your current IP Address setting looksnetwork looks on your server with the already assigned IP address,
Code Block | ||
---|---|---|
| ||
ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:16:3c:3f:68:7f
inet addr:64.73.220.110 Bcast:64.73.220.255 Mask:255.255.255.0
inet6 addr: fe80::216:3cff:fe3f:687f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1677062 errors:0 dropped:952 overruns:0 frame:0
TX packets:11659 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:88552695 (88.5 MB) TX bytes:2706451 (2.7 MB)
# you will see more but ignore
cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# get gateway
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 64.73.220.1 0.0.0.0 UG 0 0 0 eth0
10.0.3.0 0.0.0.0 255.255.255.0 U 0 0 0 lxcbr0
64.73.220.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
# Get name servers,
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 216.15.129.205
nameserver 216.15.129.206 |
Key things to note is your ethernet card device name (usually eth0) and Mask., mask, gateway and name servers. In this example,
Network Attribute | Value |
---|---|
ethernet card device | eth0 |
mask | 255.255.255.0 |
gateway | 64.73.220.1 |
name servers | 216.15.129.205 |
Temporary to Test
You may use the ifconfig or ip command. I prefer like the ifconfig so as you do not need to to calculate the netmask from Dotted Decimal to Bitmask (Bits). I also noticed a difference between the two commands. With the ifconfig, a brd number is added. I have no idea what the brd number is used for. Both approaches do work.
In this example, we will add 64.73.220.110 to the existing ethernet card.
ifconfig Approach
This approach has a brd number,
Code Block | ||
---|---|---|
| ||
# syntax ifconfig [nic]:0 [IP-Address] netmask [mask] up sudo with add or del to add or delete the ip # ip address add/del [ip]/[mask-digits] dev [nic] ifconfig eth0:0 64.73.220.111117 netmask 255.255.255.0 up # verify new address shows up, ip addr show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:16:3c:3f:68:7f brd ff:ff:ff:ff:ff:ff inet 64.73.220.110/24 brd 64.73.220.255 scope global eth0 valid_lft forever preferred_lft forever inet 64.73.220.111/24 brd 64.73.220.255 scope global secondary eth0:0 valid_lft forever preferred_lft forever inet6 fe80::216:3cff:fe3f:687f/64 scope link valid_lft forever preferred_lft forever 3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether fe:33:d8:e0:ef:6b brd ff:ff:ff:ff:ff:ff inet 10.0.3.1/24 brd 10.0.3.255 scope global lxcbr0 valid_lft forever preferred_lft forever inet6 fe80::b06f:d2ff:fe9d:49be/64 scope link valid_lft forever preferred_lft forever 5: vethHVREWV: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master lxcbr0 state UP group default qlen 1000 link/ether fe:33:d8:e0:ef:6b brd ff:ff:ff:ff:ff:ff inet6 fe80::fc33:d8ff:fee0:ef6b/64 scope link valid_lft forever preferred_lft forever |
Test using the ping command from your a client machine.
Add a permanent IP Address
ip Approach
This approach results in not brd number and you need to make sure to calculate the netmask from Dotted Decimal to Bitmask (Bits). In this case, 255.255.255.0 = 24,
Code Block | ||
---|---|---|
| ||
# syntax with add or del to add or delete the ip
# ip address add/del [ip]/[mask-digits] dev [nic]
sudo ip address add 64.73.220.111/24 dev eth0
# verify new address shows up,
ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:16:3c:3f:68:7f brd ff:ff:ff:ff:ff:ff
inet 64.73.220.110/24 brd 64.73.220.255 scope global eth0
valid_lft forever preferred_lft forever
inet 64.73.220.111/24 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 fe80::216:3cff:fe3f:687f/64 scope link
valid_lft forever preferred_lft forever
3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
link/ether fe:33:d8:e0:ef:6b brd ff:ff:ff:ff:ff:ff
inet 10.0.3.1/24 brd 10.0.3.255 scope global lxcbr0
valid_lft forever preferred_lft forever
inet6 fe80::b06f:d2ff:fe9d:49be/64 scope link
valid_lft forever preferred_lft forever
5: vethHVREWV: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master lxcbr0 state UP group default qlen 1000
link/ether fe:33:d8:e0:ef:6b brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc33:d8ff:fee0:ef6b/64 scope link
valid_lft forever preferred_lft forever |
Add a permanent IP Address
To make the changes permanent modify the /etc/network/interfaces with the following syntax,
Code Block | ||
---|---|---|
| ||
auto [NIC]:[n]
iface [NIC]:[n] inet static
address [ip.add.rr.ss]
gateway [gw.ip.ad.rs]
netmask [ne.tm.as.kk] |
Continuing with the example the full file would look like this,
Code Block | ||
---|---|---|
| ||
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# Second IP
auto eth0:1
iface eth0:1 inet static
address 64.73.220.111
gateway 64.73.220.1
netmask 255.255.255.0
dns-nameservers 216.15.129.205 216.15.129.206 |
Based on my home server work, name server entries are required for static entries. But in this this case, it is a second entry and resolv.conf has the name servers listed from the first dhcp assigned network card. Will test how this pans out without name server first then update here if needed.
References
Best article yet - https://www.garron.me/en/linux/add-secondary-ip-linux.html
...