尝试打开 51820 UDP 我愿意
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
然后iptables -L
我可以看到
ACCEPT udp -- anywhere anywhere udp dpt:51820
然后我做
/sbin/iptables-save > /etc/iptables/rules.v4
并且
/sbin/iptables-save
并且/etc/init.d/networking restart
现在如果我这样做了,nmap –sT –p-65535 localhost
我就看不到 51820
如果我这样做,ss -lntp
我不会看到 51820
如果我使用端口检查器网站检查开放端口,它也说已关闭
我的进程正在运行
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
626a571479e7 linuxserver/wireguard:latest "/init" About an hour ago Up 9 minutes 0.0.0.0:51820->51820/udp, :::51820->51820/udp wireguard
这是我的 docker compose 如果有帮助的话
services:
wireguard:
image: linuxserver/wireguard:latest
container_name: wireguard
volumes:
- ./config:/config
ports:
- "51820:51820/udp"
在我的配置中我有
[Interface]
ListenPort = 51820
nmap
UDP
命令默认不扫描端口。您需要使用此选项:-sU
。如果nmap
没有找到51820
打开的端口,则意味着没有进程正在侦听该端口(onlocalhost
)。命令应该是:
要允许从外部(即所谓的“portchecker 网站”)进行连接和端口扫描,您需要
51820
在路由器中的端口上创建一个 NAT 到运行Wireguard
. 另外,您必须确保您的“portchecker 网站”可以扫描UDP
端口。在我看来,该端口
51820
是在您的容器上打开的,而不是在主机上打开的。容器应该有一个IP地址(与主机IP地址不同)。nmap
如果您在容器的 IP 而不是主机 IP 上运行,您应该会看到打开的端口。这里是检查 docker 容器 IP 的命令:
更新
经过与 @jotyhista 的详细讨论后,问题似乎出在 Docker 镜像本身。服务
Wireguard
已停止,端口 上没有任何内容正在侦听51820
。该命令wg
不返回任何内容。正是由于这个原因,nmap
命令显示了端口closed
。需要对服务关闭的原因
Wireguard
进行更深入的调查(检查日志?配置错误?)。这将解决最初的问题,端口将是open
.