Рассмотрим вариант настройки xray на случай недоступности прокси-сервера с автоматическим переключением линка на провайдера, т.е. напрямую. При этом, разумеется, доступ к сайтам через прокси работать не будет, но и совсем без интернета вы не останетесь. В следующей статье рассмотрим вариант настройки автоматического переключения на запасной прокси-сервер в случае недоступности основного. Поехали.
Все настройки выполняем локально на роутере или компьютере используя крайнюю версию xray-core. Условимся, что подключение к прокси в outbounds прописано под тегом proxy, а прямое подключение под тегом direct. Первое, что нам нужно сделать, это добавить в роутинг настройки балансира и заменить направляющий в прокси параметр outboundTag на параметр balancerTag. Для контроля будем использовать ресурс ip.me
routing.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
{ "routing": { // Начало настроек балансира // "balancers": [ { "tag": "balancer", "selector": ["proxy"], "fallbackTag": "direct" } ], // Кончало настроек балансира // "rules": [ { "domain": [ "ip.me" ], "balancerTag": "balancer" // Меняем "outboundTag" на "balancerTag" // }, { "network": "tcp,udp", "outboundTag": "direct" } ] } } |
В параметре selector указан тег прокси-подключения, а в параметре fallbackTag, как следует из его названия, указано запасное подключение.
Теперь настроим автоматизацию переключения на fallbackTag и возврате к прокси-подключению, когда оно станет доступно. Для этого создадим конфигурацию обсевратории:
observatory.json
1 2 3 4 5 6 7 |
{ "observatory": { "subjectSelector":["proxy"], "probeUrl": "https://www.google.com/generate_204", "probeInterval": "60s" } } |
Здесь мы проверяем доступность прокси, попытками подключения через него к указанному адресу каждые 60 секунд. При недоступности сервера будет использоваться direct подключение, а как только подключение восстановится, балансировщик переключит маршрутизацию обратно с direct на proxy.
Продолжение — Отказоустойчивый прокси-сервер xray. Часть 2