A switch advertises the IPv6 link-local address fe80::2e0:81ff:fe12:3456. Running `ping fe80::2e0:81ff:fe12:3456` on a host with several interfaces fails immediately with `connect: Invalid argument`. What is the correct fix?

LPIC-1 Exam 102-500, objective 109. Networking fundamentals hard

Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.

Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.

How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.

The options

Correct Name the interface, either as ping fe80::2e0:81ff:fe12:3456%eth0 or with ping -I eth0

Correct. Link-local addresses are only unique within one link, so the kernel cannot pick an outgoing interface for them. Supplying the zone with the %interface suffix, or binding with -I, resolves the ambiguity.

Not correct Add a route for fe80::/10 through the default gateway

Wrong, and it would not help. Link-local traffic is never forwarded by a router, and each IPv6-capable interface already has its own fe80::/64 on-link route; the missing information is which interface to use, not which gateway.

Not correct Use ping6 instead of ping, since ping only handles IPv4

Wrong. On current iputils, ping handles both families and ping6 is the same program under another name (a plain `ping -6` also works). Either way the scope ambiguity remains and the same error appears.

Not correct Enable IPv6 forwarding with sysctl net.ipv6.conf.all.forwarding=1

Wrong. Forwarding governs whether the host routes packets between its interfaces on behalf of others. It has no bearing on the host's own outbound ping, and turning it on also changes how the host handles router advertisements.

Why

fe80::/10 addresses are scoped to a single link, and the same address may legitimately exist on several links at once, so a link-local destination is only meaningful together with a zone identifier. Linux takes that zone as the interface name appended after a percent sign, which is why link-local URLs and ping targets carry the %eth0 form; `ping -I eth0` binds the socket to the same effect. Global unicast destinations need no zone because the routing table alone determines the interface.

Where this comes from

Cited
manual page ping(8)

Practise this

Reading one question is not practice. The trainer will draw a short set from objective 109 and space the ones you get wrong.

Practise LPIC-1 Exam 102-500

More questions on this objective

All questions on Networking fundamentals

Practise LPIC-1 Exam 102-500