v1.2.0: russian/english UI, config.ini, README.ru.md
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# dhcpsrv
|
||||
|
||||
[](https://github.com/Engelgardt23/dhcpsrv/releases/latest)
|
||||
[](LICENSE)
|
||||
|
||||
[🇬🇧 English](README.md) | 🇷🇺 На русском
|
||||
|
||||
Маленький портативный **DHCP-сервер** для ноутбука инженера хранения / серверов.
|
||||
Двойной клик — выбрал сетевую — готово. Живая таблица клиентов, статус ping, счётчики пакетов. Ничего не устанавливается, Python на целевой машине не нужен.
|
||||
|
||||
Сделан под сценарий «воткнул кабель, увидел как BMC получил IP» во время прошивки, восстановления и бенчмарков.
|
||||
|
||||
> **Автор: engelgardt.**
|
||||
|
||||
---
|
||||
|
||||
## Скачать
|
||||
|
||||
Последний релиз: [**страница релизов**](https://github.com/Engelgardt23/dhcpsrv/releases/latest).
|
||||
Архив `dhcpsrv-portable-vX.Y.Z.zip` (~12 МБ).
|
||||
|
||||
## Запуск
|
||||
|
||||
1. Распакуй куда угодно.
|
||||
2. Двойной клик по `dhcpsrv.exe`.
|
||||
3. **При первом запуске** программа спросит язык интерфейса (1 — English, 2 — Русский). Ответ запишется в `config.ini` рядом с exe — потом можно поменять руками.
|
||||
4. Подтверди UAC (admin нужен, чтобы занять UDP/67 и переключить адаптер на статический IP).
|
||||
5. Выбери сетевой адаптер, воткнутый в твой сервер или коммутатор — это единственный вопрос.
|
||||
6. `Ctrl+C` — стоп. Спросит, вернуть ли адаптер обратно в DHCP.
|
||||
|
||||
## Настройки по умолчанию (никаких других вопросов)
|
||||
|
||||
| Параметр | Значение |
|
||||
|---|---|
|
||||
| IP сервера | `10.10.10.1/24` |
|
||||
| Пул | `10.10.10.2 .. 10.10.10.51` (50 адресов) |
|
||||
| Lease | `7200 с` (2 часа — переживёт долгий стресс-тест) |
|
||||
| Опция TFTP | IP сервера (BMC сразу увидит твой Tftpd32) |
|
||||
|
||||
## Что на экране
|
||||
|
||||
```
|
||||
┌─ dhcpsrv v1.2.0 ────────────────────────────────────────────────────────┐
|
||||
│ Сервер: 10.10.10.1/255.255.255.0 Пул: 10.10.10.2–10.10.10.51 … │
|
||||
│ Аренды: 3/50 Пакетов: 47 DISCOVER: 12 REQUEST: 11 RELEASE: 0 │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
┌─ Клиенты ───────────────────────────────────────────────────────────────┐
|
||||
│ # │ IP │ Имя хоста │ MAC │ Последний │ Пинг │
|
||||
│ 1 │ 10.10.10.2 │ vegman-r120 │ a0:c5:f2:13:57:46 │ 17:42:18 │ OK │
|
||||
│ 2 │ 10.10.10.3 │ vegman-s220 │ 70:b3:d5:11:22:33 │ 17:42:21 │ -- │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
┌─ События ───────────────────────────────────────────────────────────────┐
|
||||
│ [17:42:18] DISCOVER a0:c5:f2:13:57:46 → OFFER 10.10.10.2 │
|
||||
│ [17:42:18] REQUEST a0:c5:f2:13:57:46 → ACK 10.10.10.2 │
|
||||
└─────────────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Типичные сценарии
|
||||
|
||||
- **VEGMAN с общим LOM** — один кабель в порт BMC/host, и BMC и хост-ОС получают IP с этого DHCP.
|
||||
- **8-портовый свитч** — ноут на одном порту, до 7 серверов на остальных; пул из 50 адресов покрывает всех.
|
||||
- **Прямой кабель в выделенный Mgmt-порт** — один клиент (BMC).
|
||||
|
||||
## Совместимость
|
||||
|
||||
- Windows 10 / 11.
|
||||
- В списке адаптеров отфильтровано всё лишнее (Wi-Fi, Cisco AnyConnect, Hyper-V, VMware, VirtualBox, TAP/TUN, WireGuard, OpenVPN, Tailscale, ZeroTier).
|
||||
- Имена адаптеров с пробелами или не-ASCII экранируются корректно для `netsh`.
|
||||
|
||||
## Конфиг
|
||||
|
||||
При первом запуске рядом с `dhcpsrv.exe` появится `config.ini`:
|
||||
|
||||
```ini
|
||||
# Чтобы сменить язык интерфейса, измените 'language' ниже.
|
||||
# Допустимые значения: en, ru
|
||||
[General]
|
||||
language = ru
|
||||
```
|
||||
|
||||
В будущих релизах сюда же переедут пул, lease и IP сервера — пока что переменная одна.
|
||||
|
||||
## Заметки
|
||||
|
||||
- На машине ничего не устанавливается. Удалить — стереть папку.
|
||||
- UAC спросит каждый раз. (Если хочешь убрать на *своей* машине — пропусти `dhcpsrv.exe` через Scheduled Task с галкой «Run with highest privileges» и запускай через `schtasks /run /tn dhcpsrv`.)
|
||||
- Если в Tftpd32 включён модуль DHCP — отключи, UDP/67 окажется занят.
|
||||
- Lease по умолчанию 7200 с; клиент продлевает в середине срока. Если нужно «навсегда», исходник поддерживает `2147483647` — пересобери из исходников.
|
||||
|
||||
## Сборка из исходников
|
||||
|
||||
```
|
||||
python -m pip install rich pyinstaller
|
||||
python -m PyInstaller --onefile --uac-admin --console --name dhcpsrv dhcpsrv-launcher.py
|
||||
```
|
||||
|
||||
## Лицензия
|
||||
|
||||
MIT — см. [LICENSE](LICENSE).
|
||||
Reference in New Issue
Block a user