本文介绍了Erlang - 来自非本地地址的 ALIVE2_REQ的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在测试我的 Erlang 环境,但它不起作用.我正在使用 debian 64 位.Erlang R15B01 (erts-5.9.1) [source] [64-bit] [async-threads:0] [kernel-poll:false]

I am testing my Erlang environment and it is not working. I am using debian 64 bit. Erlang R15B01 (erts-5.9.1) [source] [64-bit] [async-threads:0] [kernel-poll:false]

在一个终端中,我输入以下命令以调试模式启动 elang

In one terminal I type the following command to start elang in debug mode

pkill epmd
epmd -d

在另一个终端输入

erl -sname test

我收到以下错误

epmd: Wed Feb 25 13:00:28 2015: ** got ALIVE2_REQ
epmd: Wed Feb 25 13:00:28 2015: ALIVE2_REQ from non local address

这使我无法运行rabbitmq服务器

This has prevented me from running rabbitmq server

推荐答案

问题出在我的 iptables 上.特别是 POSTROUTING 链.检查 iptables 列表

The problem was with my iptables. The POSTROUTING chain specifically. Checking iptables list

iptables -t nat --list

显示

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere             policy match dir out pol none 

所以我删除了 MASQUERADE 规则

so I removed the MASQUERADE rule

iptables -t nat -D POSTROUTING 1

之后检查iptables列表显示

after that checking the iptables list showed

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

这让 erlang 工作起来.

and this made erlang to work.

这篇关于Erlang - 来自非本地地址的 ALIVE2_REQ的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 07:27