3

2つのerlangノード、サーバー(Amazon AWS上)とクライアントをVPN経由で通信しようとしています。erlangシェルを起動するときに、ノード名とCookieを指定しましたが、機能しません。VPNを介したerlang通信には特別な考慮事項がありますか?私の場合、tun0デバイスを設定する必要がありますか?

Thiはルーティング結果です:

宛先ゲートウェイGenmaskフラグMSSウィンドウ
irttIface0.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.00.0.0.0255.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

前もって感謝します!

4

3 に答える 3

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

于 2012-12-05T11:36:05.497 に答える
0

ファイアウォールの設定はすべて正しいですか? Erlang はepmd、すべてのホストで実行されているインスタンス間の tcp 接続を必要とします。

TCP ポート 4369 を開くか、tun0 からの送信をすべて受け入れてください。

于 2012-12-05T04:32:04.597 に答える
0

この問題は、erl の長い名前と短い名前に関連している可能性があると思います。

あなたは今snameを使いましたか?

-sname 名前

-name と同様に、Erlang ランタイム システムを分散ノードにしますが、ノード名 Name@Host のホスト名部分は完全修飾名ではなく短い名前になります。

DNS (ドメイン ネーム システム) が実行されていない場合、これが分散型 Erlang を実行する唯一の方法になることがあります。-sname フラグを指定して実行しているノードと -name フラグを指定して実行しているノードとの間で通信を行うことはできません。これは、ノード名が分散型 Erlang システムで一意でなければならないためです。

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

于 2012-12-04T11:24:32.217 に答える