2016-03-25 2 views
0

Im mit freebsd 10 und versuchen, Tarantool 1.6 einzurichten. Angebracht mit Pkg und Standard Beispiel Instanz erstellt:Tarantool 1.6 hört nicht ipv4 Adresse

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

Jetzt beginnt es erfolgreich über rc.d, aber es hört nur 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 

Es ist ein bisschen seltsam es nur ipv6 *:3301 hört. Ich sehe keine Möglichkeit, auf IP oder Protokoll in der Instanzkonfigurationsdatei hören:

# 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]]; }; 

Das ist, was ich in der ifconfig haben:

# 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 

Die Frage ist also: Wie Setup IPv4 hören und Wie schränkt man die Liste der zu hörenden Adressen ein?

+1

Verwenden Sie eine URI-Zeichenfolge mit Hostnamen, zum Beispiel, listen = "localhost: 3301" – Kostja

+0

@ Kostja danke, es hat funktioniert. Aber ist es nicht ein Fehler, dass es nur ipv6 hört, wenn '*' angefordert wird? – PSIAlt

+0

Wenn es mehr als eine Schnittstelle gibt, die mit der URL übereinstimmt, binden wir an die erste, die vom Resolver zurückgegeben wird. Wir könnten uns an alle binden, aber niemand hat vorher darum gebeten. – Kostja

Antwort

1

Verwenden Sie eine URI-Zeichenfolge mit Hostnamen, z. B. listen = "localhost: 3301". Wenn es mehr als eine Schnittstelle gibt, die der URL entspricht, bindet Tarantool an die erste, die vom Resolver zurückgegeben wird.

Verwandte Themen