2016-03-25 12 views
0

私はfreebsd 10を使ってtarantool 1.6を設定しようとしています。 PKGをインストールし、デフォルトの例のインスタンスを作成:Tarantool 1.6はipv4アドレスをlistenしません

cp /usr/local/etc/tarantool/instances.enabled/example.lua /usr/local/etc/tarantool/instances.enabled/example.lua 

今ではrc.dのを経由して正常に起動しますが、それは、IPv6のみ聞いている:

# ps axu | grep tar 
tarantool 32878 0.0 1.2 1086608 9004 - Is 1:40PM  0:00.05 tarantool example.lua <running> (tarantool) 

# sockstat -l | grep tar 
tarantool tarantool 32878 10 tcp6 *:3301    *:* 
tarantool tarantool 32878 16 stream /var/run/tarantool/example.control 

それはIPv6のみ*:3301を聞き、その少し奇妙に。そこで質問がある

# ifconfig 
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 
     options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> 
     inet6 ::1 prefixlen 128 
     inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
     inet 127.0.0.1 netmask 0xff000000 
     nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> 
xn0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 
     options=503<RXCSUM,TXCSUM,TSO4,LRO> 
     ether 00:16:3e:9b:b0:8b 
     inet x.x.x.x. netmask 0xffffff00 broadcast x.x.x.x 
     nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL> 
     media: Ethernet manual 
     status: active 

::これは私がifconfigに持っているものである

# grep -i -e listen -e port -e host /usr/local/etc/tarantool/instances.enabled/example.lua 
    -- The read/write data port number or URI 
    listen = 3301; 
--  { uri = [[host1.com:4301]]; zone = [[0]]; }; 
--  { uri = [[host2.com:4302]]; zone = [[1]]; }; 
:私は、インスタンスの設定ファイルでipまたはプロトコルを聞く設定するオプションを参照してくださいしない設定はIPv4にどのように耳を傾け、聞くアドレスのリストを制限する方法は?

+1

ホスト名を含むURI文字列を使用します(listen = "localhost:3301" – Kostja

+0

@ Kostjaありがとう、それは機能しました)。しかし、 '*'が要求されている場合はipv6だけを聞くというバグはありませんか? – PSIAlt

+0

uriと一致するインタフェースが複数ある場合、リゾルバから返された最初のインタフェースにバインドします。私たちはすべての人に縛ることができました、はい、誰もこれの前にこれを求めませんでした。 – Kostja

答えて

1

たとえば、listen = "localhost:3301"のように、ホスト名を含むURI文字列を使用します。 URIに一致する複数のインタフェースがある場合、Tarantoolはリゾルバから返された最初のインタフェースにバインドします。

関連する問題