Miredo - нативный IPv6

Настройка, программирование, распределённые вычисления

Модераторы: Olej, bellic, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 09:54

Olej писал(а):
07 июн 2023, 21:59
P.S. Но меня это всё интересует только как возможность связать 2 территориально разнесенных компьютера IPv4, каждый в LAN за NAT от разных провайдеров...
Всё совсем неплохо...
Но только при "ручном" старте miredo:

Код: Выделить всё

olej@R420:~$ sudo miredo -f
miredo[42617]: Starting...
miredo[42618]: New Teredo address/MTU
miredo[42618]: Teredo pseudo-tunnel started
miredo[42618]:  (address: 2001:0:d911:c0d9:443:1dbf:3ee3:4e8a, MTU: 1280)
...
А при старте как сервиса - интерфейс teredo создаётся ... но какой-то он "мёртвый", неработоспособный...
Нужно разбираться с сервис-файлом.

Код: Выделить всё

olej@R420:~$ sudo systemctl cat miredo
# /lib/systemd/system/miredo.service
[Unit]
Description=Teredo IPv6 tunneling
After=network.target

[Service]
ExecStartPre=/usr/sbin/miredo-checkconf -f /etc/miredo/miredo.conf
ExecStart=/usr/sbin/miredo -f
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=60

[Install]
WantedBy=multi-user.target

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 15:05

Olej писал(а):
08 июн 2023, 09:54
Нужно разбираться с сервис-файлом.
Этого я так и не победил, с налёту... - стартует, но не работает, гад :oops:
Olej писал(а):
07 июн 2023, 21:50
Правлю конфиг так:
Похоже, что из всех найденных мной серверов miredo живым остался только один:

Код: Выделить всё

root@R420:/etc# grep -v ^# /etc/miredo.conf | grep -v ^$
InterfaceName	teredo
ServerAddress	teredo.iks-jena.de

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 15:11

Olej писал(а):
07 июн 2023, 21:59
P.S. Но меня это всё интересует только как возможность связать 2 территориально разнесенных компьютера IPv4, каждый в LAN за NAT от разных провайдеров...
1). На совершенно новом, 2). не у себя, 3). территориально отнесённом компьютере, 4). за NAT совершенно другого чем у меня провайдера, 5). сразу после установки miredo из репозитория стандартным образом, 5). и конфигурирования его на сервер teredo.iks-jena.de:

Код: Выделить всё

olej@Inspiron:~$ sudo miredo -f
miredo[2945]: Starting...
miredo[2946]: New Teredo address/MTU
miredo[2946]: Teredo pseudo-tunnel started
miredo[2946]:  (address: 2001:0:d911:c0d9:807:181d:afb6:f19a, MTU: 1280)

Код: Выделить всё

olej@Inspiron:~$ ip -6 a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 fe80::4ab8:83aa:8297:970a/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 53049 state UNKNOWN qlen 500
    inet6 200:cd1f:5278:a6cf:31c5:3303:82c1:f1d3/7 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::a2e2:e8dd:856e:3fb4/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
7: teredo: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 state UNKNOWN qlen 500
    inet6 2001:0:d911:c0d9:807:181d:afb6:f19a/32 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::ffff:ffff:ffff/64 scope link
       valid_lft forever preferred_lft forever
    inet6 fe80::a3a9:feda:f5bf:43ac/64 scope link stable-privacy
       valid_lft forever preferred_lft forever

Код: Выделить всё

olej@Inspiron:~$ route -n -6
Таблица маршрутизация ядра IPv6
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 3     0 lo
200::/7                        ::                         U    256 4     0 tun0
2001::/32                      ::                         U    256 5     0 teredo
fe80::/64                      ::                         U    256 1     0 tun0
fe80::/64                      ::                         U    256 2     0 teredo
fe80::/64                      ::                         U    1024 1     0 enp3s0
fe80::/64                      ::                         U    1024 1     0 wlp2s0
::/0                           ::                         U    1029 5     0 teredo
::1/128                        ::                         Un   0   7     0 lo
200:cd1f:5278:a6cf:31c5:3303:82c1:f1d3/128 ::                         Un   0   6     0 tun0
2001:0:d911:c0d9:807:181d:afb6:f19a/128 ::                         Un   0   6     0 teredo
fe80::ffff:ffff:ffff/128       ::                         Un   0   2     0 teredo
fe80::4ab8:83aa:8297:970a/128  ::                         Un   0   5     0 enp3s0
fe80::8ec2:9f04:60e:d3e/128    ::                         Un   0   2     0 wlp2s0
fe80::a2e2:e8dd:856e:3fb4/128  ::                         Un   0   4     0 tun0
fe80::a3a9:feda:f5bf:43ac/128  ::                         Un   0   2     0 teredo
ff00::/8                       ::                         U    256 5     0 enp3s0
ff00::/8                       ::                         U    256 3     0 tun0
ff00::/8                       ::                         U    256 1     0 teredo
ff00::/8                       ::                         U    256 5     0 wlp2s0
::/0                           ::                         !n   -1  1     0 lo

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 15:16

Olej писал(а):
08 июн 2023, 15:11
1). На совершенно новом, 2). не у себя, 3). территориально отнесённом компьютере, 4). за NAT совершенно другого чем у меня провайдера, 5). сразу после установки miredo из репозитория стандартным образом, 5). и конфигурирования его на сервер teredo.iks-jena.de:
И теперь в моему хосту LAN, через 2-х провайдеров с NAT, через несколько десятков километров...

Код: Выделить всё

olej@Inspiron:~$ ping -6 -c3 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a
PING 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a(2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a) 56 data bytes
64 bytes from 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a: icmp_seq=1 ttl=64 time=62.6 ms
64 bytes from 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a: icmp_seq=2 ttl=64 time=11.0 ms
64 bytes from 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a: icmp_seq=3 ttl=64 time=10.4 ms

--- 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 10.369/27.967/62.559/24.461 ms

Код: Выделить всё

olej@Inspiron:~$ traceroute -6 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a
traceroute to 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a), 30 hops max, 80 byte packets
 1  2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a)  12.364 ms  12.328 ms  12.293 ms
Похоже что коннект идёт в 1 hop, напрямую:
И SSH через нативный IPv6:

Код: Выделить всё

olej@Inspiron:~$ ssh olej@2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a
The authenticity of host '2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a)' can't be established.
ED25519 key fingerprint is SHA256:pfDAbUDI94rxh0McGbr4s0fmUepZALm9XweXUa/otxo.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a' (ED25519) to the list of known hosts.
olej@2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a's password:

Расширенное поддержание безопасности (ESM) для Applications выключено.

0 обновлений может быть применено немедленно.

Включите ESM Apps для получения дополнительных будущих обновлений безопасности.
Смотрите https://ubuntu.com/esm или выполните: sudo pro status

You have mail.
Last login: Mon May 29 19:15:38 2023 from 192.168.1.20

Код: Выделить всё

olej@R420:~$ who
olej     tty7         2023-06-08 07:54 (:0)
olej     pts/6        2023-06-08 11:19
olej     pts/16       2023-06-08 12:09 (2001:0:d911:c0d9:807:181d:afb6:f19a)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 15:19

Olej писал(а):
08 июн 2023, 15:16
через 2-х провайдеров с NAT, через несколько десятков километров...
И скорость:

Код: Выделить всё

olej@Inspiron:~$ iperf -s -6
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  1] local 2001:0:d911:c0d9:807:181d:afb6:f19a port 5001 connected with 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a port 34334
[ ID] Interval       Transfer     Bandwidth
[  1] 0.0000-10.4573 sec  44.1 MBytes  35.4 Mbits/sec
^C

Код: Выделить всё

olej@R420:~$ iperf -c 2001:0:d911:c0d9:807:181d:afb6:f19a
------------------------------------------------------------
Client connecting to 2001:0:d911:c0d9:807:181d:afb6:f19a, TCP port 5001
TCP window size: 45.0 KByte (default)
------------------------------------------------------------
[  1] local 2001:0:d911:c0d9:: port 34334 connected with 2001:0:d911:c0d9:807:181d:afb6:f19a port 5001
[ ID] Interval       Transfer     Bandwidth
[  1] 0.0000-10.4795 sec  44.1 MBytes  35.3 Mbits/sec
Это при скорости по IPv4 со стороны более медленного провайдера 2-х хостов:

Код: Выделить всё

olej@R420:~$ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Radio-Link LLC (193.28.177.117)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by TK Dialog (Slobozhanske) [47.06 km]: 29.745 ms
Testing download speed................................................................................
Download: 31.90 Mbit/s
Testing upload speed......................................................................................................
Upload: 40.19 Mbit/s

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 15:23

Olej писал(а):
08 июн 2023, 15:16
Похоже что коннект идёт в 1 hop, напрямую:
Любопытно, что я вижу при последовательных запусках (почти сразу раз за разом):

Код: Выделить всё

olej@Inspiron:~$ traceroute -6 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a
traceroute to 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a), 30 hops max, 80 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a)  66.231 ms  66.125 ms

Код: Выделить всё

olej@Inspiron:~$ traceroute -6 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a
traceroute to 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a), 30 hops max, 80 byte packets
 1  2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a (2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a)  16.787 ms  16.745 ms  16.711 ms

Код: Выделить всё

olej@Inspiron:~$ traceroute -6 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f
traceroute to 21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f), 30 hops max, 80 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f (21d:8a7c:aafa:f346:8115:14aa:9ca4:cd7f)  440.041 ms  74.780 ms  73.472 ms
И встречный (тому что показано выше) ping (запущенный через SSH :-D ):

Код: Выделить всё

olej@R420:~$ ping -6 -c3 2001:0:d911:c0d9:807:181d:afb6:f19a -Iteredo
PING 2001:0:d911:c0d9:807:181d:afb6:f19a(2001:0:d911:c0d9:807:181d:afb6:f19a) from 2001:0:d911:c0d9:285e:5a0d:3ee3:4e8a teredo: 56 data bytes
64 bytes from 2001:0:d911:c0d9:807:181d:afb6:f19a: icmp_seq=1 ttl=64 time=7.90 ms
64 bytes from 2001:0:d911:c0d9:807:181d:afb6:f19a: icmp_seq=2 ttl=64 time=7.91 ms
64 bytes from 2001:0:d911:c0d9:807:181d:afb6:f19a: icmp_seq=3 ttl=64 time=9.39 ms

--- 2001:0:d911:c0d9:807:181d:afb6:f19a ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 7.904/8.400/9.390/0.699 ms

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 16:32

Olej писал(а):
08 июн 2023, 15:23
И встречный (тому что показано выше) ping
Но вот если 2 хоста одной LAN попробовать связать, то miredo сойдёт с ума :roll: :
- хост №1:

Код: Выделить всё

olej@nvme:~$ ip -6 a s dev teredo
5: teredo: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc pfifo_fast state UNKNOWN group default qlen 500
    inet6 2001:0:d911:c0d9:1447:2539:3ee3:4e8a/32 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::ffff:ffff:ffff/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::26ed:4f7:41ce:4182/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Код: Выделить всё

olej@nvme:~$ ping -c3 -Iteredo 2001:0:d911:c0d9:1ce9:4335:3ee3:4e8a
PING 2001:0:d911:c0d9:1ce9:4335:3ee3:4e8a(2001:0:d911:c0d9:1ce9:4335:3ee3:4e8a) from 2001:0:d911:c0d9:1447:2539:3ee3:4e8a teredo: 56 data bytes

--- 2001:0:d911:c0d9:1ce9:4335:3ee3:4e8a ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2025ms
- хост №2:

Код: Выделить всё

olej@R420:~/2023$ ip -6 a s dev teredo
12004: teredo: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1280 qdisc fq_codel state UNKNOWN group default qlen 500
    inet6 2001:0:d911:c0d9:1ce9:4335:3ee3:4e8a/32 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::ffff:ffff:ffff/64 scope link 
       valid_lft forever preferred_lft forever
    inet6 fe80::9ea7:280e:a760:a6dd/64 scope link stable-privacy 
       valid_lft forever preferred_lft forever

Код: Выделить всё

olej@R420:~/2023$ ping -c3 -Iteredo 2001:0:d911:c0d9:1447:2539:3ee3:4e8a
PING 2001:0:d911:c0d9:1447:2539:3ee3:4e8a(2001:0:d911:c0d9:1447:2539:3ee3:4e8a) from 2001:0:d911:c0d9:1ce9:4335:3ee3:4e8a teredo: 56 data bytes

--- 2001:0:d911:c0d9:1447:2539:3ee3:4e8a ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2041ms
Что интуитивно и понятно: ведь для (внешнего) сервера miredo эти 2 хоста представляются одним и тем же динамическим IPv4, с которым их NAT-ит провайдер :!: :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 17:25

Olej писал(а):
07 июн 2023, 21:59
P.S. Но меня это всё интересует только как возможность связать 2 территориально разнесенных компьютера IPv4, каждый в LAN за NAT от разных провайдеров...
И для этого оно, хоть и старенькое, вполне оправдывает себя...
Кроме того, для доступа к нативным IPv6.
Исходники здесь: https://gitlab.com/rindeal-ns/mirrors/miredo
Copyright (C) 2004-2014 Rémi Denis-Courmont.
Хотя файлы там на репо есть и такие?
4 years ago
т.е. порядка 2019г.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 17:28

Olej писал(а):
08 июн 2023, 17:25
Исходники
Всё это можно собрать по-быстренькому:

Код: Выделить всё

olej@R420:~/2023/IPv6$ git clone https://gitlab.com/rindeal-ns/mirrors/miredo.git
Клонирование в «miredo»...
remote: Enumerating objects: 11397, done.
remote: Total 11397 (delta 0), reused 0 (delta 0), pack-reused 11397
Получение объектов: 100% (11397/11397), 2.25 МиБ | 92.00 КиБ/с, готово.
Определение изменений: 100% (8638/8638), готово.

Код: Выделить всё

olej@R420:~/2023/IPv6$ cd miredo/

olej@R420:~/2023/IPv6/miredo$ ./autogen.sh
+ test -f doc/miredo.8-in
+ true
+ echo Autoreconf in /home/olej/2023/IPv6/miredo ...
Autoreconf in /home/olej/2023/IPv6/miredo ...
+ autoreconf -sfi
Copying file ABOUT-NLS
Creating directory admin
Copying file admin/config.rpath
Copying file m4/codeset.m4
Copying file m4/extern-inline.m4
Copying file m4/fcntl-o.m4
Copying file m4/gettext.m4
Copying file m4/glibc2.m4
Copying file m4/glibc21.m4
Copying file m4/iconv.m4
Copying file m4/intdiv0.m4
Copying file m4/intl.m4
Copying file m4/intldir.m4
Copying file m4/intlmacosx.m4
Copying file m4/intmax.m4
Copying file m4/inttypes-pri.m4
Copying file m4/inttypes_h.m4
Copying file m4/lcmessage.m4
Copying file m4/lib-ld.m4
Copying file m4/lib-link.m4
Copying file m4/lib-prefix.m4
Copying file m4/lock.m4
Copying file m4/longlong.m4
Copying file m4/nls.m4
Copying file m4/po.m4
Copying file m4/printf-posix.m4
Copying file m4/progtest.m4
Copying file m4/size_max.m4
Copying file m4/stdint_h.m4
Copying file m4/threadlib.m4
Copying file m4/uintmax_t.m4
Copying file m4/visibility.m4
Copying file m4/wchar_t.m4
Copying file m4/wint_t.m4
Copying file m4/xsize.m4
Copying file po/Makefile.in.in
Copying file po/Makevars.template
Copying file po/Rules-quot
Copying file po/boldquot.sed
Copying file po/en@boldquot.header
Copying file po/en@quot.header
Copying file po/insert-header.sin
Copying file po/quot.sed
Copying file po/remove-potcdate.sin
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'admin'.
libtoolize: linking file 'admin/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
libtoolize: linking file 'm4/libtool.m4'
libtoolize: linking file 'm4/ltoptions.m4'
libtoolize: linking file 'm4/ltsugar.m4'
libtoolize: linking file 'm4/ltversion.m4'
libtoolize: linking file 'm4/lt~obsolete.m4'
configure.ac:43: warning: The macro `AC_PROG_CC_C99' is obsolete.
configure.ac:43: You should run autoupdate.
./lib/autoconf/c.m4:1659: AC_PROG_CC_C99 is expanded from...
configure.ac:43: the top level
configure.ac:47: installing 'admin/ar-lib'
configure.ac:43: installing 'admin/compile'
configure.ac:37: installing 'admin/config.guess'
configure.ac:37: installing 'admin/config.sub'
configure.ac:52: installing 'admin/install-sh'
configure.ac:52: installing 'admin/missing'
compat/Makefile.am:20: warning: noinst_LTLIBRARIES multiply defined in condition TRUE ...
Makefile.am:50:   'compat/Makefile.am' included from here
Makefile.am:38: ... 'noinst_LTLIBRARIES' previously defined here
doc/Makefile.am:35: warning: sed_verbose_$(V: non-POSIX recursive variable expansion
Makefile.am:51:   'doc/Makefile.am' included from here
doc/Makefile.am:36: warning: sed_verbose_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
Makefile.am:51:   'doc/Makefile.am' included from here
misc/Makefile.am:24: warning: cat_verbose_$(V: non-POSIX recursive variable expansion
Makefile.am:52:   'misc/Makefile.am' included from here
misc/Makefile.am:25: warning: cat_verbose_$(AM_DEFAULT_VERBOSITY: non-POSIX recursive variable expansion
Makefile.am:52:   'misc/Makefile.am' included from here
Makefile.am: installing './INSTALL'
Makefile.am: installing 'admin/depcomp'
parallel-tests: installing 'admin/test-driver'
+ unlink po/Makevars.template
+ test -f /usr/share/gettext/gettext.h
+ cp -f -- /usr/share/gettext/gettext.h include/gettext.h
+ test -f /usr/local/share/gettext/gettext.h
+ test -f /opt/gettext/share/gettext/gettext.h
+ test -f /opt/local/share/gettext/gettext.h
+ test -f /usr/pkg/share/gettext/gettext.h
+ test -f /home/olej/share/gettext/gettext.h
+ set +x

Type `./configure' to configure the package for your system
(type `./configure -- help' for help).
Then you can use the usual `make', `make install', etc.

Код: Выделить всё

olej@R420:~/2023/IPv6/miredo$ ./configure
configure: checking system...
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
configure: checking required programs...
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... none needed
checking whether gcc understands -c and -o together... yes
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for wchar.h... yes
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking whether _XOPEN_SOURCE should be defined... no
checking for ar... ar
checking the archiver (ar) interface... ar
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... gawk
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking whether make sets $(MAKE)... yes
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking whether make supports nested variables... (cached) yes
configure: checking required libraries...
checking whether NLS is requested... yes
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking for shared library run path origin... done
checking how to run the C preprocessor... gcc -E
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for clock_gettime in -lrt... yes
checking for library containing socket... none required
checking for library containing inet_ntop... none required
checking for res_init in -lresolv... no
checking which hook scripts to use... iproute
checking for pthread_create in -lpthread... yes
configure: checking header files...
checking whether to enable assertions... yes
checking for libintl.h... yes
checking for net/if_tun.h... no
checking for net/tun/if_tun.h... no
checking for net/if_var.h... no
configure: checking target characteristics...
checking if gcc accepts -Wall... yes
checking if gcc accepts -Wextra... yes
checking if gcc accepts -Wundef... yes
checking if gcc accepts -Winit-self... yes
checking if gcc accepts -Wpointer-arith... yes
checking if gcc accepts -Wbad-function-cast... yes
checking if gcc accepts -Wcast-align... yes
checking if gcc accepts -Wwrite-strings... yes
checking if gcc accepts -Waggregate-return... yes
checking if gcc accepts -Wstrict-prototypes... yes
checking if gcc accepts -Wold-style-definition... yes
checking if gcc accepts -Wmissing-prototypes... yes
checking if gcc accepts -Wmissing-noreturn... yes
checking if gcc accepts -Wpacked... yes
checking if gcc accepts -Wnested-externs... yes
checking if gcc accepts -Wredundant-decls... yes
checking if gcc accepts -Wvolatile-register-var... yes
checking if gcc accepts -Wshadow... yes
checking if gcc accepts -Wlogical-op... yes
checking whether byte ordering is bigendian... no
checking if struct sockaddr has a sa_len member... no
checking for clockid_t... yes
configure: checking library functions...
checking for getopt.h... yes
checking for library containing getopt_long... none required
checking for devname_r... no
checking for kldload... no
checking for clearenv... yes
checking for strlcpy... no
checking for clock_gettime... yes
checking for clock_nanosleep... yes
checking for fdatasync... yes
configure: checking optional features...
checking for sys/capability.h... no
checking for Judy.h... no
checking for tdestroy... yes
checking whether to build for test coverage... no
checking whether to include Teredo client support... yes
checking user to run as... nobody
configure: writing results...
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating po/Makefile.in
config.status: creating Doxyfile
config.status: creating config.h
config.status: executing libtool commands
config.status: executing depfiles commands
config.status: executing po-directories commands
config.status: creating po/POTFILES
config.status: creating po/Makefile

Код: Выделить всё

olej@R420:~/2023/IPv6/miredo$ make
make  all-recursive
make[1]: вход в каталог «/home/olej/2023/IPv6/miredo»
Making all in po
make[2]: вход в каталог «/home/olej/2023/IPv6/miredo/po»
test ! -f ./miredo.pot || \
  test -z "en.gmo en_GB.gmo fr.gmo zh_CN.gmo" || make en.gmo en_GB.gmo fr.gmo zh_CN.gmo
make[3]: вход в каталог «/home/olej/2023/IPv6/miredo/po»
rm -f en.gmo && /usr/bin/msgfmt -c --statistics --verbose -o en.gmo en.po
en.po: 15 переведённых сообщений, 58 непереведённых сообщений.
rm -f en_GB.gmo && /usr/bin/msgfmt -c --statistics --verbose -o en_GB.gmo en_GB.po
en_GB.po: 27 переведённых сообщений, 46 непереведённых сообщений.
rm -f fr.gmo && /usr/bin/msgfmt -c --statistics --verbose -o fr.gmo fr.po
fr.po: 73 переведённых сообщения.
rm -f zh_CN.gmo && /usr/bin/msgfmt -c --statistics --verbose -o zh_CN.gmo zh_CN.po
zh_CN.po: 73 переведённых сообщения.
make[3]: выход из каталога «/home/olej/2023/IPv6/miredo/po»
touch stamp-po
make[2]: выход из каталога «/home/olej/2023/IPv6/miredo/po»
make[2]: вход в каталог «/home/olej/2023/IPv6/miredo»
  CC       libteredo/mire.o
  CC       libteredo/security.lo
  CC       libteredo/md5.lo
  CC       libteredo/packets.lo
  CC       libteredo/peerlist.lo
  CC       libteredo/clock.lo
  CC       libteredo/stub.lo
  CC       libteredo/relay.lo
  CC       libteredo/maintain.lo
  CC       libteredo/discovery.lo
  CC       libteredo/teredo.lo
  CC       libteredo/v4global.lo
  CCLD     libteredo-common.la
  CC       compat/dummy.lo
  CC       compat/strlcpy.lo
  CCLD     libcompat.la
  CCLD     libteredo.la
  CCLD     teredo-mire
  CC       src/privproc.o
  CCLD     miredo-privproc
  CC       src/relayd.o
  CC       libtun6/tun6.lo
  CCLD     libtun6.la
  CC       src/miredo.lo
  CC       src/conf.lo
  CC       src/main.lo
src/main.c:139:1: warning: ‘error_errno’ defined but not used [-Wunused-function]
  139 | error_errno (const char *str)
      | ^~~~~~~~~~~
  CCLD     libmiredo.la
  CCLD     miredo
  CC       src/serverd.o
  CC       libteredo/server.lo
  CCLD     libteredo-server.la
  CCLD     miredo-server
  CC       src/checkconf.o
  CCLD     miredo-checkconf
  CAT      client-hook
  SED      doc/miredo.8
  SED      doc/miredo-server.8
  SED      doc/miredo-checkconf.8
  SED      misc/miredo.conf
  SED      misc/miredo-server.conf
  SED      misc/miredo.service
  SED      misc/miredo-server.service
make[2]: выход из каталога «/home/olej/2023/IPv6/miredo»
make[1]: выход из каталога «/home/olej/2023/IPv6/miredo»

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Miredo - нативный IPv6

Непрочитанное сообщение Olej » 08 июн 2023, 17:38

Olej писал(а):
08 июн 2023, 17:28
Всё это можно собрать по-быстренькому:
Olej писал(а):
08 июн 2023, 09:54
А при старте как сервиса - интерфейс teredo создаётся ... но какой-то он "мёртвый", неработоспособный...
Нужно разбираться с сервис-файлом.
Прежде всего, там есть сервис-файл "от автора" и он отличается существенно от сервис-файла "от Debian":

Код: Выделить всё

olej@R420:~/2023/IPv6/miredo/misc$ pwd
/home/olej/2023/IPv6/miredo/misc

Код: Выделить всё

olej@R420:~/2023/IPv6/miredo/misc$ cat miredo.service
[Unit]
Description=Teredo IPv6 tunneling
Wants=network-online.target
After=network-online.target nss-lookup.target

[Service]
ExecStartPre=/usr/local/sbin/miredo-checkconf -f /usr/local/etc/miredo/miredo.conf
ExecStart=/usr/local/sbin/miredo -f
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
И это нужно будет попробовать.
Во-вторых - лёгкость и простота сборки из исходников, нужно отметить... Это позволяет использовать в RPM дистрибутивах, где в репозиториях этого нет.

Код: Выделить всё

olej@R420:~/2023/IPv6/miredo$ ls -l | grep "\-rwx"
-rwxrwxr-x 1 olej olej   1955 июн  8 17:10 autogen.sh
-rwxrwxr-x 1 olej olej  66320 июн  8 17:16 config.status
-rwxrwxr-x 1 olej olej 562313 июн  8 17:15 configure
-rwxrwxr-x 1 olej olej 342809 июн  8 17:16 libtool
-rwxrwxr-x 1 olej olej   6297 июн  8 17:18 miredo
-rwxrwxr-x 1 olej olej  84192 июн  8 17:18 miredo-checkconf
-rwxrwxr-x 1 olej olej   6376 июн  8 17:18 miredo-privproc
-rwxrwxr-x 1 olej olej 127032 июн  8 17:18 miredo-server
-rwxrwxr-x 1 olej olej   6336 июн  8 17:18 teredo-mire

Код: Выделить всё

olej@R420:~/2023/IPv6/miredo$ ./miredo -V
Miredo: Teredo IPv6 tunneling software 1.3.0 (x86_64-pc-linux-gnu)
Configured with: ./configure 
Written by Remi Denis-Courmont.

Copyright (C) 2004-2006 Remi Denis-Courmont
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.
Эта версия всё-же попозжнее (по номеру) будет.

Ответить

Вернуться в «Сети»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 13 гостей