AmneziaWG + Xray + WARP
- WARP - бесплатный VPN от Cloudflare, позволит скрыть свой белый IP (для обхода блокировок Gemini или безопасности). Может работать в режиме SOCKS5, позволяя проксировать только выборочный трафик.
- Xray - умное ядро маршрутизации, позволит направить трафик в SOCKS5 WARP прокси согласно заданным правилам (в нашем случае DNS).
Для Debian-based ОС обновить пакеты и установить базовые утилиты:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl gnupg lsb-release
Установить WARP:
curl -fsSL https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor -o /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
sudo apt update && sudo apt install cloudflare-warp -y
Зарегистрироваться в WARP и запустить SOCKS5 прокси:
warp-cli registration new
warp-cli mode proxy
warp-cli proxy port 40000
warp-cli connect
# Проверка работоспособности, должно выдать IP адрес от Cloudflare
curl --socks5 127.0.0.1:40000 ifconfig.me
Установить Xray:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
Заменить файл /usr/local/etc/xray/config.json содержимым:
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"tag": "transparent",
"port": 12345, // Порт куда AmneziaWG будет перенаправлять трафик
"protocol": "dokodemo-door",
"settings": {
"network": "tcp", // UDP будет перехвачен iptables
"followRedirect": true
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"]
}
}
],
"outbounds": [
{
"tag": "direct",
"protocol": "freedom",
"settings": {}
},
{
"tag": "warp-socks",
"protocol": "socks",
"settings": {
"domainStrategy": "UseIPv4",
"servers": [
{
"address": "127.0.0.1", // Адрес и порт WARP SOCKS5 прокси
"port": 40000
}
]
}
}
],
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"type": "field",
"domain": [
"geosite:google",
"geosite:google-gemini",
"domain:2ip.io", // Для проверки работоспособности
],
"outboundTag": "warp-socks"
},
{
"type": "field",
"network": "tcp,udp",
"outboundTag": "direct" // Всё остальное напрямую
}
]
}
}
Перезапустить службу и добавить в автозагрузку:
sudo systemctl restart xray
sudo systemctl enable xray
Добавить дополнительные правила iptables:
# Перенаправлять весь трафик AmneziaWG на порт 12345
sudo iptables -t nat -I PREROUTING 1 -i amn0 -p tcp -j REDIRECT --to-ports 12345
# Выключить UDP для HTTPS (QUIC) для amn0 (SOCKS5 поддерживает только TCP)
sudo iptables -I FORWARD -i amn0 -p udp --dport 443 -j DROP
# Заблокировать порт 12345 на интерфейсе с белым IP адресом (найти можно командой ip -c -br a)
sudo iptables -I INPUT -i ens1 -p tcp --dport 12345 -j DROP
Чтобы правила iptables сохранялись при перезагрузке:
sudo apt install iptables-persistent
# При установке предложит сохранить текущие правила, но можно отдельной командой
sudo netfilter-persistent save
Работоспобность можно проверить перейдя на 2ip.io, сайт должен отобразить IP адрес Cloudflare.
Для установки актуальных Geosite DNS:
sudo curl -L -o /usr/local/share/xray/geosite.dat https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
AmneziaWG + WARP
Для более простой конфигурации можно воспользоваться скриптом https://github.com/isultanov99/amnezia-warp-host-routing. Тогда весь трафик AmneziaWG будет проходить через WARP.
sudo apt install git
git clone https://github.com/isultanov99/amnezia-wg-warp-host-routing/blob/master/deploy_amnezia_warp_host.sh
cd amnezia-wg-warp-host-routing/
chmod +x deploy_amnezia_warp_host.sh
# Запустить скрипт
./deploy_amnezia_warp_host.sh
# Проверка работоспособнсти
sudo systemctl status amnezia-warp-routing@v2.service