【问题标题】:Erlang node communication over vpn通过 vpn 进行 Erlang 节点通信
【发布时间】:2012-11-21 22:58:17
【问题描述】:

我正在尝试通过 vpn 与 2 个 erlang 节点、服务器(在 Amazon AWS 上)和客户端进行通信。 当我启动 erlang shell 时,我指定了节点名称和 cookie,但不起作用。 通过 vpn 进行 erlang 通信有特殊考虑? 在我的情况下,是否需要设置 tun0 设备?

这是路由结果:

目标网关 Genmask 标志 MSS 窗口 irtt Iface
0.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 wlan0
10.8.0.1 10.8.0.5 255.255.255.255 UGH 0 0 0 tun0
10.8.0.5 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
46.51.166.55 192.168.1.254 255.255.255.255 UGH 0 0 0 wlan0
128.0.0.0 10.8.0.5 128.0.0.0 UG 0 0 0 tun0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 wlan0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0

提前致谢!

【问题讨论】:

  • 您是否使用带有 IP 地址的长名称?
  • 是的,我使用了长名称。

标签: amazon-web-services erlang openvpn


【解决方案1】:

我解决了这个问题。
这是程序。

Erlang 服务器开始于:
erl -name server@10.8.0.1 -setcookie aStringCookie -kernel inet_dist_listen_min 9000 inet_dist_listen_max 9005

10.8.0.1是VPN服务器IP

客户端:
erl -name client@10.8.0.6 -setcookie aStringCookie -kernel inet_dist_listen_min 9000 inet_dist_listen_max 9005

10.8.0.6 是 VPN 客户端 IP

在 AWS 安全组上,我打开了 4369 TCP/UDP 端口和用于初始化服务器的另一个端口。我还为 ping 测试打开了 ICMP 端口。
在 VPN 服务器配置文件中,您可以启用/禁用通过 VPN 重定向客户端默认网络网关的行
push "redirect-gateway def1 bypass-dhcp"

我测试了一些 rpc,它们工作正常。

谢谢大家

乔瓦尼·C

【讨论】:

    【解决方案2】:

    防火墙设置都正确吗? Erlang 需要在所有主机上运行的epmd 实例之间建立 tcp 连接。

    尝试打开 TCP 端口 4369,或接受来自 tun0 的任何内容。

    【讨论】:

      【解决方案3】:

      我认为问题可能与erl的长名和短名有关。

      你现在用sname了吗?

      -sname 名字

      使 Erlang 运行时系统成为一个分布式节点,类似于 -name,但节点名称 Name@Host 的主机名部分将是短名称,不是完全限定的。

      如果使用 DNS,这有时是运行分布式 Erlang 的唯一方法 (域名系统)未运行。无法沟通 在使用 -sname 标志运行的节点和使用 -name 标志,因为节点名称在分布式 Erlang 系统中必须是唯一的。

      http://www.erlang.org/doc/reference_manual/distributed.html

      【讨论】:

      • 我用的是这样的语法:erl -name client -setcookie cookie erl -name server -setcookie cookie 我觉得是tun0设备的问题,有必要指定一下吗?
      • 这两台电脑之间还有其他网络服务可以吗?如果您没有这些 DNS,请检查您的 /etc/hosts 文件。我想你现在有两个网络,请检查路由表。
      • VPN连接正常,我通过AWS服务器上网。
      • 1.您是否在本地网络中练习过连接技术? 2.你是否在没有VPN的环境中连接了另一个互联网erlang节点? 3.您是否检查了所有相关的相关端口以避免防火墙问题? 4. 您是否使用 ethereal/tcpdump 工具检查您的 ip 详细信息? 5.我认为erlang是上述原因一一检查之前应该考虑的最后一个原因。
      猜你喜欢
      • 2021-12-24
      • 2018-06-26
      • 1970-01-01
      • 2020-06-01
      • 2011-12-13
      • 2012-11-25
      • 2010-09-27
      • 2010-11-20
      • 2021-12-27
      相关资源
      最近更新 更多