Опубликовано

VLESS-клиент на роутере с Ubuntu 24.04

тобы настроить VLESS-клиент на роутере с Ubuntu 24.04 и перенаправить трафик из определённых диапазонов IP через туннель, выполните следующие шаги. VLESS — это протокол для безопасного туннелирования, который поддерживает маршрутизацию трафика по правилам.

 

 

### **Шаг 1: Установка V2Ray (VLESS-клиент)**

 

VLESS является частью проекта V2Ray. Установите V2Ray и его зависимости:

 

“`bash

 

# Добавление репозитория V2Ray

 

sudo apt update

 

sudo apt install curl gnupg2 ca-certificates lsb-release

 

curl -fsSL https://raw.githubusercontent.com/v2fly/v2ray/master/v2ray.repo | sudo tee /etc/apt/sources.list.d/v2ray.list

 

# Добавление GPG-ключа

 

curl -fsSL https://raw.githubusercontent.com/v2fly/v2ray/master/keys/v2ray.gpg | sudo gpg –dearmor -o /usr/share/keyrings/v2ray-archive-keyring.gpg

 

# Установка V2Ray

 

sudo apt update

 

sudo apt install v2ray v2ray-core

 

“`

 

 

### **Шаг 2: Настройка V2Ray (VLESS-клиент)**

 

Создайте конфигурационный файл V2Ray. Пример для `/etc/v2ray/config.json`:

 

“`json

 

{

 

“log”: {

 

“access”: “/var/log/v2ray/access.log”,

 

“error”: “/var/log/v2ray/error.log”,

 

“loglevel”: “debug”

 

},

 

“inbounds”: [

 

{

 

“port”: 1080,

 

“listen”: “127.0.0.1”,

 

“protocol”: “socks”,

 

“settings”: {

 

“auth”: “noauth”,

 

“udp”: true,

 

“ip”: “127.0.0.1”

 

}

 

}

 

],

 

“outbounds”: [

 

{

 

“protocol”: “vless”,

 

“settings”: {

 

“vnext”: [

 

{

 

“address”: “your-vless-server.com”,

 

“port”: 443,

 

“users”: [

 

{

 

“id”: “your-uuid-here”,

 

“encryption”: “none”,

 

“flow”: “”

 

}

 

]

 

}

 

]

 

},

 

“streamSettings”: {

 

“network”: “tcp”,

 

“security”: “tls”,

 

“tlsSettings”: {

 

“serverName”: “your-vless-server.com”

 

}

 

},

 

“tag”: “vless-out”

 

},

 

{

 

“protocol”: “freedom”,

 

“settings”: {},

 

“tag”: “direct”

 

},

 

{

 

“protocol”: “blackhole”,

 

“settings”: {},

 

“tag”: “blocked”

 

}

 

],

 

“routing”: {

 

“rules”: [

 

{

 

“type”: “field”,

 

“ip”: [“192.168.1.0/24”, “10.0.0.0/8”, “172.16.0.0/12”],

 

“outboundTag”: “direct”

 

},

 

{

 

“type”: “field”,

 

“ip”: [“0.0.0.0/0”],

 

“outboundTag”: “vless-out”

 

}

 

]

 

}

 

}

 

“`

 

**Пояснение:**

 

– `inbounds`: Локальный SOCKS-прокси (порт `1080`).

 

– `outbounds`: VLESS-клиент (настройки сервера, UUID, TLS).

 

– `routing`: Правила маршрутизации:

 

– Трафик из локальных диапазонов (`192.168.1.0/24`, `10.0.0.0/8`, `172.16.0.0/12`) идёт напрямую.

 

– Остальной трафик (`0.0.0.0/0`) заворачивается в VLESS-туннель.

 

 

### ️ **Шаг 3: Настройка маршрутизации (IP-таблицы)**

 

Для перенаправления трафика через VLESS-туннель настройте `iptables` или `nftables`.

 

#### Пример с `iptables`:

 

“`bash

 

# Создайте цепочку для трафика, который нужно перенаправить

 

sudo iptables -t nat -N VLESS_REDIRECT

 

sudo iptables -t nat -A VLESS_REDIRECT -p tcp -j REDIRECT –to-ports 1080

 

# Перенаправьте трафик из нужных диапазонов

 

sudo iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -j VLESS_REDIRECT

 

sudo iptables -t nat -A PREROUTING -s 10.0.0.0/8 -p tcp -j VLESS_REDIRECT

 

sudo iptables -t nat -A PREROUTING -s 172.16.0.0/12 -p tcp -j VLESS_REDIRECT

 

“`

 

#### Сохранение правил:

 

“`bash

 

sudo apt install iptables-persistent

 

sudo netfilter-persistent save

 

“`

 

 

### **Шаг 4: Запуск и проверка V2Ray**

 

1. **Перезапустите V2Ray**:

 

“`bash

 

sudo systemctl restart v2ray

 

“`

 

2. **Проверьте логи**:

 

“`bash

 

sudo journalctl -u v2ray

 

“`

 

3. **Проверьте соединение**:

 

Используйте `curl` или `traceroute` для проверки, что трафик из нужных диапазонов идёт через туннель:

 

“`bash

 

curl ifconfig.me # Проверьте IP-адрес после туннеля

 

“`

 

 

###  **Важные замечания**

 

1. **Firewall**:

 

Убедитесь, что порт `1080` (SOCKS) и порт VLESS-сервера (например, `443`) разрешены в firewall:

 

“`bash

 

sudo ufw allow 1080

 

sudo ufw allow 443

 

“`

 

2. **DNS-лики**:

 

Чтобы избежать утечки DNS, настройте V2Ray на использование собственного DNS:

 

“`json

 

“dns”: {

 

“servers”: [

 

“https+local://1.1.1.1/dns-query”,

 

“https://8.8.8.8/dns-query”

 

]

 

}

 

“`

 

3. **Обновления**:

 

Регулярно обновляйте V2Ray:

 

“`bash

 

sudo apt update && sudo apt upgrade v2ray

 

“`

 

 

### **Тестирование**

 

– Проверьте, что трафик из локальной сети (`192.168.1.0/24`) идёт напрямую.

 

– Убедитесь, что трафик из других IP-диапазонов заворачивается в VLESS-туннель.

 

 

Если возникнут ошибки, проверьте:

 

– Логи V2Ray (`/var/log/v2ray/error.log`).

 

– Настройки IP-таблиц.

 

– Корректность UUID и настроек сервера.

 

Удачи! Если нужно, могу помочь с конкретными настройками для вашего сервера.