我尝试使用 Java 套接字从 Google Cloud 连接到我的 ubuntu 服务器。我在 上运行了服务器和客户端localhost
,并且成功了。但是当我在服务器上运行它时,new Socket(ip, port)
由于出现异常,我无法创建java.net.ConnectException: Connection timed out: connect
。我正在使用端口工作18934
,我尝试使用以下命令尝试使用 iptables 和防火墙:
sudo iptables -A INPUT -p tcp --dport 18934 -j ACCEPT
sudo ufw allow 18934
并且还使用 ping 服务器ping <ip>
,并且显示服务器正在答复。
但从我的 Java 代码来看,它不起作用,我得到了相同的异常。这可能是因为我的ubuntu 配置错误或一些谷歌云设置我不知道。谢谢您的帮助。
答案1
我在 google cloud VPC 防火墙上添加了端口 18934 并且成功了。之前配置为仅允许来自端口 的 SSH 连接22
,我需要设置范围0.0.0.0/0
和协议/端口tcp:18934
。