reverse proxy & wg split tunneling docs
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
5dd5e287d0
commit
5bbd7c8b96
46
README.md
46
README.md
@ -128,6 +128,52 @@ services:
|
||||
|
||||
См. [здесь](https://neur0tx.site/proxy_ru.html). Можно использовать как фолбэк если у вас есть доступ к этому сервису.
|
||||
|
||||
## Ускоряем реверс-прокси сайтов через ssh при работе через Wireguard VPN
|
||||
|
||||
Ускорение достигается за счет правки таблицы маршрутизации в момент подключения и отключения VPN. Мы пускаем все подключения к реверс-прокси не через VPN - это позволяет
|
||||
сильно ускорить работу реверс-прокси. Инструкция подходит к любому прокси чей IP не меняется (актуально для моего прокси и `proxy.retailcrm.tech`). Выполняем следующее:
|
||||
1. Отключаем свой VPN.
|
||||
2. Выполняем команду:
|
||||
```sh
|
||||
ip route | grep default | awk '{print $3;}'
|
||||
```
|
||||
3. Копируем полученный IP.
|
||||
4. Теперь подготавливаем записи `PreUp` и `PostDown`, которые будем указывать в нашем VPN-профиле. Используем следующий шаблон:
|
||||
```ini
|
||||
PreUp = ip route add IP_прокси/32 via IP_из_шага_2
|
||||
PostDown = ip route del IP_прокси/32 via IP_из_шага_2
|
||||
```
|
||||
5. Если нужно добавить сразу несколько IP в список - дублируем команды через `;` вот так:
|
||||
```ini
|
||||
PreUp = ip route add IP_первого_прокси/32 via IP_из_шага_2; ip route add IP_второго_прокси/32 via IP_из_шага_2
|
||||
PostDown = ip route del IP_первого_прокси/32 via IP_из_шага_2; ip route del IP_второго_прокси/32 via IP_из_шага_2
|
||||
```
|
||||
Пример с default gateway = `192.168.1.1` и настройкой для `proxy.retailcrm.tech` (IP `proxy.retailcrm.tech` может быть неактуален - проверяйте!):
|
||||
```ini
|
||||
PreUp = ip route add 136.243.39.221/32 via 192.168.1.1
|
||||
PostDown = ip route del 136.243.39.221/32 via 192.168.1.1
|
||||
```
|
||||
6. Открываем профиль VPN (лежит в `/etc/wireguard` с расширением `conf`, для редактирования нужен рут) и добавляем `PreUp` и `PostDown` чтобы получилось примерно так:
|
||||
```ini
|
||||
[Interface]
|
||||
PrivateKey = MTcwMDI0ODQxMXJnbGZya2puZnduamxyd2VscnJscmZrcmwsZgo=
|
||||
Address = 10.2.3.4/32
|
||||
DNS = 10.2.3.5
|
||||
PreUp = ip route add 136.243.39.221/32 via 192.168.1.1
|
||||
PostDown = ip route del 136.243.39.221/32 via 192.168.1.1
|
||||
|
||||
[Peer]
|
||||
PublicKey = MTcwMDI0ODQyOHJnbGZya2puZnduamxyd2VscnJscmZrcmwsZgo=
|
||||
AllowedIPs = 0.0.0.0/0
|
||||
Endpoint = 1.2.3.4:51820
|
||||
```
|
||||
|
||||
Настройка для IPv6 тоже возможна:
|
||||
- Все команды `ip` для IPv6 требуют аргумента `-6`. Пример: `ip -6 route | grep default | awk '{print $3;}'`
|
||||
- Размер IP в IPv6 - 128 бит. Поэтому в CIDR указываем размер блока не `/32`, а `/128`.
|
||||
|
||||
По идее этого должно быть достаточно, но я настройку для IPv6 не пробовал по причине отсутствия необходимости. Аналогичную конфигурацию без привязки к Linux и iproute2 можно реализовать с помощью [AllowedIPs Calculator](https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/), но в моем случае попытка использования этого инструмента оканчивалась нерабочим Интернетом после правки профиля VPN.
|
||||
|
||||
## Обход блокировок сайтов
|
||||
|
||||
### Профиль Wireguard VPN под Linux
|
||||
|
Loading…
Reference in New Issue
Block a user