Why can I connect to the IP of a network interface (on a server with multiple network interfaces) when the network cable is removed?
1
vote
1
answer
1108
views
I have a Server with multiple (four) network interfaces running Arch Linux when I encountered something strange that I cannot explain.
I have two interfaces configured to the the ip addresses
192.168.100.11/24
and 192.168.100.12/24
(using two netctl profiles).
Both interfaces are connected to a switch which also connects to my computer.
When I enable the profiles both interface seem to work quite okay.
But when I'm pinging the address of the main interface (192.168.100.11
) and removing its cable (while having the secondary interface up and running) I continue to getting replies from 192.168.100.11
even though no cable is attached to the interface. I even can successfully ssh 192.168.100.11
into the machine.
The output of ip addr
shows that the interface has no carrier and is down but still has it's IP address:
2: enp7s0f0: mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether 00:1e:67:a3:7f:b6 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.11/24 brd 192.168.100.255 scope global enp7s0f0
valid_lft forever preferred_lft forever
inet6 fd00::21e:67ff:fea3:7fb6/64 scope global mngtmpaddr dynamic
valid_lft 6836sec preferred_lft 3236sec
inet6 fe80::21e:67ff:fea3:7fb6/64 scope link
valid_lft forever preferred_lft forever
3: enp7s0f1: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1e:67:a3:7f:b7 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.12/24 brd 192.168.100.255 scope global enp7s0f1
valid_lft forever preferred_lft forever
inet6 fd00::21e:67ff:fea3:7fb7/64 scope global mngtmpaddr dynamic
valid_lft 6836sec preferred_lft 3236sec
inet6 fe80::21e:67ff:fea3:7fb7/64 scope link
valid_lft forever preferred_lft forever
When I do netctl status main
to check for the status the profile is still active:
# netctl status main
● netctl@main.service - Main interface
Loaded: loaded (/etc/systemd/system/netctl@main.service; enabled; vendor preset: disabled)
Active: active (exited) since Thu 2015-01-08 11:29:07 UTC; 25min ago
Docs: man:netctl.profile(5)
Main PID: 55293 (code=exited, status=0/SUCCESS)
Jan 08 11:29:03 timingserver1 network: Starting network profile 'main'...
Jan 08 11:29:07 timingserver1 network: Started network profile 'main'
How is this even possible?
It is important to me to understand the mechanics behind this.
The plan is that I have two redundant servers offering a service on the ip 192.168.100.11
. One of the servers will have the main interface down and both are connected to the same switch. The second interface on both servers is used for maintanance when the server is standby or degraded (of course they will not have the same IP).
So in case of a failover I will set the interface of the main-server down (or disconnect the cable) and activate the one on the backup-server. Of course, if the main-server still answers to 192.168.100.11
even if it is down, this would be bad... :-/
My netctl profile files:
* main interface
Description='Main interface'
Interface=enp7s0f0
Connection=ethernet
IP=static
Address=('192.168.100.11/24')
Gateway='192.168.100.1'
DNS=('192.168.100.1' '8.8.8.8')
* secondary interface
Description='Secondary interface'
Interface=enp7s0f1
Connection=ethernet
IP=static
Address=('192.168.100.12/24')
DNS=('192.168.100.2' '8.8.8.8')
I would appreciate it very much if anybody can direct me as how to archive my desired solution.
Maybe it's just something stupid I've overlooked or don't know about but at the moment this is bothering me quite a bit... :-/
Asked by deepthought-64
(123 rep)
Jan 8, 2015, 12:18 PM
Last activity: Jan 8, 2015, 08:44 PM
Last activity: Jan 8, 2015, 08:44 PM