mirror of https://github.com/ospab/ostp.git
docs: add DNS Tunneling guide and update navigation
parent
43b4935fd2
commit
f1d8fb5bfb
|
|
@ -0,0 +1,51 @@
|
||||||
|
# DNS Tunneling with OSTP
|
||||||
|
|
||||||
|
OSTP operates over UDP and perfectly masks its traffic as random noise. In some environments (like captive portals, restricted corporate networks, or public Wi-Fi hotspots), standard ports may be blocked, but DNS queries (UDP port 53) are often allowed through the firewall.
|
||||||
|
|
||||||
|
You can exploit this by running OSTP over UDP port 53, effectively bypassing the firewall. This is often referred to as "DNS Tunneling" or "Port 53 bypass".
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
1. A VPS where no other DNS server (like `systemd-resolved`, `bind9`, `dnsmasq`) is listening on the public IP at port `53`.
|
||||||
|
2. OSTP server installed and configured.
|
||||||
|
|
||||||
|
## Server Configuration
|
||||||
|
|
||||||
|
You need to change the `listen` directive in your server's `config.json` to bind to port 53.
|
||||||
|
|
||||||
|
```jsonc
|
||||||
|
{
|
||||||
|
"mode": "server",
|
||||||
|
"listen": "0.0.0.0:53",
|
||||||
|
"access_keys": ["YOUR_SECRET_KEY"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
If you are running the server as a non-root user on Linux, binding to port 53 (a privileged port) will result in a "Permission denied" error. You must either run OSTP as root or grant the binary the `CAP_NET_BIND_SERVICE` capability:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo setcap 'cap_net_bind_service=+ep' /path/to/ostp
|
||||||
|
```
|
||||||
|
|
||||||
|
Restart your OSTP server.
|
||||||
|
|
||||||
|
## Client Configuration
|
||||||
|
|
||||||
|
On the client side, update your `outbounds` to point to port 53:
|
||||||
|
|
||||||
|
```jsonc
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"type": "ostp",
|
||||||
|
"tag": "proxy",
|
||||||
|
"server": "YOUR_SERVER_IP",
|
||||||
|
"port": 53,
|
||||||
|
"access_key": "YOUR_SECRET_KEY",
|
||||||
|
"transport": { "type": "udp" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Security Considerations
|
||||||
|
|
||||||
|
Because OSTP traffic does not look like standard DNS queries (it is pure random noise without standard DNS packet structures), advanced DPI (Deep Packet Inspection) systems may detect that this is not real DNS traffic and block it. However, simple port-based firewalls and standard captive portals will allow the connection without issues.
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
# DNS-туннелирование с помощью OSTP
|
||||||
|
|
||||||
|
OSTP работает поверх UDP и маскирует свой трафик под случайный шум. В некоторых сетях (например, в публичном Wi-Fi с авторизацией (captive portals) или строгих корпоративных сетях) обычные порты могут быть заблокированы, но DNS-запросы (UDP порт 53) часто разрешены без ограничений.
|
||||||
|
|
||||||
|
Вы можете использовать это, настроив сервер OSTP на прослушивание UDP порта 53. Это позволит обойти блокировку по портам.
|
||||||
|
|
||||||
|
## Требования
|
||||||
|
|
||||||
|
1. VPS, на котором никакой другой DNS-сервер (например, `systemd-resolved`, `bind9`, `dnsmasq`) не занимает публичный IP-адрес на порту `53`.
|
||||||
|
2. Установленный OSTP сервер.
|
||||||
|
|
||||||
|
## Настройка сервера
|
||||||
|
|
||||||
|
Измените параметр `listen` в вашем файле `config.json` на стороне сервера, чтобы прослушивать порт 53.
|
||||||
|
|
||||||
|
```jsonc
|
||||||
|
{
|
||||||
|
"mode": "server",
|
||||||
|
"listen": "0.0.0.0:53",
|
||||||
|
"access_keys": ["ВАШ_КЛЮЧ"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Если вы запускаете сервер от обычного пользователя (не root) на Linux, попытка занять порт 53 (привилегированный порт) приведет к ошибке "Permission denied". Вы должны запустить OSTP от имени root или выдать бинарному файлу права `CAP_NET_BIND_SERVICE`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo setcap 'cap_net_bind_service=+ep' /путь/к/ostp
|
||||||
|
```
|
||||||
|
|
||||||
|
Перезапустите ваш OSTP сервер.
|
||||||
|
|
||||||
|
## Настройка клиента
|
||||||
|
|
||||||
|
На клиенте обновите конфигурацию `outbounds`, указав порт 53:
|
||||||
|
|
||||||
|
```jsonc
|
||||||
|
"outbounds": [
|
||||||
|
{
|
||||||
|
"type": "ostp",
|
||||||
|
"tag": "proxy",
|
||||||
|
"server": "IP_СЕРВЕРА",
|
||||||
|
"port": 53,
|
||||||
|
"access_key": "ВАШ_КЛЮЧ",
|
||||||
|
"transport": { "type": "udp" }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
## Предупреждение (DPI)
|
||||||
|
|
||||||
|
Поскольку трафик OSTP не имеет структуры стандартных DNS-запросов (это чистый белый шум), продвинутые системы DPI (Deep Packet Inspection) могут обнаружить, что это не настоящий DNS-трафик, и заблокировать его. Тем не менее, простые файрволы (блокирующие всё, кроме 53 порта) и стандартные captive portals будут успешно пройдены.
|
||||||
1
Home.md
1
Home.md
|
|
@ -19,6 +19,7 @@ Welcome to the **OSTP Wiki** — the official documentation for the Ospab Stealt
|
||||||
|---|---|
|
|---|---|
|
||||||
| [Installation](Installation) | Server & client setup — one-line install scripts |
|
| [Installation](Installation) | Server & client setup — one-line install scripts |
|
||||||
| [Configuration](Configuration) | Full configuration reference for server & client |
|
| [Configuration](Configuration) | Full configuration reference for server & client |
|
||||||
|
| [DNS Tunneling](DNS-Tunneling) | Bypassing captive portals and firewalls over UDP port 53 |
|
||||||
| [Management API](Management-API) | REST API for panels, dashboards, and automation |
|
| [Management API](Management-API) | REST API for panels, dashboards, and automation |
|
||||||
| [Protocol Design](Protocol-Design) | Wire format, cryptography, obfuscation, DPI resistance |
|
| [Protocol Design](Protocol-Design) | Wire format, cryptography, obfuscation, DPI resistance |
|
||||||
| [Share Links](Share-Links) | `ostp://` URI format for one-click connection |
|
| [Share Links](Share-Links) | `ostp://` URI format for one-click connection |
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
|---|---|
|
|---|---|
|
||||||
| [Установка](Installation_ru) | Настройка сервера и клиента — установка в одну строку |
|
| [Установка](Installation_ru) | Настройка сервера и клиента — установка в одну строку |
|
||||||
| [Конфигурация](Configuration_ru) | Полный справочник конфигурации сервера и клиента |
|
| [Конфигурация](Configuration_ru) | Полный справочник конфигурации сервера и клиента |
|
||||||
|
| [DNS-туннелирование](DNS-Tunneling_ru) | Обход блокировок и captive portals через UDP порт 53 |
|
||||||
| [API управления](Management-API_ru) | REST API для панелей, дашбордов и автоматизации |
|
| [API управления](Management-API_ru) | REST API для панелей, дашбордов и автоматизации |
|
||||||
| [Протокол](Protocol-Design_ru) | Wire format, криптография, обфускация, DPI-устойчивость |
|
| [Протокол](Protocol-Design_ru) | Wire format, криптография, обфускация, DPI-устойчивость |
|
||||||
| [Ссылки-приглашения](Share-Links_ru) | Формат URI `ostp://` для подключения в один клик |
|
| [Ссылки-приглашения](Share-Links_ru) | Формат URI `ostp://` для подключения в один клик |
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@
|
||||||
- [Home](Home)
|
- [Home](Home)
|
||||||
- [Installation](Installation)
|
- [Installation](Installation)
|
||||||
- [Configuration](Configuration)
|
- [Configuration](Configuration)
|
||||||
|
- [DNS Tunneling](DNS-Tunneling)
|
||||||
- [Management API](Management-API)
|
- [Management API](Management-API)
|
||||||
- [Protocol Design](Protocol-Design)
|
- [Protocol Design](Protocol-Design)
|
||||||
- [Share Links](Share-Links)
|
- [Share Links](Share-Links)
|
||||||
|
|
@ -19,6 +20,7 @@
|
||||||
- [Главная](Home_ru)
|
- [Главная](Home_ru)
|
||||||
- [Установка](Installation_ru)
|
- [Установка](Installation_ru)
|
||||||
- [Конфигурация](Configuration_ru)
|
- [Конфигурация](Configuration_ru)
|
||||||
|
- [DNS-туннелирование](DNS-Tunneling_ru)
|
||||||
- [API управления](Management-API_ru)
|
- [API управления](Management-API_ru)
|
||||||
- [Протокол](Protocol-Design_ru)
|
- [Протокол](Protocol-Design_ru)
|
||||||
- [Ссылки-приглашения](Share-Links_ru)
|
- [Ссылки-приглашения](Share-Links_ru)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue