bol-van / zapret

DPI bypass multi platform
7.92k stars 608 forks source link

openvpn tun0 nfqws #619

Open Sergey-nqwfs opened 1 week ago

Sergey-nqwfs commented 1 week ago

Добрый день, а как пропустить трафик через nfqws с openvpn 172.16.2.0/24 tun0, нужны ли какие то правила iptables? И зачем еще параметр IFACE_LAN, там нкжно указывать tun0?

bol-van commented 1 week ago

Для nfqws нужен IFACE_WAN. nfqws вешается на выход, а не на вход. и ему все равно откуда оно пришло

Artem-VV commented 1 week ago

@bol-van доброй ночи. Занимаюсь сейчас сокрытием своего OpenVPN (UDP) туннеля от DPI. Раньше использовал ss-rust, но ситуацию осложнял завышенный пинг и периодические просадки скорости. По итогу решил заняться тестированием запрета. В качестве маршрутизатора используется Opnsense (freebsd 14). Чтобы не тыкаться в пустую хочу сразу поинтересоваться: имеются ли рабочие конфигурации для обхода? Тестировал конфиг из комментария от 2023 года, но он, видимо, уже не работает (получал пиковую скорость в 50мбит из 200мбит канала). В рамках тестирования ipset не использую. Весь трафик VPN гоню через запрет: ipfw add 100 divert 989 udp from any to any 1194 out not diverted xmit vtnet0

bol-van commented 1 week ago

Для udp не так много вариантов. Можно фейки слать разные в разном количестве. К своему серверу можно использовать ipfrag2, если хостер не режет. Это наиболее ультимативный вариант. Но до готовых VPN от комерсов не дойдет скорее всего. И провайдерский NAT может покоцать, если нет внешнего IP. Все это дурится в режиме desync-any-protocol и cutoff

Artem-VV commented 1 week ago

Использовал сегодня для тестирования такой скрипт (что б удобнее запускать было сделал):

ipfw delete 100
ipfw add 100 divert 989 udp from any to any 2000 out not diverted xmit vtnet0
/usr/local/sbin/dvtws --debug=1 --port=989 \
--filter-udp=2000 --dpi-desync=fake --dpi-desync-any-protocol --dpi-desync-cutoff=d2 --dpi-desync-repeats=10

2000 - порт vpn-сервера, vtnet0 - WAN

В таком варианте ничего вменяемого добиться не удалось. Пробовал использовать dpi-desync-ttl в различных значениях, в том числе в минимально рабочем (4). При добавлении ipfrag2 появлялись PL (10-15%)

Какие еще варианты можно рассмотреть?

P.S. zapret стоит на стороне клиента

bol-van commented 1 week ago

Внешний IP адрес есть на этой системе ? Если есть и VPN сервер под контролем, надо проверить там tcpdump-ом по фильтру IP клиента доходят ли IP фрагменты.

Artem-VV commented 1 week ago

Внешний есть, контроль тоже. Проверю тогда как будет время.

Sergey-nqwfs commented 1 week ago

Вобщем openvpn тоже работает с Masquarde -eth0, больше ничего не надо. Для сокрытия openvpn я когда-то использовал stunnel в режиме точка-точка. Еще с активным NFQWS на локальной системе не обновляются репозитории apt-get update и не ставятся пакеты apt-get install, висит постоянно waiting... Нужно сбрасывать все правила iptables. И еще ntp сервер похоже не обновляет время

Artem-VV commented 1 week ago

@Sergey-nqwfs можешь подсказать правила/параметры iptables/zapret с которыми туннель корректно поднимается?