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

Art_Farm

Пользователь
Сообщения
283
Решения
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 будет работать, но это не точно.
 
Назад
Сверху Снизу