docker - 如何在公司代理后面使用 stun.l.google.com?

标签 docker proxy ubuntu-16.04 stun mattermost

我想配置我的本地副本

https://github.com/mattermost/mattermost-webrtc/blob/master/vagrant/janus/config/janus.cfg

启用 video calls用于 Mattermost 中的测试目的.一部分是:

[nat]
stun_server = stun.l.google.com
stun_port = 19302

如何使用 stun.l.google.com在公司代理背后?

我试过
proxytunnel -p corporate-proxy:7123 -d stun.l.google.com:19302 -a 3098

并将第一部分替换为
[nat]
stun_server = localhost
stun_port = 3098

这导致
$ docker run -it webrtc_blah_2
Janus commit: ad2c131617ac989df1a1bbd601272a5e448cbb3e
Compiled on:  Mon Jul 24 13:04:22 UTC 2017

---------------------------------------------------
  Starting Meetecho Janus (WebRTC Gateway) v0.2.4
---------------------------------------------------

Checking command line arguments...
Debug/log level is 4
Debug/log timestamps are disabled
Debug/log colors are enabled
Adding 'vmnet' to the ICE ignore list...
Using X.17.0.2 as local IP...
Token based authentication enabled
Initializing recorder code
Initializing ICE stuff (Full mode, ICE-TCP candidates disabled, IPv6 support disabled)
STUN server to use: localhost:3098
ICE handles watchdog started
Testing STUN server: message is of 20 bytes
[FATAL] [ice.c:janus_ice_set_stun_server:808] No response to our STUN BINDING test
[FATAL] [janus.c:main:3667] Invalid STUN address localhost:3098

与默认配置类似(见最后两行):
[FATAL] [ice.c:janus_ice_set_stun_server:808] No response to our STUN BINDING test
[FATAL] [janus.c:main:3667] Invalid STUN address stun.l.google.com:19302

最佳答案

1.STUN 和 TURN 两个服务器都在各自的 RFC 中定义,只能在公共(public) IP 上设置

2.Stun服务器用于提供防火墙的公共(public)IP,如果您在防火墙中配置,您的STUN绑定(bind)请求(SBR)将没有响应,因为您的防火墙没有配置外部服务器。

3.STUN服务器的一个非常肤浅的工作是从源接收SBR并检查传输层的IP地址并返回相同的响应,并找到一个开放的端口以返回源。

4.稍后在同一个端口上打洞,使用 STUN 绑定(bind)指示使其在整个 session 中打开。

Crux 不应该在防火墙内配置 STUN 或 TURN,因为这没有用。

关于docker - 如何在公司代理后面使用 stun.l.google.com?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45302679/

相关文章:

ruby-on-rails - 为什么总是运行 db :create when restarting containers?

mysql - 使用 MySQL 和 Docker 的 Spring Boot : IllegalStateException: Cannot load driver class: com. mysql.cj.jdbc.Driver

java - 如何配置JDK环境路径不是JRE?

docker - Jenkins 管道中的 npm 安装失败

Nginx 使用gunicorn 和 python-socketio 进行反向代理

delphi - 使用 Indy 的代理服务器

apache - ProxyHTMLURLMap 没有以正确的方式重写 URL

git - 如何获取 dokku 应用程序的 git 远程 URL

bash - 自动 Bash 脚本

docker - 如何通过主机名访问 docker 容器?(来 self 的主机)