Задать вопрос
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, не знаю, у автора мануала уже пинговалось как-то...
    Хорошо, раз верно, осталось прописать куда-то это всё, чтобы после перезагрузки изменения сохранились.
    В генте я это все сохранил, добавив в /etc/conf.d/net следующие строчки (создав линк net.lo->net.tun6to4 и не забыв сделать rc-update add net.tun6to4 default):
    iptunnel_tun6to4=«mode sit remote any local 208.64.121.161 ttl 64»
    config_tun6to4=«2002:d040:79a1::2»
    routes_tun6to4=«2000::/3 via ::192.88.99.1 dev tun6to4 metric 1»
    rc_net_tun6to4_need=«net.eth0»
    У автора так написано, но у него другая ОС, а у меня Ubuntu 20 (и я конечно свои значения подставлю). Напиши пожалуйста в какие мне файлы эти строки прописывать, чтобы всё работало.
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, не пингуется любой IP через интерфейс tun6to4, даже если взять точь-в-точь:
    ping6 2001:ad0::1
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, По тому мануалу, что вначале ссылку приводил, написано,
    После этого наш сервер должен получить возможность работать по IPv6. Проверяем: ping6 2001:ad0::1

    У меня то его нет, значит ещё чего-то не хватает интерфейсу tun6to4.
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, Да верно, VPS тот же самый.
    ping -6 -I tun6to4 2600:9000:28f7:b800:c:561d:5500:93a1 - пинга нет
    ping -6 -I ens3 2600:9000:28f7:b800:c:561d:5500:93a1 - пинг 40мс.
    Вот все интерфейсы в системе:
    lo inet 127.0.0.1/8
    lo inet6 ::1/128
    ens3 inet 109.248.59.79/24
    ens3 inet6 2a0c:9300:0:5a::1/48
    ens3 inet6 fe80::5054:ff:feb8:8dc4/64
    tun_6in4_1 inet6 2a0c:9300:0:1::1/64
    tun_6in4_1 inet6 fe80::6df8:3b4f/64
    tun6to4 inet6 2002:6df8:3b4f::8/128
    tun6to4 inet6 ::109.248.59.79/96
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, нет это не задание конечно же :) Но я согласен проспонсировать вашу деятельность/ресурс, намекните как.
    С IP адресами разобрались, почему пинг тогда не проходит?

    Само решение 6to4 считается устаревшим..
    Я читал это, но оно устарело для тех кто не может контролировать выходную точку туннеля.
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, Я несколько раз перечитал :) Действительно там openvpn только по верх ipv6 имелся ввиду. Давайте пожалуйста продолжим по исходному "заданию".
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik , Ещё тут пример неплохой расписан https://version6.ru/openvpn , т.е. в режиме VPN точка-точка можно передать ipv6. Это ведь то что нужно, но чуть-чуть нужна ваша помощь ‍ разобраться с этим.
    Написано
  • Как настроить интерфейс 6to4 для работы с Openvpn на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    1. Вы задаёте один и тот же вопрос уже третий раз, с различными вариациями, причём предыдущие ответы помечены как решенные.
    Стоп, тот вариант был туннель 6in4 и он работает. Но я хочу ещё один, 6to4, только уже внутри openvpn ;) Или я неправильно понял тот пример, там туннель между домашним и удалённым сервером разве не openvpn?

    2. Для настройки туннель надо знать текущий белый ip у vps. Вы его не сообщаете, поэтому проверить настройки невозможно.
    Вот, пожалуйста IP VPS 109.248.59.79

    3. Для организации туннеля 6to4 необходимо что бы и у роутера и у vps были белые ip адреса (без nat) и были настроены сети ipv6.
    4. В туннеле участвуют две стороны (домашний роутер и vps) . Адреса, которые указываются в командах нельзя просто взять из чужой инструкции.
    Это должны быть именно Ваши адреса.
    Адреса я конечно же свои подставил. В этот раз схема гораздо проще: удалённая VPS --- домашний комп c openvpn клиентом за роутером. Т.е. роутер в этой схеме не планируется настраивать.

    5. Какая конечная цель?
    Резервный вариант, так сказать.
    Написано
  • За что отвечает сервис ifup@ens3.service в Ubuntu?

    @Heavycloud64 Автор вопроса
    pfg21, Верно, если ни на что не влияет, то и хрен с ними, оставить как есть ;) С Новым годом!
    Написано
  • За что отвечает сервис ifup@ens3.service в Ubuntu?

    @Heavycloud64 Автор вопроса
    pfg21,
    spoiler
    # systemctl cat ifup@.service
    # /lib/systemd/system/ifup@.service
    [Unit]
    Description=ifup for %I
    After=local-fs.target network-pre.target apparmor.service systemd-sysctl.service
    Before=network.target shutdown.target network-online.target
    Conflicts=shutdown.target
    BindsTo=sys-subsystem-net-devices-%i.device
    After=sys-subsystem-net-devices-%i.device
    DefaultDependencies=no
    IgnoreOnIsolate=yes

    [Service]
    # avoid stopping on shutdown via stopping system-ifup.slice
    Slice=system.slice
    ExecStart=/bin/sh -ec 'ifup --allow=hotplug %I; ifup --allow=auto %I; \
    if ifquery %I >/dev/null; then ifquery --state %I >/dev/null; fi'
    ExecStop=/sbin/ifdown %I
    RemainAfterExit=true
    TimeoutStartSec=5min


    spoiler
    #!/bin/sh

    ETHTOOL=/sbin/ethtool

    test -x $ETHTOOL || exit 0

    [ "$IFACE" != "lo" ] || exit 0

    # Find settings with a given prefix and print them as they appeared in
    # /etc/network/interfaces, only with the prefix removed.
    # This actually prints each name and value on a separate line, but that
    # doesn't matter to the shell.
    gather_settings () {
    set | sed -n "
    /^IF_$1[A-Za-z0-9_]*=/ {
    h; # hold line
    s/^IF_$1//; s/=.*//; s/_/-/g; # get name without prefix
    y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/; # lower-case
    p;
    g; # restore line
    s/^[^=]*=//; s/^'\(.*\)'/\1/; # get value
    p;
    }"
    }

    # Gather together the mixed bag of settings applied with -s/--change
    SETTINGS="\
    ${IF_LINK_SPEED:+ speed $IF_LINK_SPEED}\
    ${IF_LINK_DUPLEX:+ duplex $IF_LINK_DUPLEX}\
    "

    # WOL has an optional pass-key
    set -- $IF_ETHERNET_WOL
    SETTINGS="$SETTINGS${1:+ wol $1}${2:+ sopass $2}"

    # Autonegotiation can be on|off or an advertising mask
    case "$IF_ETHERNET_AUTONEG" in
    '') ;;
    on|off) SETTINGS="$SETTINGS autoneg $IF_ETHERNET_AUTONEG" ;;
    *) SETTINGS="$SETTINGS autoneg on advertise $IF_ETHERNET_AUTONEG" ;;
    esac

    [ -z "$SETTINGS" ] || $ETHTOOL --change "$IFACE" $SETTINGS

    SETTINGS="$(gather_settings ETHERNET_PAUSE_)"
    [ -z "$SETTINGS" ] || $ETHTOOL --pause "$IFACE" $SETTINGS

    SETTINGS="$(gather_settings HARDWARE_IRQ_COALESCE_)"
    [ -z "$SETTINGS" ] || $ETHTOOL --coalesce "$IFACE" $SETTINGS

    SETTINGS="$(gather_settings HARDWARE_DMA_RING_)"
    [ -z "$SETTINGS" ] || $ETHTOOL --set-ring "$IFACE" $SETTINGS

    SETTINGS="$(gather_settings OFFLOAD_)"
    [ -z "$SETTINGS" ] || $ETHTOOL --offload "$IFACE" $SETTINGS
    ~
    ~


    spoiler
    # On Debian GNU/Linux systems, the text of the GPL license,
    # version 2, can be found in /usr/share/common-licenses/GPL-2.

    if [ -n "$IF_WPA_MAINT_DEBUG" ]; then
    set -x
    fi

    # quit if we're called for the loopback
    if [ "$IFACE" = lo ]; then
    exit 0
    fi

    # allow wpa_supplicant interface to be specified via wpa-iface
    # useful for starting wpa_supplicant on one interface of a bridge
    if [ -n "$IF_WPA_IFACE" ]; then
    WPA_IFACE="$IF_WPA_IFACE"
    else
    WPA_IFACE="$IFACE"
    fi

    # source functions
    if [ -f /etc/wpa_supplicant/functions.sh ]; then
    . /etc/wpa_supplicant/functions.sh
    else
    exit 0
    fi

    # quit if executables are not installed
    if [ ! -x "$WPA_SUP_BIN" ] || [ ! -x "$WPA_CLI_BIN" ]; then
    exit 0
    fi

    do_start () {
    if test_wpa_cli; then
    # if wpa_action is active for this IFACE, do nothing
    ifupdown_locked && exit 0

    # if the administrator is calling ifup, say something useful
    if [ "$PHASE" = "pre-up" ]; then
    wpa_msg stderr "wpa_action is managing ifup/ifdown state of $WPA_IFACE"
    wpa_msg stderr "execute \`ifdown --force $WPA_IFACE' to stop wpa_action"
    fi
    exit 1
    elif ! set | grep -q "^IF_WPA"; then
    # no wpa- option defined for IFACE, do nothing
    exit 0
    fi

    # ensure stale ifupdown_lock marker is purged
    ifupdown_unlock

    # preliminary sanity checks for roaming daemon
    if [ -n "$IF_WPA_ROAM" ]; then
    if [ "$METHOD" != "manual" ]; then
    wpa_msg stderr "wpa-roam can only be used with the \"manual\" inet METHOD"
    exit 1
    fi
    if [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then
    if ! type "$IF_WPA_MAPPING_SCRIPT" >/dev/null; then
    wpa_msg stderr "wpa-mapping-script \"$IF_WPA_MAPPING_SCRIPT\" is not valid"
    exit 1
    fi
    fi
    if [ -n "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -z "$IF_WPA_MAPPING_SCRIPT" ]; then
    wpa_msg stderr "\"wpa-mapping-script-priority 1\" is invalid without a wpa-mapping-script"
    exit 1
    fi
    IF_WPA_CONF="$IF_WPA_ROAM"
    WPA_ACTION_SCRIPT="/sbin/wpa_action"
    fi

    # master function; determines if ifupdown.sh should do something or not
    if [ -n "$IF_WPA_CONF" ] && [ "$IF_WPA_CONF" != "managed" ]; then
    if [ ! -s "$IF_WPA_CONF" ]; then
    wpa_msg stderr "cannot read contents of $IF_WPA_CONF"
    exit 1
    fi
    WPA_SUP_CONF_CTRL_DIR=$(sed -n -e 's/[[:space:]]*#.*//g' -e 's/[[:space:]]\+.*$//g' \
    -e 's/^ctrl_interface=\(DIR=\)\?\(.*\)/\2/p' "$IF_WPA_CONF")
    if [ -n "$WPA_SUP_CONF_CTRL_DIR" ]; then
    WPA_CTRL_DIR="$WPA_SUP_CONF_CTRL_DIR"
    WPA_SUP_CONF="-c $IF_WPA_CONF"
    else
    # specify the default ctrl_interface since none was defined in
    # the given IF_WPA_CONF
    WPA_SUP_CONF="-c $IF_WPA_CONF -C $WPA_CTRL_DIR"
    fi
    else
    # specify the default ctrl_interface

    do_start () {
    if test_wpa_cli; then
    # if wpa_action is active for this IFACE, do nothing
    ifupdown_locked && exit 0

    # if the administrator is calling ifup, say something useful
    if [ "$PHASE" = "pre-up" ]; then
    wpa_msg stderr "wpa_action is managing ifup/ifdown state of $WPA_IFACE"
    wpa_msg stderr "execute \`ifdown --force $WPA_IFACE' to stop wpa_action"
    fi
    exit 1
    elif ! set | grep -q "^IF_WPA"; then
    # no wpa- option defined for IFACE, do nothing
    exit 0
    fi

    # ensure stale ifupdown_lock marker is purged
    ifupdown_unlock

    # preliminary sanity checks for roaming daemon
    if [ -n "$IF_WPA_ROAM" ]; then
    if [ "$METHOD" != "manual" ]; then
    wpa_msg stderr "wpa-roam can only be used with the \"manual\" inet METHOD"
    exit 1
    fi
    if [ -n "$IF_WPA_MAPPING_SCRIPT" ]; then
    if ! type "$IF_WPA_MAPPING_SCRIPT" >/dev/null; then
    wpa_msg stderr "wpa-mapping-script \"$IF_WPA_MAPPING_SCRIPT\" is not valid"
    exit 1
    fi
    fi
    if [ -n "$IF_WPA_MAPPING_SCRIPT_PRIORITY" ] && [ -z "$IF_WPA_MAPPING_SCRIPT" ]; then
    wpa_msg stderr "\"wpa-mapping-script-priority 1\" is invalid without a wpa-mapping-script"
    exit 1
    fi
    IF_WPA_CONF="$IF_WPA_ROAM"
    WPA_ACTION_SCRIPT="/sbin/wpa_action"
    fi

    # master function; determines if ifupdown.sh should do something or not
    if [ -n "$IF_WPA_CONF" ] && [ "$IF_WPA_CONF" != "managed" ]; then
    if [ ! -s "$IF_WPA_CONF" ]; then
    wpa_msg stderr "cannot read contents of $IF_WPA_CONF"
    exit 1
    fi
    WPA_SUP_CONF_CTRL_DIR=$(sed -n -e 's/[[:space:]]*#.*//g' -e 's/[[:space:]]\+.*$//g' \
    -e 's/^ctrl_interface=\(DIR=\)\?\(.*\)/\2/p' "$IF_WPA_CONF")
    if [ -n "$WPA_SUP_CONF_CTRL_DIR" ]; then
    WPA_CTRL_DIR="$WPA_SUP_CONF_CTRL_DIR"
    WPA_SUP_CONF="-c $IF_WPA_CONF"
    else
    # specify the default ctrl_interface since none was defined in
    # the given IF_WPA_CONF
    WPA_SUP_CONF="-c $IF_WPA_CONF -C $WPA_CTRL_DIR"
    fi
    else
    # specify the default ctrl_interface
    Написано
  • За что отвечает сервис ifup@ens3.service в Ubuntu?

    @Heavycloud64 Автор вопроса
    rPman, У меня подозрение, что это на новой Ubuntu так изначально было или после обновления. Настройку сети не производил, я арендую удалённую VPS, хостер может какую-нибудь настройку сбил при установке.
    Another app is currently holding the xtables lock. Perhaps you want to use the -w option?

    Ну да, написано что что-то держит. Может для работы какой-нибудь программы так и надо, я не знаю, поэтому и спрашиваю на сколько этот сервис важен и влияет ли он на работу интернета.
    Написано
  • За что отвечает сервис ifup@ens3.service в Ubuntu?

    @Heavycloud64 Автор вопроса
    Everything_is_bad, Вообще-то, поиск не дал каких-то внятных результатов.
    Написано
  • Как сделать автозапуск скрипта/программы в Ubuntu 20?

    @Heavycloud64 Автор вопроса
    Спасибо за подробное разъяснения! Прописал команду в crontab -e, теперь автоматически загружается вместе системой ;)
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    Dmitry, да, всё верно. Глянь комментарии под ответом на этот вопрос, SunTechnikу я всё расписал подробно.
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    Dmitry, Можно пояснить, чем так ужасно, что репошка старая? Что в ней не так? Для новичка может есть сложности с настройкой, для тех кто в теме - сложностей не возникнет.
    tunnelbroker мне не нужен.
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    Dmitry, Я всё настроил, но не работает, гляньте пожалуйста ^_^. Ниже под комментарием всё подробно расписал.
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, в /etc/sysctl.conf также раскомментировал строчку: net.ipv6.conf.all.forwarding = 1
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    SunTechnik, всё просто :)
    Цепочка следующая: Домашний ПК (Win 10 c IP4: 81.13.XXX.XXX) = Wi-fi роутер (Asus RT-AX55) = арендуемая VPS (Ubuntu 20.04).
    Соответственно на удалённой VPS настроил IPv6-in-IPv4 Tunnel.

    Параметры сети
    Эти данные используются для ручного
    назначения IPv6-адресов на VM.
    Подсеть:	2a0c:9300:0:5a::/64
    Префикс:	/48
    Шлюз:	2a0c:9300::1
    
    IP4-адрес: 109.248.59.79
    Маска: 255.255.255.0
    Шлюз: 109.248.59.1


    /root/6in4/etc/config.ini:

    ; IPv6 network, must be ending with '::'
    ; * Required
    IPV6_NETWORK=2a0c:9300:0:5a::

    ; IPV6 CIDR, must be a multiple of 8.
    ; * Required
    ; If your IPV6_CIDR is smaller than /64, assigned blocks are /64; if smaller than >; If IPV6_CIDR is greater than /64, assigned blocks are /(IPV6_CIDR + 16 [ + 8 ]),>
    IPV6_CIDR=48

    ; Bind tunnel to device INTERFACE
    ; * Required
    INTERFACE=ens3

    ; Local IPv4
    ; * Optional
    ; This is useful if your $INTERFACE has more than one IP.
    ; If BIND_IP is not set, script reads first IPv4 ip from $INTERFACE
    ;BIND_IP=1.1.1.1

    ; MTU
    ; Default: 1480
    ;LINK_MTU=1480
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    Выудил-таки из шайтан машины настройки, но что-то пошло не так :((
    Гляньте пожалуйста скриншот, может увидите ошибку:

    Please set up tunnel on your machine with following parameters:
    Server IPv4 Address: 109.248.59.79
    Server IPv6 Address: 2a0c:9300:0000:0001::1/64
    Client IPv4 Address: 81.13.XXX.XXX
    Client IPv6 Address: 2a0c:9300:0000:0001::2/64
    Routed /64: 2a0c:9300:0000:8001::/64
    If you don't have a static IP, set your local to 0.0.0.0 and invoke update api to update your endpoint.

    # ip6tables -t nat -A POSTROUTING -s 2a0c:9300:0000:8001::/64 -o ens3 -j MASQUERADE
    6946f3a5c546a789257422.png
    Написано
  • Как правильно установить скрипт туннеля 6in4 на Ubuntu 20?

    @Heavycloud64 Автор вопроса
    Спасибо большое, теперь прояснилось немного.
    Но дальше ещё непонятность в инструкции:
    IPV6_CIDR
    IPV6 CIDR, must be a multiple of 8, accepted CIDR: 8,16,24,32,40,48,56,64,72,80,88,96.
    If your IPV6_CIDR is smaller than /64, assigned blocks are /64; if smaller than /48, /48 is used.
    If IPV6_CIDR is greater than /64, assigned blocks are /(IPV6_CIDR + 16 [ + 8 ]), e.g.: 64->80, 72->96, 80->96.

    Для подсети = /48 CIDR какой надо указывать? По условиям либо больше, либо меньше, я запутался.
    Написано