Активация контейнеров:

/system/device-mode/update container=yes 

После выполнения команды необходимо физически перезагрузить роутер в течение 5 минут, то есть выключить и включить его по питанию, либо нажать на кнопку halt (force power off) в панели управления vps.


Создаем виртуальный интерфейс и bridge:

/interface/veth/add name=xray address=10.10.4.2/24 gateway=10.10.4.1
/interface/bridge/add name=container-bridge
/ip/address/add address=10.10.4.1/24 interface=container-bridge
/interface/bridge/port/add bridge=container-bridge interface=xray

Настройка контейнеров:

  • RAM High: 536870912
  • Registry URL: https://registry-1.docker.io
  • Tmp dir: temp
/container/config/set ram-high=512.0MiB registry-url=https://registry-1.docker.io tmpdir=temp

Создаем контейнер: 
Я использовал образ: https://hub.docker.com/r/teddysun/xray 
Контейнер работает только в корне диска. В подпапке не запускаетя.

/container/add remote-image=teddysun/xray:latest interface=xray

Запускаем контейнер:

/container/start number=0

Подключаемся в sherll контейнера:

/container/shell 0

Генерируем UUID, можно назвать это логином пользователя

/usr/bin/xray uuid

Генерируем приватный и публичный ключ сервера.

/usr/bin/xray x25519



Создаем файл конфигурации (на ПК):

config.json

  • "listen" -  IPv4-адрес вашего сервера (В моем случае, т.к. сервер в контейнере: 10.10.4.2)
  • "id" - UUID, который вы сгенерировали ранее (В моем случае: 5fd002d3-5595-449f-bbd9-6e6767f0cf3a)
  • "dest" - домен, под который вы маскируетесь, добавив в конец ":443" (В моем случае www.microsoft.com:443)
  • "serverNames" - укажите тот же домен еще раз (В моем случае: www.microsoft.com)
  • "privateKey" - вставьте ваш приватный ключ, который сгенерировали ранее (В моем случае: eOCiiG8BXc1CVA0j7MK4G3dEgJ71XrLgKJYnutk4fXA)
{
"log": {
"loglevel": "info"
},
"inbounds": [
{
"listen": "IP_адрес_вашего_сервера",
"port": 443,
"protocol": "vless",
"tag": "reality-in",
"settings": {
"clients": [
{
"id": "ваш_UUID",
"email": "user1",
"flow": "xtls-rprx-vision"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "ваш_маскировочный_домен:443",
"xver": 0,
"serverNames": [
"ваш_маскировочный_домен"
],
"privateKey": "ваш_ПРИВАТНЫЙ_ключ",
"minClientVer": "",
"maxClientVer": "",
"maxTimeDiff": 0,
"shortIds": [""]
}
},
"sniffing": {
"enabled": true,
"destOverride": [
"http",
"tls",
"quic"
]
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
],
"routing": {
"rules": [
{
"type": "field",
"protocol": "bittorrent",
"outboundTag": "block"
}
],
"domainStrategy": "IPIfNonMatch"
}
}

Заливаем файл на mikrotik:

/file/add type=directory name=xray

Перетаскиваем файл в созданную папку :


 Создаем точку монтирования:

/container/mounts/add src=/xray/config.json dst=/etc/xray/config.json name=config.json

 Останавливаем контейнер:

/container/stop number=0

Монтируем файл конфигурации:

/container/set mounts=config.json numbers=0

Активируем автозагрузку:

/container/set start-on-boot=yes numbers=0

Запускаем контейнер:

/container/start number=0


Создаем интерфейс-лист:

/interface/list/add name=wan
/interface/list/member/add interface=ether1 list=wan

Проброс порта и NAT

/ip/firewall/nat/add action=dst-nat chain=dstnat comment=xray dst-address-type=local dst-port=443 in-interface-list=wan protocol=tcp to-addresses=10.10.4.2
/ip/firewall/nat/add action=masquerade chain=srcnat out-interface-list=wan src-address=10.10.4.0/24

Создаем ссылку для подключения клинтов:

vless://ваш_UUID@IP_адрес_вашего_сервера:443/?encryption=none&type=tcp&sni=домен_маскировочного_сайта&fp=chrome&security=reality&alpn=h2&flow=xtls-rprx-vision&pbk=ваш_публичный_ключ&packetEncoding=xudp 

Ссылку можно переслать пользовтелю, скопироватьи добавить из буфера обмена в приложения для подключения.

В качестве клиентского ПО я использую Hiddify‑Next:
https://github.com/hiddify/hiddify-app/releases

Альтернатива NekoBox:
https://github.com/MatsuriDayo/NekoBoxForAndroid
The version on Google Play is a fake, please do not download it.


TAGS: установка, настройка xray vless reality, mikrotik, CHR, контейнер, container, docker