Глава 3: Шлюзы роутера — Port Forwarding (Проброс портов)
На данный момент наш сервер имеет фиксированный адрес внутри дома, а роутер — фиксированный статический адрес в интернете. Однако, если сейчас кто-то попытается постучаться на ваш внешний IP-адрес из интернета, роутер просто заблокирует этот запрос. Из соображений безопасности любой домашний роутер по умолчанию работает как глухая стена. Чтобы пропустить пользователей к нашей будущей вики-системе, нужно прорубить в этой стене "окна" — настроить проброс портов.
1. Что такое порты и зачем нужен их проброс?
Представьте, что ваш внешний статический IP-адрес — это адрес огромного многоквартирного дома. Порты — это номера конкретных квартир в этом доме. В сетевом мире разные типы трафика ходят по строго определенным портам (квартирам):
- Порт 80 (HTTP) — стандартный порт для обычного, незашифрованного веб-трафика. Через него веб-серверы начинают общение с браузерами.
- Порт 443 (HTTPS) — стандартный порт для защищенного, зашифрованного веб-трафика. Именно через него в итоге будет работать наш безопасный BookStack.
Port Forwarding (Проброс портов) — это правило межсетевого экрана на роутере, которое гласит: «Если кто-то из интернета стучится в квартиру №80 или №443, перенаправь этот трафик прямо на мой внутренний сервер Debian (192.168.1.100) в его внутренние квартиры №80 и №443 соответственно».
2. Пошаговая настройка на роутере
Вам необходимо пробросить два основных порта: 80 и 443. Направление трафика должно быть сквозным: внешний порт должен соответствовать внутреннему.
- Откройте браузер на компьютере и зайдите в панель управления вашего роутера (
192.168.1.1или192.168.0.1). - Перейдите в раздел, отвечающий за перенаправление трафика и правила маршрутизации. В зависимости от производителя он называется:
- Переадресация -> Виртуальные серверы / Virtual Servers (TP-Link)
- Сетевые правила -> Переадресация портов / Port Forwarding (Keenetic)
- Интернет -> WAN -> Переадресация портов (ASUS)
- Создайте первое правило (для незашифрованного HTTP):
- Имя правила: Любое понятное, например
Web HTTP - Протокол: Укажите
TCP(или TCP/UDP, если нет разделения) - Внешний порт:
80 - Внутренний IP-адрес: Постоянный локальный IP вашего сервера (который мы зафиксировали в Главе 2, например
192.168.1.100) - Внутренний порт:
80
- Создайте второе правило (для зашифрованного веб-трафика HTTPS):
- Имя правила: Например,
Web HTTPS - Протокол: Строго
TCP - Внешний порт:
443 - Внутренний IP-адрес: IP вашего сервера (
192.168.1.100) - Внутренний порт:
443
- Сохраните и примените настройки роутера.
3. Важное предупреждение о безопасности
ВНИМАНИЕ: Никогда ради удобства не пробрасывайте наружу порт 22 (SSH), порты систем управления базами данных (вроде 3306 для MySQL или 5432 для PostgreSQL) или порт Samba/NFS шары. Боты-сканеры в интернете найдут их за считанные минуты и начнут подбирать пароли.
Если вам нужен полноценный доступ к консоли сервера извне дома — используйте VPN (поднимите WireGuard или Tailscale) или, в крайнем случае, меняйте внешний порт SSH на нестандартный (например, открывайте снаружи порт 2222 и перенаправляйте его роутером на внутренний порт 22 сервера).
Итог главы: Магистраль из глобального интернета до вашего сервера Debian теперь полностью открыта. Роутер знает, куда отправлять веб-трафик, когда к нему стучатся. Осталось сделать так, чтобы вместо безликих цифр внешнего IP-адреса п ользователи вводили красивое имя вашего личного домена.
Нет комментариев для отображения
Нет комментариев для отображения