ifupdown doesn't bring loopback to state up
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ifupdown (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Won't Fix
|
Undecided
|
Unassigned | ||
mailman (Ubuntu) |
Invalid
|
Undecided
|
Unassigned | ||
Trusty |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Upon booting a machine with the following setup on a relatively slimmed down netboot machine the loopback interface isn't brought up properly:
cat /etc/network/
auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eth0
iface eth0 inet6 auto
dhcp 1
#iface eth0 inet ipv4ll
auto eth1
iface eth1 inet6 auto
dhcp 1
#iface eth1 inet ipv4ll
Upon boot Loopback is unconfigured:
root@<hostname>:~# ip addr show dev lo
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
Try to bring the interface up:
root@<hostname>:~# ifup -v lo
ifup: interface lo already configured
Bring it down and up:
root@<hostname>:~# ifdown -v lo
Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts --verbose /etc/network/
Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts --verbose /etc/network/
Configuring interface lo=lo (inet6)
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts --verbose /etc/network/
root@<hostname>:~# ifup -v lo
Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
Configuring interface lo=lo (inet6)
run-parts --verbose /etc/network/
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
no change:
root@<hostname>:~# ip addr show dev lo
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
bring it down again:
root@<hostname>:~# ifdown lo
And up, but this time with --no-loopback:
root@<hostname>:~# ifup -v --no-loopback lo
Configuring interface lo=lo (inet)
run-parts --verbose /etc/network/
ip link set dev lo up
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
Configuring interface lo=lo (inet6)
run-parts --verbose /etc/network/
ip link set dev lo up 2>/dev/null
ip addr add dev lo ::1 2>/dev/null
run-parts --verbose /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
run-parts: executing /etc/network/
now it seems like something actually happened!
check:
root@<hostname>:~# ip addr show dev lo
1: lo: <LOOPBACK,
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
All seems fine, everything is working from here on.
My expectation is that ifup should configure the interface and set state to up, and ifdown should set state to down, even though it's a loopback that may or may not be magically autoconfigured somewhere else.
And a question:
If the case is that ifup shouldn't configure the loopback, what should configure it?
information type: | Public → Public Security |
information type: | Public Security → Public |
tags: | added: sts |
I forgot to include, other interfaces (eth*) are configured as expected upon boot:
root@<hostname>:~# ip addr show UP,LOWER_ UP> mtu 65536 qdisc noqueue state UNKNOWN group default MULTICAST, UP,LOWER_ UP> mtu 1500 qdisc mq state UP group default qlen 1000 address: 1/64 scope global temporary dynamic address: 2/64 scope global dynamic 2ff:feab: cbd8/64 scope link MULTICAST, UP,LOWER_ UP> mtu 1500 qdisc mq state UP group default qlen 1000 address: 3/64 scope global temporary dynamic address: 4/64 scope global dynamic 2ff:feab: cbd9/64 scope link
1: lo: <LOOPBACK,
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,
link/ether 00:9c:02:ab:cb:d8 brd ff:ff:ff:ff:ff:ff
inet6 my:ipv6:
valid_lft 603348sec preferred_lft 84348sec
inet6 my:ipv6:
valid_lft 2591995sec preferred_lft 604795sec
inet6 fe80::29c:
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,
link/ether 00:9c:02:ab:cb:d9 brd ff:ff:ff:ff:ff:ff
inet6 my:ipv6:
valid_lft 603348sec preferred_lft 84348sec
inet6 my:ipv6:
valid_lft 2591995sec preferred_lft 604795sec
inet6 fe80::29c:
valid_lft forever preferred_lft forever