Вопрос Плохо работет VPN через WireGuard

Art_Farm

Пользователь
Сообщения
285
Решения
7
Веб-сайт
artfarm.mine-farm.ru
Недавно купил VDS в польше, ввёл в консоли «apt update && apt upgrade» и потом «apt install fail2ban nftables wireguard wireguard-tools ufw». Потом вроде как я сделал VPN и подключился к нему через приложение, но почему то сервер отправляет только ~70 – ~500 байт трафика – это очень мало. Потом после рестарта VDS у меня ещё ssh слетела на VDS, я думаю это ufw конфликтует с nftables (скажите, это может быть или нет?) Oc Debian 13
Вот мой /etc/nftables.conf:

Код:
flush ruleset

define WAN_IF = "eth0"
define WG_IF = "wg0"
define WG_SUB = 10.250.250.0/24
define SSH_PORT = 29846
define WG_PORT = 51820

table inet filter {
    set ssh_blocked {
        type ipv4_addr
        flags dynamic,timeout
        timeout 1h
        size 65536
    }

    set wg_blocked {
        type ipv4_addr
        flags dynamic,timeout
        timeout 1h
        size 65536
    }

    set quota_blocked {
        type ipv4_addr
        flags dynamic,timeout
        timeout 2h
        size 65536
    }

    set wg_clients {
        type ipv4_addr
        flags dynamic
        size 65536
    }

    chain input {
        type filter hook input priority 0; policy drop;

        iifname "lo" accept

        ct state established,related accept

        ct state invalid drop

        icmp type echo-request limit rate 30/minute burst 10 packets accept
        icmp type { destination-unreachable, time-exceeded, parameter-problem } accept

        icmpv6 type echo-request limit rate 30/minute burst 10 packets accept
        icmpv6 type { destination-unreachable, time-exceeded, parameter-problem,
                      nd-neighbor-solicit, nd-neighbor-advert } accept

        ip saddr @quota_blocked drop
        ip saddr @ssh_blocked drop
        ip saddr @wg_blocked drop

        tcp dport $SSH_PORT ct state new limit rate over 30/minute add @ssh_blocked { ip saddr }
        tcp dport $SSH_PORT ct state new accept
        tcp dport $SSH_PORT ct state established,related accept

        udp dport $WG_PORT ct state new limit rate over 300/minute add @wg_blocked { ip saddr }
        udp dport $WG_PORT ct state new,established accept

        ip protocol tcp ct state new limit rate over 100/minute add @quota_blocked { ip saddr }

        drop
    }

    chain forward {
        type filter hook forward priority 0; policy drop;

        ct state established,related accept

        iifname $WG_IF ip saddr @quota_blocked drop
        iifname $WG_IF oifname $WAN_IF ip saddr $WG_SUB accept
        iifname $WG_IF oifname $WAN_IF ip saddr @wg_clients accept

        iifname $WAN_IF oifname $WG_IF ct state established,related accept

        drop
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }
}

table ip mangle {
    chain output {
        type route hook output priority mangle; policy accept;

        ip daddr $WG_SUB tcp flags & (syn|rst) == syn tcp option maxseg size set rt mtu
    }

    chain forward {
        type filter hook forward priority mangle; policy accept;

        iifname $WG_IF oifname $WAN_IF tcp flags & (syn|rst) == syn tcp option maxseg size set rt mtu
    }
}

table ip nat {
    chain postrouting {
        type nat hook postrouting priority srcnat; policy accept;
        ip saddr $WG_SUB oifname $WAN_IF masquerade
    }
}

Вот мой конфиг /etc/wireguard/wg0.conf:

Код:
[Interface]
MTU = 1340
Address = 10.250.250.1/24
ListenPort = 51820
PrivateKey = (указан верно)

PostUp = /usr/sbin/sysctl -w net.ipv4.ip_forward=1
PostUp = /usr/sbin/nft add table ip wg_nat 2>/dev/null || true
PostUp = /usr/sbin/nft 'add chain ip wg_nat postrouting { type nat hook postrouting priority 100 ; }' 2>/dev/null || true
PostUp = /usr/sbin/nft add rule ip wg_nat postrouting oifname "eth0" masquerade 2>/dev/null || true
PostDown = /usr/sbin/nft delete rule ip wg_nat postrouting oifname "eth0" masquerade 2>/dev/null || true
PostDown = /usr/sbin/nft flush table ip wg_nat 2>/dev/null || true

[Peer]
PublicKey = (указан верно)
PresharedKey = (указан верно)
AllowedIPs = 10.250.250.2/32

Вот вывод tracepath -n 8.8.8.8:
Код:
1?: [LOCALHOST] pmtu 1400
 1: 10.0.0.1 0.974ms
 1: 10.0.0.1 0.250ms
 2: 148.253.212.1 0.566ms
 3: 10.255.244.2 1.829ms
 4: 72.14.243.120 1.656ms
 5: no reply
 6: no reply
 7: no reply
 8: no reply
 9: no reply
10: no reply
11: no reply
12: no reply
13:  no reply

Скажите, что вам ещё нужно отправить. Пожалуйста, помогите.
 
Пакеты слишком большие и их урезает фаервол или настройки туннеля/nat/handshake. Не используй кастомный ufw вместе с кфг настройками nftables, они могут конфликтовать. Используй только nftables. Если тебе нужен быстрый и стабильный WG, используй этот форк
У него есть клиенты на все платформы и админ-клиент для автоматической установки/настройки selfhosted, почти ничего лишнего делать не надо, 5 минут поднимать.

Но, если тебе нужен VPN для обходов блокировок, ни один из этих протоколов не будут работать в рф.
 
Но, если тебе нужен VPN для обходов блокировок, ни один из этих протоколов не будут работать в рф.
Почему не будут работать, и какие именно протоколы?
 
Почему не будут работать, и какие именно протоколы?
Потому что научились их точечено определять и блочить, уже как месяца два. Тебе нужен этот протокол

Возможно ещё новый vles будет работать, но это не точно.
 
Потому что научились их точечено определять и блочить, уже как месяца два. Тебе нужен этот протокол

Возможно ещё новый vles будет работать, но это не точно.
Vless сейчас тоже по умному надо настраивать, научились блокировать куча соединений
 
Назад
Сверху Снизу