Приветствую! *** Шелепов Михаил [2020-03-03 20:04]: >Возможен ли впринципе маршрут через несколько узлов? >Возможно это как то "хитро" в конфиге настраивается? Должно без проблем работать. Вот проверил с чистого листа. Создаём четыре ноды, чтобы при отправке с node1 на node4, пакет прошёл через node2 и node3: % nncp-cfgnew -version NNCP version 5.3.3 built with go1.14 % mkdir -p node{1,2,3,4}/spool % for n (node{1,2,3,4}) nncp-cfgnew > $n/cfg % for n (node{1,2,3,4}) { echo $n ; grep -A 5 " self:" $n/cfg } node1 self: { id: DHZBCXBWNP52DLYWKIV6Z5PWMXUUZ4XLUNFORQF6WDBXHIAJP3VQ exchpub: CPNHRIYUMQKLKO5HV4GI2PYSW25TLNQGH3J7KIYBOC7QZN42TNDA signpub: G4LS73YJRWP2XYNJFGRJQWUTFKXVJYNZX4ZQS56NPKRRG5NJ7BIQ noisepub: HBQW4SQKHGEDOULHUCPJKBC7SLVZCH2VK5JRFERFM6W7QJZGXYUQ node2 self: { id: UU5K3KQS6ZMS5WRH7OSCIDK4R7W3G34OLQ3XKL7J7YFXOJEU4H3Q exchpub: CYOPRHXB554ABALACFWCKXZKCSG64F52KJF52HDUZMU7DJKOGUIA signpub: QU3GHGIQ3UFXAGNWWD7FGI7KEHUEBGOSI7DBEXXIYQ7VFHSQL2QQ noisepub: J2HJPI4IPRSPV4NGS4BO6EOSLL4MQQOUUKDSFAG4JBM6EZGRJNJA node3 self: { id: XOH2WGVI4JFBU2KUQ4G5PGJAIGOXMWEXGQKHKZSXKIAZBYMEU7LA exchpub: F4CENEZBMW2ZAZE67RN32FJI2URQC3AO67YIIMRJ3K7XBUOXTFNQ signpub: XZVRRK2CHN3XWHOXR5POMJ2ONGETB2CFEA6PU7BWRSOPXLTGDDIQ noisepub: AKYY3UF6WFYZIUW72YLV6JFHRX6LGBZTYUUCMUUPPISQ65T53JEA node4 self: { id: ME7L2KHK5YAL4TBSTTBXEQWFRKQOM4NROS6NQEQCW57YFI6FSEPQ exchpub: BHB5VTR4MM6K2YYC5H55MYLU4CYMDB3NL3UUMSEDQOWVZNMHJZLQ signpub: VZG3FOI2KMCRZ4NNBGPKB6RKGVP6KXZXXS3DFHPLBJON2RVIEC4A noisepub: 2BE2CVAPL7GNRD4MRWBY6TCTOSZ7NLKUF5GEI6JXEQEUOOK26NOA в конфиге каждой добавляем знания о других. node4 не нужно (не обязательно) знать о node2, как и node2 о node4: % for n (node{1,2,3,4}) { echo $n ; grep "^ \w\+: {" $n/cfg } node1 self: { node2: { node3: { node4: { node2 self: { node1: { node3: { node3 self: { node1: { node2: { node4: { node4 self: { node1: { node3: { Отправляем nncp-exec исполняемый файл на node4. Директорию shared используем для обмена через nncp-xfer для простоты: % export NNCPCFG=$(pwd)/node1/cfg NNCPSPOOL=$(pwd)/node1/spool % nncp-file -via node2,node3 =nncp-exec node4: 2020-03-03T18:24:56Z Tx nncp-exec 3.4 MiB/3.4 MiB 100% (127 MiB/sec) 2020-03-03T18:24:56Z File /usr/local/bin/nncp-exec (3.4 MiB) transfer to node4:nncp-exec: sent % nncp-stat node2 nice: B | Rx: 0 B, 0 pkts | Tx: 3.4 MiB, 1 pkts node3 node4 self % mkdir shared % nncp-xfer -mkdir shared 2020-03-03T18:35:56Z Tx 7XCULYXUVRKEAOTL..LJ6Y7JETNNHLOQXQ 3.4 MiB/3.4 MiB 100% (1.7 GiB/sec) 2020-03-03T18:35:56Z Packet transfer, sent to node node2 (3.4 MiB) Принимаем пакет, будучи node2, обрабатываем, видим что это transitional, отправляем дальше: % export NNCPCFG=$(pwd)/node2/cfg NNCPSPOOL=$(pwd)/node2/spool % nncp-xfer shared 2020-03-03T18:36:23Z Rx shared/UU5K3KQS6..LJ6Y7JETNNHLOQXQ 3.4 MiB/3.4 MiB 100% (384 MiB/sec) 2020-03-03T18:36:23Z Packet transfer, received from node node1 (3.4 MiB) % nncp-toss 2020-03-03T18:36:29Z Tx trns XOH2WGVI4JFBU2KU..KZSXKIAZBYMEU7LA 3.4 MiB/3.4 MiB 100% (474 MiB/sec) 2020-03-03T18:36:29Z Transitional packet to node3 (3.4 MiB) (nice 224): sent 2020-03-03T18:36:29Z Got transitional packet from node1 to node3 (3.4 MiB) % nncp-xfer -mkdir shared 2020-03-03T18:36:35Z Tx XBFMAVJ4V2NKITUR..JST2YEAZVNGWKKYQ 3.4 MiB/3.4 MiB 100% (2.4 GiB/sec) 2020-03-03T18:36:35Z Packet transfer, sent to node node3 (3.4 MiB) аналогично на node3: % export NNCPCFG=$(pwd)/node3/cfg NNCPSPOOL=$(pwd)/node3/spool % nncp-xfer shared 2020-03-03T18:36:47Z Rx shared/XOH2WGVI4..JST2YEAZVNGWKKYQ 3.4 MiB/3.4 MiB 100% (383 MiB/sec) 2020-03-03T18:36:47Z Packet transfer, received from node node2 (3.4 MiB) % nncp-toss 2020-03-03T18:39:00Z Tx trns ME7L2KHK5YAL4TBS..QEQCW57YFI6FSEPQ 3.4 MiB/3.4 MiB 100% (410 MiB/sec) 2020-03-03T18:39:00Z Transitional packet to node4 (3.4 MiB) (nice 224): sent 2020-03-03T18:39:00Z Got transitional packet from node1 to node4 (3.4 MiB) % nncp-xfer -mkdir shared 2020-03-03T18:39:32Z Tx 52H7AL4WZE76TDGY..XDQ5B6ZVL4DEPCQA 3.4 MiB/3.4 MiB 100% (2.3 GiB/sec) 2020-03-03T18:39:32Z Packet transfer, sent to node node4 (3.4 MiB) на node4 добавляю incoming: /tmp в node1 секцию и принимаю файл: % export NNCPCFG=$(pwd)/node4/cfg % nncp-xfer shared 2020-03-03T18:39:46Z Rx shared/ME7L2KHK5..XDQ5B6ZVL4DEPCQA 3.4 MiB/3.4 MiB 100% (381 MiB/sec) 2020-03-03T18:39:46Z Packet transfer, received from node node3 (3.4 MiB) % nncp-toss 2020-03-03T18:40:33Z Rx file 52H7AL4WZE76TDGY..XDQ5B6ZVL4DEPCQA 3.4 MiB/3.4 MiB 100% (788 MiB/sec) 2020-03-03T18:40:33Z Got file nncp-exec (3.4 MiB) from node1 % sha1 nncp-exec =nncp-exec SHA1 (nncp-exec) = 58c78223617829bb1fb99c0cfd3f2c9a66a39f30 SHA1 (/usr/local/bin/nncp-exec) = 58c78223617829bb1fb99c0cfd3f2c9a66a39f30 Чтобы не указывать каждый раз -via, можно прописать в секции для node4 вот такое: via: ["node2", "node3"] и отправлять без указания -via: nncp-file =nncp-exec node4: Но при обработке транзитных пакетов, при которой создаются исходящие к другим нодам, via опция в конфиге не учитывается, если что. -- Sergey Matveev (http://www.stargrave.org/) OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF