summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-10-27 14:21:51 -0700
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2026-10-27 14:21:51 -0700
commitdc7ec1a55c64066ab6d23ecc2354bf7c890c7d67 (patch)
tree99b1da866415fda53079a7ea6ea96522d87f0e7b
parent518bf2f248e336da296d8a4c49b57e6c65104f26 (diff)
downloadwg-netns-exec-dc7ec1a55c64066ab6d23ecc2354bf7c890c7d67.tar.gz
wg-netns-exec-dc7ec1a55c64066ab6d23ecc2354bf7c890c7d67.tar.xz
default dnat to tcp if target has port
-rwxr-xr-xwg-netns-exec8
1 files changed, 5 insertions, 3 deletions
diff --git a/wg-netns-exec b/wg-netns-exec
index c8e8d94..ee6831e 100755
--- a/wg-netns-exec
+++ b/wg-netns-exec
@@ -121,7 +121,7 @@ if ((enable_tap)); then
[[ "${saddr}" =~ ^${ip_re}:?([^/]*)/?(.*) ]]
saddr="${BASH_REMATCH[1]}"
sport="${BASH_REMATCH[4]}"
- proto="${BASH_REMATCH[5]:-tcp}"
+ proto="${BASH_REMATCH[5]}"
if [[ -n "${daddr}" ]]; then
[[ "${daddr}" =~ ^${ip_re}:?(.*) ]]
@@ -134,8 +134,10 @@ if ((enable_tap)); then
r="iifname ${wg_if}"
[[ -n "${saddr}" ]] && r+=" ip${ip6:+6} saddr ${saddr}"
- [[ -n "${sport}" ]] &&
- r+=" meta l4proto {${proto}} th dport ${sport}"
+ [[ -n "${sport}" || -n "${dport}" ||
+ -n "${proto}" ]] &&
+ r+=" meta l4proto {${proto:-tcp}}"
+ [[ -n "${sport}" ]] && r+=" th dport ${sport}"
dport="${dport:+:${dport}}"
((!ip6)) &&