Я пытался заставить работать сервер taskd
на моем компьютере (Arch Linux) в течение нескольких дней. Проблема, с которой я сейчас сталкиваюсь, заключается в том, что в документации по конфигурации taskd
(https://taskwarrior.org/docs/taskserver/trou Troubleshooting - sync.html ) сказано, что я должен использовать вывод hostname -f
в качестве адреса (я не знаю, что сокращает "CN"). Я также пытался использовать свой локальный IP-адрес, начиная с 192.168
но это дало мне ошибку рукопожатия, которую вы можете найти в руководстве по устранению неполадок, которое я связал.
Я начал немного заниматься расследованиями, потому что не мог получить доступ к своему серверу задач с других машин. Я нашел это:
Когда я слушаю порт, который я использую, пусть он будет 54000
, используя nc -l -p 54000
, я вижу это как вывод команды ss -lntu | grep 54000
:
tcp LISTEN 0 10 0.0.0.0:54000 0.0.0.0:*
Принимая во внимание, что когда я запускаю taskd
, который прослушивает тот же порт, ss
дает мне:
tcp LISTEN 0 4 127.0.0.1:54000 0.0.0.0:*
Теперь с другой машины я попытался проверить порт во время прослушивания с помощью nc -vv 192.168.x.y 54000
(с IP-адресом сервера) и обнаружил, что при локальном адресе 0.0.0.0
порт отображается как открытый. В противном случае он отображается как закрытый. Я думаю, это потому, что 127.0.0.1
по сути является localhost
и я не вижу этого из своей сети?
taskd
также есть файл конфигурации с опцией сервера, где я ввел вывод имени hostname -f
, которое является watermelon.localdomain
, как было указано в документации. Я полагаю, это то, что переведено на localhost
, верно?
Буду очень признателен за вашу помощь, заранее спасибо!
ОБНОВЛЕНИЕ 2018/04/21
Мне удалось решить проблему, установив переменную server
в конфигурации 0.0.0.0:54000
, таким образом я получил taskd
для прослушивания любого адреса на порту 54000
. Теперь все работает прекрасно. Думаю, документация по taskd
была немного расплывчатой.