如何在 Windows 11 的 wsl2 ubuntu 上打开端口

如何在 Windows 11 的 wsl2 ubuntu 上打开端口

为了在 Windows 11 上测试 Windows 11 localhost 和 WSL2 ubuntu 之间的网络,我在 WSL2 ubuntu 上安装了 tomcat9

$ sudo apt install tomcat9 -y
$ sudo systemctl enable tomcat9
$ sudo systemctl start tomcat9
$ sudo systemctl status tomcat9

安装成功。Windows localhost:808011 Web 浏览器上的连接成功,没有错误。这次我尝试在 Windows 11 上的 WSL2 ubuntu 中部署 Apache Flink 服务。首先,我下载 Flink 1.18.1,解压缩 Flink 并与 Flink-1.18.1 建立链接

$ ln -s flink-1.18.1 flink

我制作了 ubuntu 服务文件

$ nano /usr/lib/systemd/system/flink.service
    
[Unit]
Description=Flink Service
    
[Service]
Type=forking
User=joseph
Group=joseph
ExecStart=/home/joseph/flink/bin/start-cluster.sh
ExecStop=/home/joseph/flink/bin/stop-cluster.sh
    
Restart=always
    
[Install]
WantedBy=multi-user.target

Flink 服务启动没有错误。

$ sudo systemctl enable flink
$ sudo systemctl start flink

最后我在 Ubuntu 防火墙上打开 Flink 默认端口 8081。

$ sudo ufw allow 8081/tcp

但是http://localhost:8081在 Windows 11 上,即使我发现 8081 端口已打开,但 Web 浏览器仍无法连接 WSL2 ubuntu 上的 Flink 服务,如下所示,

$ netstat -tnl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 127.0.0.53:53           0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp6       0      0 127.0.0.1:8081          :::*                    LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::8080                 :::*                    LISTEN

我无法理解为什么 WSL2 ubuntu 上的 Flink 连接失败。tomcat9 以相同的方式安装在 WSL2 ubuntu 上,并且localhost:8080在 Windows 11 上没有出现任何错误。我迫切需要你的建议。谢谢!

相关内容