In SSH local forwarding:
-L [bind_address:]port:host:hostport
Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side. This works by
allocating a socket to listen to port on the local side, optionally bound to the specified bind_address. Whenever a connection is made to
this port, the connection is forwarded over the secure channel, and a connection is made to host port hostport from the remote machine. Port
forwardings can also be specified in the configuration file. IPv6 addresses can be specified by enclosing the address in square brackets.
Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the GatewayPorts setting. However,
an explicit bind_address may be used to bind the connection to a specific address. The bind_address of “localhost” indicates that the listen‐
ing port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
In "an empty address or *
indicates that the port should be available from all interfaces", what do "all interfaces" mean? Does it mean all the network interfaces on the local host when the local host can have multiple network interfaces, and the port port
can be used with all the network interfaces on the local host?
In "The bind_address of localhost
indicates that the listening port be bound for local use only", does "for local use only" mean a particular network interface on the local host?
Can bind_address
refer to a network interface on a host other than the local host?