【发布时间】:2017-02-10 14:14:20
【问题描述】:
我正在尝试在 Google Compute Engine 上托管 TCP 套接字服务器,我在 GCE 防火墙规则上添加了以下规则(套接字端口 0.0.0.0/0 tcp:11000 适用于所有目标)但端口是仍然无法使用公共 IP 从外部访问(在我的情况下是短暂的)。
在这种情况下还有更多工作要做吗?我应该在虚拟机本身上使用 ufw 来设置额外的规则吗?
任何帮助或提示将不胜感激,谢谢。
编辑: 1) 防火墙设置:
命名网络 SRC_RANGES 规则 SRC_TAGS TARGET_TAGS
default-allow-http 默认 0.0.0.0/0 tcp:80 http-server
default-allow-https 默认 0.0.0.0/0 tcp:443 https-server
default-allow-icmp 默认 0.0.0.0/0 icmp
default-allow-internal 默认 10.128.0.0/9 tcp:0-65535,udp:0-65535,icmp
default-allow-rdp 默认 0.0.0.0/0 tcp:3389
default-allow-ssh 默认 0.0.0.0/0 tcp:22
sockets-port 默认 0.0.0.0/0 tcp:11000
2) 在 VM 本身上,SocketListener 类 (C#) 给出错误:
无法分配请求的地址 在 System.Net.Sockets.Socket.DoBind(端点 endPointSnapshot,SocketAddress socketAddress) 在 System.Net.Sockets.Socket.Bind(EndPoint localEP)
"IPEndpoint由本机公网IP和11000端口组成
【问题讨论】:
-
1) 在此处粘贴您的防火墙设置; 2)你得到什么错误代码? 3)尝试通过内部IP从同一网络中的另一个VM访问它,以确保服务已启动。
-
@Dagang 编辑了我的问题,但目前我无法从另一个虚拟机访问。
标签: c# google-compute-engine firewall .net-core