• Как определяется состояние сети ipv6?

    @abubaca Автор вопроса
    На следующий день снова не работает
  • Как логировать ipv6 адреса в nginx в docker?

    @abubaca Автор вопроса
    Переназначил vaultwarden адрес на ::
    ROCKET_ADDRESS: '::'
    WEBSOCKET_ADDRESS: '::'

    В итоге работает и по ipv4 и по ipv6
    [2021-08-12 21:30:29.528][parity_ws][INFO] Listening for new connections on [::]:3012.
    [2021-08-12 21:30:29.530][start][INFO] Rocket has launched from http://:::80
    [2021-08-12 21:31:20.229][parity_ws::io][INFO] Accepted a new tcp connection from [::ffff:172.28.0.4]:51982.
    [2021-08-12 21:31:20.377][request][INFO] GET /api/accounts/revision-date
    [2021-08-12 21:31:20.377][response][INFO] GET /api/accounts/revision-date (revision_date) => 200 OK
    [2021-08-12 21:31:33.636][parity_ws::io][INFO] Accepted a new tcp connection from [fd00:1:2::4]:43020.
  • Как логировать ipv6 адреса в nginx в docker?

    @abubaca Автор вопроса
    Похоже сам vaultwarden не слушает ipv6 адреса
    Наверное стоит им написать не нашёл в env что то для включения ipv6
    2021/08/12 19:43:19 [warn] 47#47: *20 upstream server temporarily disabled while connecting to upstream, client: 2a03:e2c0:1172:#, server: vault.*, request: "POST /api/accounts/prelogin HTTP/2.0", upstream: "http://[fd00:1:2::3]:80/api/accounts/prelogin", host: "#", referrer: "#"

    Но в целом всё работает
  • Как логировать ipv6 адреса в nginx в docker?

    @abubaca Автор вопроса
    Дополняю
    Обнаружил что nginx не слушает на ipv6 внутри контейнера
    Добавил listen [::]:443 ssl http2;
    Вроде заработало
    Удивлён так как где то видел что в новых версиях nginx автоматически слушает и ipv4 и ipv6 адреса
  • Как логировать ipv6 адреса в nginx в docker?

    @abubaca Автор вопроса
    Настроить на cidr облака не получилось(да и не очень хотелось)
    Решил сделать через ipv6nat контейнер(по этому примеру)
    Запустил ipv6nat
    Добавил в docker-compose сеть с ULA ipv6 диапазоном
    Запускаю
    Curl по ipv6 адресу пишет В соединении отказано
    По ipv4 всё работает
    Если подключиться к консоли контейнера ipv6 там работает(пинги идут на внешние сайты по крайней мере)
    sysctl -a | grep net.ipv6.conf.*.forwarding
    net.ipv6.conf.all.forwarding = 1
    net.ipv6.conf.all.mc_forwarding = 0
    net.ipv6.conf.br-48b7d4dda155.forwarding = 1
    net.ipv6.conf.br-48b7d4dda155.mc_forwarding = 0
    net.ipv6.conf.default.forwarding = 1
    net.ipv6.conf.default.mc_forwarding = 0
    net.ipv6.conf.docker0.forwarding = 1
    net.ipv6.conf.docker0.mc_forwarding = 0
    net.ipv6.conf.ens3.forwarding = 1
    net.ipv6.conf.ens3.mc_forwarding = 0
    net.ipv6.conf.lo.forwarding = 1
    net.ipv6.conf.lo.mc_forwarding = 0
    net.ipv6.conf.veth4e656fc.forwarding = 1
    net.ipv6.conf.veth4e656fc.mc_forwarding = 0
    net.ipv6.conf.vethdc600c6.forwarding = 1
    net.ipv6.conf.vethdc600c6.mc_forwarding = 0
    net.ipv6.conf.vethf919ddf.forwarding = 1
    net.ipv6.conf.vethf919ddf.mc_forwarding = 0

    ip6tables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    DOCKER-USER  all      anywhere             anywhere
    DOCKER-ISOLATION-STAGE-1  all      anywhere             anywhere
    DOCKER     all      anywhere             anywhere
    ACCEPT     all      anywhere             anywhere             ctstate RELATED,ESTABLISHED
    ACCEPT     all      anywhere             anywhere
    ACCEPT     all      anywhere             anywhere
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    
    Chain DOCKER (1 references)
    target     prot opt source               destination
    ACCEPT     tcp      anywhere             fd00:1:2::2          tcp dpt:https
    ACCEPT     tcp      anywhere             fd00:1:2::2          tcp dpt:http
    
    Chain DOCKER-ISOLATION-STAGE-1 (1 references)
    target     prot opt source               destination
    DOCKER-ISOLATION-STAGE-2  all      anywhere             anywhere
    RETURN     all      anywhere             anywhere
    
    Chain DOCKER-ISOLATION-STAGE-2 (1 references)
    target     prot opt source               destination
    DROP       all      anywhere             anywhere
    RETURN     all      anywhere             anywhere
    
    Chain DOCKER-USER (1 references)
    target     prot opt source               destination
    RETURN     all      anywhere             anywhere
  • Как логировать ipv6 адреса в nginx в docker?

    @abubaca Автор вопроса
    Я не думаю что это то что надо
    Docker с помощью docker-proxy слушает соединения на портах 80 и 443 и на Ipv4 и на ipv6
    При этом все соединения перенаправляются в контейнер
    Когда соединение ipv4 то nginx получает нормальный ip адрес клиента
    Когда ipv6 то адрес хоста
    23.90.160.130 - - [11/Aug/2021:18:21:18 +0000] "GET / HTTP/1.1" 301 162 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36" "-"
    172.22.0.1 - - [11/Aug/2021:19:15:36 +0000] "GET /api/accounts/revision-date HTTP/2.0" 200 13 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0" "-"

    Я думаю это происходит из-за того что сеть для контейнеров содержит только ipv4 и link-local ipv6 адреса но не уверен в этом
    4: br-cb0cd8ad34c0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
        link/ether 02:42:2e:9c:26:8f brd ff:ff:ff:ff:ff:ff
        inet 172.22.0.1/16 brd 172.22.255.255 scope global br-cb0cd8ad34c0
           valid_lft forever preferred_lft forever
        inet6 fe80::42:2eff:fe9c:268f/64 scope link
           valid_lft forever preferred_lft forever

    Я искал кого-то кто уже сталкивался с проблемой того что контейнеры docker не получают адрес ipv6 клиента