Шлюз XRay Vless tun2socks
инструкция полностью рабочая на октябрь 2025 года
Предполагается что вы уже настроили серверную часть Xray например с помощью панели управления 3x-ui и протестировали конфигурацию клиента например на смартфоне или персональном ПК.
Используем внешний мини ПК с Debian Linux (один сетевой порт достаточно) или виртуальную машину. Debian будет работать как промежуточный узел: весь трафик с MikroTik будет направляться на Debian, где tun2socks отправит его в Xray socks прокси.
Установка на Linux
Установите Debian 12.5 на мини ПК или в виртуальную машину. Во время установки выберете минимальный набор. SSH сервер


Теперь подключимся по SSH любым способом можно Termius если виртуальная машина можно и на рабочем столе

Дадим root доступ для нашего пользователя (у вас имя пользователя может отличаться):
su -
sudo usermod -aG sudo kadminПо желанию:
apt install mc htop -yВключение маршрутизации в Linux
Откройте /etc/sysctl.conf
sudo nano /etc/sysctl.confРаскоментируйте строку net.ipv4.ip_forward=1
net.ipv4.ip_forward=1
ctrl+o сохраняем и ctrl+x выходим Далее, чтобы применить новую настройку, которую мы добавили, нам необходимо выполнить следующую команду:
sudo sysctl -pПерегрузитесь. Проверка:
sysctl net.ipv4.ip_forward
# вывод: net.ipv4.ip_forward = 1Установка Xray
Скачайте готовый бинарник Xray под вашу архитектуру из релизов: https://github.com/XTLS/Xray-core/releases/ и распакуйте в /opt/xray/: предварительно создав их

Все команды из под root (su -)
mkdir /opt/xray/
mkdir /opt/xray/config/В каталог /opt/xray/config/ позже положим конфиг.

Распаковать и переместить можно через MC

cd /opt/xray
unzip Xray-linux-64.zip
Установка tun2socks
Скачайте готовый бинарник tun2socks из релизов: https://github.com/xjasonlyu/tun2socks/releases/ и распакуйте в /opt/tun2socks/:
mkdir /opt/tun2socks/cd /opt/tun2socks/
unzip tun2socks-linux-amd64.zipПодготовка скрипта start.sh
Создаём исполняемый скрипт touch /opt/start.sh, который будет:
останавливать старые процессы
настраивать интерфейсы и маршруты
генерировать конфиг Xray на основе переменных
запускать Xray и tun2socks
Пример содержимого (вставьте ваши значения для переменных):
SERVER_ADDRESS
myhost.com
Конфигурация Xray клиента
SERVER_PORT
443
Конфигурация Xray клиента
USER_ID
e3203dfe-9s62-4de5-bf9b-ecd36c9af225
Конфигурация Xray клиента
ENCRYPTION
none
Конфигурация Xray клиента
FINGERPRINT_FP
chrome
Конфигурация Xray клиента
SERVER_NAME_SNI
apple.com
Конфигурация Xray клиента
PUBLIC_KEY_PBK
fTndnleCTkK9_jtpwCAdxtEwJUkQ22oY1W8dTza2xHs
Конфигурация Xray клиента
SHORT_ID_SID
29d2d3d5a398
Конфигурация Xray клиента
GATEWAY
172.18.20.5
IP шлюз по-умолчанию в Linux (подсмотреть через ip r)
ADAPTER_NAME
eth0
Название физического адаптера в Linux (подсмотреть через ip a)
FLOW
xtls-rprx-vision
Конфигурация Xray клиента
Открываем его на редактирование и вместо *** вставляем данные
nano /opt/start.sh#!/bin/sh
echo "Starting setup Linux please wait"
pkill xray
pkill tun2socks
sleep 1
# Заполните данные переменные:
SERVER_ADDRESS=***
SERVER_PORT=***
USER_ID=***
ENCRYPTION=***
FINGERPRINT_FP=***
SERVER_NAME_SNI=***
PUBLIC_KEY_PBK=***
SHORT_ID_SID=***
GATEWAY=***
ADAPTER_NAME=***
FLOW=***
# Получение IP-адреса
SERVER_IP_ADDRESS=$(getent ahosts $SERVER_ADDRESS | head -n 1 | awk '{print $1}')
if [ -z "$SERVER_IP_ADDRESS" ]; then
echo "Failed to obtain an IP address for FQDN $SERVER_ADDRESS"
exit 1
fi
# Сетевые настройки
ip tuntap del mode tun dev tun0
ip tuntap add mode tun dev tun0
ip addr add 172.31.200.10/30 dev tun0
ip link set dev tun0 up
ip route del default via $GATEWAY
ip route add default via 172.31.200.10
ip route add $SERVER_IP_ADDRESS/32 via $GATEWAY
ip route add 1.0.0.1/32 via $GATEWAY
ip route add 8.8.4.4/32 via $GATEWAY
ip route add 192.168.0.0/16 via $GATEWAY
ip route add 10.0.0.0/8 via $GATEWAY
ip route add 172.16.0.0/12 via $GATEWAY
# Обновление resolv.conf
rm -f /etc/resolv.conf
tee -a /etc/resolv.conf <<< "nameserver $GATEWAY"
tee -a /etc/resolv.conf <<< "nameserver 1.0.0.1"
tee -a /etc/resolv.conf <<< "nameserver 8.8.4.4"
# Генерация конфигурации для Xray
cat <<EOF > /opt/xray/config/config.json
{
"log": {
"loglevel": "silent"
},
"inbounds": [
{
"port": 10800,
"listen": "0.0.0.0",
"protocol": "socks",
"settings": {
"auth": "noauth",
"udp": true
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "quic"],
"routeOnly": true
}
}
],
"outbounds": [
{
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "$SERVER_ADDRESS",
"port": $SERVER_PORT,
"users": [
{
"id": "$USER_ID",
"encryption": "$ENCRYPTION",
"flow" : "xtls-rprx-vision",
"alterId": 0
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"fingerprint": "$FINGERPRINT_FP",
"serverName": "$SERVER_NAME_SNI",
"publicKey": "$PUBLIC_KEY_PBK",
"spiderX": "",
"shortId": "$SHORT_ID_SID"
}
},
"tag": "proxy"
}
]
}
EOF
echo "Start Xray core"
/opt/xray/xray run -config /opt/xray/config/config.json &
echo "Start tun2socks"
/opt/tun2socks/tun2socks-linux-amd64 -loglevel silent -tcp-sndbuf 3m -tcp-rcvbuf 3m -device tun0 -proxy socks5://127.0.0.1:10800 -interface $ADAPTER_NAME &
echo "Linux customization is complete"
Все данные берем из ссылки 3X-UI

Сохраняем, делаем исполняемым и запускаем:
chmod +x /opt/start.sh
/bin/bash /opt/start.shДолжно получиться так


далее надо его включить на автозапуск при загрузки по этой инструкции
Включение rc.local в Debian 10Как этим пользоваться- либо перенаправить трафик например в роутере или на машинах установить шлюз ip Дебиана (например для ТВ)
Последнее обновление