Tarantool 1.6 не слушает ipv4-адрес

Я использую freebsd 10 и пытаюсь установить tarantool 1.6. Установлен с помощью pkg и создан экземпляр примера по умолчанию:

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. Я не вижу возможности установить IP-адрес прослушивания или протокол в файле конфигурации экземпляра:

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

Вот что у меня в ifconfig:

# 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

Возникает вопрос: как настроить прослушивание IPv4 и как ограничить список адресов для прослушивания?


person PSIAlt    schedule 25.03.2016    source источник
comment
Используйте строку URI с именем хоста в ней, например listen = localhost: 3301   -  person Kostja    schedule 25.03.2016
comment
@Kostja спасибо, сработало. Но разве это не ошибка, что он прослушивает только ipv6, если запрошен *?   -  person PSIAlt    schedule 25.03.2016
comment
Если существует более одного интерфейса, соответствующего uri, мы привязываемся к первому, возвращенному преобразователем. Да, можно было привязать ко всем, но раньше об этом никто не просил.   -  person Kostja    schedule 25.03.2016


Ответы (1)


Используйте строку URI с именем хоста в ней, например listen = "localhost: 3301". Если существует несколько интерфейсов, соответствующих uri, Tarantool привязывается к первому, возвращенному преобразователем.

person Kostja    schedule 27.03.2016