Bug#934676: Please clarify that systemd-nspawn(1) --port= is IPv4-only (no IPv6)

2021-03-27 Thread Michael Biebl

Control: retitle -1 Support IPv6 in systemd-nspawn
Control: forwarded -1 https://github.com/systemd/systemd/pull/18007
Control: tags -1 + ipv6 fixed-upstream

Am 13.08.2019 um 11:12 schrieb Trent W. Buck:

Package: systemd-container
Version: 241-5
Severity: wishlist

systemd-nspawn --port=tcp:2022:22 redirects
port 2022/tcp (on the host) to
port 22/tcp (on the guest).

(This is equivalent to "-net user,hostfwd=::2022-:22" in qemu VMs.)


AFAICT systemd-nspawn only does this for IPv4 (not IPv6).
This was not obvious to me from the manpage.

Please either fix --port to support IPv6, or
clearly document that --port is IPv4-only.


Seems the former has happened, systemd-nspawn with IPv6 support will 
land in v248.

Retitling accordingly.

Regards,
Michael



Bug#934676: Please clarify that systemd-nspawn(1) --port= is IPv4-only (no IPv6)

2019-08-13 Thread Trent W. Buck
Package: systemd-container
Version: 241-5
Severity: wishlist

systemd-nspawn --port=tcp:2022:22 redirects
port 2022/tcp (on the host) to
port 22/tcp (on the guest).

(This is equivalent to "-net user,hostfwd=::2022-:22" in qemu VMs.)


AFAICT systemd-nspawn only does this for IPv4 (not IPv6).
This was not obvious to me from the manpage.

Please either fix --port to support IPv6, or
clearly document that --port is IPv4-only.


I suggest something like the below.

PS: I also fixed the confusing phrase "IP port".
Per the nft(8) manpage,
IPv4 and IPv6 do not have ports.
TCP, UDP, UDP-Lite, and SCTP have ports.

PPS: Based on "iptables -m sctp --help", it should be trivial to add SCTP 
support to --port=.
(I don't personally care about that.)


diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 8c1a1e6871..1a5ec798ed 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -916,8 +916,8 @@
 -p
 --port=
 
-If private networking is enabled, maps an IP
-port on the host onto an IP port on the container. Takes a
+If private networking is enabled, maps a TCP (or UDP)
+port on the host onto a TCP (or UDP) port on the container. Takes a
 protocol specifier (either tcp or
 udp), separated by a colon from a host port
 number in the range 1 to 65535, separated by a colon from a
@@ -928,7 +928,9 @@
 same port as the host port is implied. This option is only
 supported if private networking is used, such as with
 --network-veth, --network-zone=
---network-bridge=.
+--network-bridge=.
+
+As at systemd v242, this option always affects IPv4, and never 
affects IPv6.