我想在 Bluemix Secure Gateway 中使用主机名而不是 IP 地址作为目标主机。我使用 docker 安全网关客户端。我试图通过编辑安装了 docker Secure Gateway Client 的主机操作系统的 /etc/hosts 并使用 --net=“host” 或 --add-host=hosname:IP 地址运行 SG 客户端来实现它。关于以下问答,安全网关服务似乎没有使用 DNS,所以我尝试使用 /etc/hosts。
但我没能成功,SG Client 得到了 ENOTFOUND。你能教我如何制作安全网关客户端来解析目标主机的主机名吗?
[--net=“主机”的结果]
- 我确认主机操作系统解析了主机名。
#ping httpserver1 PING httpserver1 (192.168.56.1) 56(84) 个字节的数据。来自 httpserver1 (192.168.56.1) 的 64 个字节:icmp_seq=1 ttl=128 time=7.10 ms 来自 httpserver1 (192.168.56.1) 的 64 个字节:icmp_seq=2 ttl=128 time=6.89 ms
- 我用 --net="host" 运行 SGClient
# docker run -it ibmcom/secure-gateway-client XXXXXXXXXX --net=“host”<br> IBM Bluemix 安全网关客户端版本 1.2.1
[2015-07-08 15:47:01.097] [INFO] 安全网关隧道已连接 - SG 客户端收到 ENOTFOUND 错误
#[2015-07-08 15:47:01.097] [INFO] 安全网关隧道已连接
[2015-07-08 15:57:08.588] [INFO] 正在与 httpserver1:3000 建立连接 #3
[2015- 07-08 15:57:16.602] [错误] 到目标 httpserver1:3000 的连接 #3 出现错误:ENOTFOUND
[2015-07-08 15:57:16.603] [INFO] 到 httpserver1:3000 的连接 #3 已关闭
*SG 似乎支持关于 SG 文档的 --net=“host”,但似乎效果不佳。 https://www.ng.bluemix.net/docs/troubleshoot/SecureGateway/ts_index.html#ts_sg
[--add-host=httpserver1:192.168.56.1 的结果]
- 我用 --add-host=httpserver1:192.168.56.1 运行 SGClient
#docker run -it ibmcom/secure-gateway-client XXXXXXXXXX --add-host="httpserver1:192 .168.56.1" IBM Bluemix 安全网关客户端版本 1.2.1 [2015-07-08 16:09:20.028] [ INFO] 安全网关隧道已连接
- SG 客户端收到 ENOTFOUND 错误
[2015-07-08 16:09:37.214] [INFO] 正在与 httpserver1:3000 建立连接 #5 [2015-07-08 16:09:45.231] [错误] 到目标 httpserver1:3000 的连接 #5 有错误:ENOTFOUND [2015-07-08 16:09:45.232] [INFO] 到 httpserver1:3000 的连接 #5 已关闭