Настройка Firewall (UFW, iptables, nftables) для VPN-сервера
Брандмауэр — это первая линия обороны вашего VPN-сервера. Без правильно настроенного файрвола даже самый современный протокол с имитацией трафика под HTTPS может стать уязвимым для атак или банальной блокировки со стороны провайдера. В этом материале мы разберём все три основных инструмента управления пакетным фильтром в Linux — UFW, iptables и nftables — и покажем, как настроить их для надёжной защиты VPN-сервера, будь то OpenVPN, WireGuard или передовая связка XHTTP + Reality.
📑 Содержание:
- 1. Зачем брандмауэр VPN-серверу
- 2. UFW — простой и надёжный
- 3. iptables — классика с полным контролем
- 4. nftables — современная замена
- 5. Правила для OpenVPN, WireGuard и XHTTP+Reality
- 6. Дополнительная защита: DDoS, брутфорс, логи
- 7. Почему личный VPS с файрволом лучше массового VPN
- 8. Итог: безопасность начинается с файрвола
Зачем брандмауэр VPN-серверу
VPN-сервер, особенно на базе VPS, постоянно находится под прицелом сканеров и ботов. Если не ограничить входящие соединения, злоумышленники могут попытаться взломать SSH, подобрать пароли к панели управления или использовать ваш сервер для атак. Кроме того, DPI-системы провайдеров часто анализируют не только содержимое пакетов, но и сетевую структуру — открытые порты могут выдать наличие VPN.
Правильно настроенный файрвол решает три задачи:
- Безопасность — закрывает все лишние порты, оставляя только необходимые для работы VPN и управления.
- Маскировка — с помощью правил NAT и маршрутизации скрывает внутреннюю структуру сети.
- Стабильность — защищает от DDoS-атак и ограничивает число подключений с одного IP.
UFW — простой и надёжный
Uncomplicated Firewall (UFW) — это надстройка над iptables, созданная для упрощения управления правилами. Идеальный выбор для новичков и для быстрой настройки базовой защиты.
🔧 Базовые команды UFW для VPN-сервера:
# Включить UFW и разрешить SSH (обязательно!)
sudo ufw allow 22/tcp
# Разрешить порт для OpenVPN (обычно 1194 UDP)
sudo ufw allow 1194/udp
# Или для WireGuard (51820 UDP)
sudo ufw allow 51820/udp
# Для Xray / XHTTP+Reality — порт 443 (HTTPS)
sudo ufw allow 443/tcp
# Включить файрвол
sudo ufw enable
# Проверить статус
sudo ufw status verboseВажно: всегда сначала разрешайте SSH, иначе после включения UFW вы потеряете доступ к серверу. Для дополнительной защиты можно ограничить SSH только доверенными IP-адресами:
sudo ufw allow from 192.168.1.100 to any port 22iptables — классика с полным контролем
iptables — это стандартный инструмент управления пакетным фильтром в ядре Linux. Он даёт максимальную гибкость: можно фильтровать пакеты по любым параметрам, делать NAT, перенаправлять порты и строить сложные цепочки правил.
Для VPN-сервера минимальный набор правил iptables выглядит так:
# Очистить все правила
iptables -F
iptables -t nat -F
# Политика по умолчанию — запрет всего
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
# Разрешить локальный доступ
iptables -A INPUT -i lo -j ACCEPT
# Разрешить установленные соединения
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить SSH (порт 22)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
# Разрешить OpenVPN (UDP 1194)
iptables -A INPUT -p udp --dport 1194 -j ACCEPT
# Разрешить WireGuard (UDP 51820)
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
# Разрешить HTTPS для XHTTP+Reality (порт 443)
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# Включить форвардинг для VPN-клиентов
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -o tun+ -j ACCEPT
# NAT для выхода в интернет
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEДля сохранения правил после перезагрузки используйте iptables-save > /etc/iptables/rules.v4 и настройте автозагрузку.
nftables — современная замена
nftables пришёл на смену iptables в новых ядрах Linux. Он объединяет все цепочки (filter, nat, mangle) в единый фреймворк, работает быстрее и имеет более читаемый синтаксис. Если вы используете современный дистрибутив (Ubuntu 22.04+, Debian 12+, CentOS 9), настоятельно рекомендуем переходить на nftables.
📝 Пример базового конфига nftables для VPN-сервера:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0; policy drop;
# Разрешить локальный трафик
iif lo accept
# Разрешить установленные соединения
ct state established,related accept
# SSH
tcp dport 22 accept
# OpenVPN
udp dport 1194 accept
# WireGuard
udp dport 51820 accept
# XHTTP+Reality (HTTPS)
tcp dport 443 accept
}
chain forward {
type filter hook forward priority 0; policy drop;
# Разрешить форвардинг для VPN-интерфейсов
iifname "tun+" accept
oifname "tun+" accept
}
}
table inet nat {
chain postrouting {
type nat hook postrouting priority 100; policy accept;
oifname "eth0" masquerade
}
}Чтобы применить конфиг, сохраните его в файл (например, /etc/nftables.conf) и выполните nft -f /etc/nftables.conf. Для автозагрузки добавьте сервис nftables.
Правила для OpenVPN, WireGuard и XHTTP+Reality
У каждого протокола свои сетевые особенности, которые важно учитывать при настройке файрвола.
🔷 OpenVPN
Порт: 1194 UDP (или 443 TCP для обхода)
Интерфейс: tun0
Особенности: требует форвардинга и NAT
Классика⚡ WireGuard
Порт: 51820 UDP
Интерфейс: wg0
Особенности: не требует NAT, работает на уровне L3
Современный🚀 XHTTP + Reality
Порт: 443 TCP (HTTPS)
Интерфейс: зависит от реализации (Xray)
Особенности: маскировка под Chrome, DPI не видит
Технология будущегоДля XHTTP + Reality важно также разрешить исходящие HTTPS-соединения, так как протокол имитирует реальный браузер. В iptables это выглядит как разрешение порта 443 на выход, но обычно политика OUTPUT по умолчанию ACCEPT, так что дополнительных правил не требуется.
Дополнительная защита: DDoS, брутфорс, логи
Одного файрвола недостаточно. Вот несколько дополнительных слоёв защиты, которые стоит добавить:
- Ограничение числа подключений — с помощью
connlimitв iptables/nftables можно ограничить количество одновременных соединений с одного IP. - Защита от брутфорса — установите Fail2Ban, который будет банить IP после нескольких неудачных попыток входа в SSH или панель управления.
- Логирование — настройте сбор логов файрвола, чтобы видеть подозрительную активность.
- Смена порта SSH — вместо 22 используйте нестандартный порт, чтобы снизить число автоматических сканирований.
Все эти меры в комплексе с правильно настроенным брандмауэром делают ваш VPN-сервер практически неуязвимым для рядовых атак.
Почему личный VPS с файрволом лучше массового VPN
🚀 В чём отличие подхода VPS-VPN?
В отличие от обычных VPN-сервисов, где 1000+ человек сидят на одном IP, вы получаете персональный VPS.
- Никаких «шумных соседей»: ваш IP-адрес используете только вы. Никто не сможет «подставить» вас своей активностью.
- Стабильная скорость: пропускная способность не делится между сотнями пользователей.
- Минимальный риск блокировок: массовые IP-адреса часто попадают в бан-листы из-за действий других пользователей. Ваш личный IP — чистый.
- Полный контроль над файрволом: вы сами управляете правилами, можете открывать любые порты и настраивать NAT под свои задачи.
- Технология XHTTP + Reality: ваш трафик маскируется под обычный HTTPS, DPI не может его отличить от обычного браузера Chrome.
🎯 Нас в 1000 раз сложнее заблокировать и отследить.
Потому что каждый клиент VPS-VPN — это отдельный выделенный сервер с уникальным IP-адресом, индивидуальными настройками файрвола и маскировки трафика.
| Параметр | Массовый VPN | Личный VPN на VPS |
|---|---|---|
| IP-адрес | Общий (1000+ пользователей) | ✅ Персональный, только ваш |
| Настройка файрвола | Фиксированные правила, без изменений | ✅ Полный контроль |
| Скорость | Разделяется между всеми | ✅ Максимальная, только ваша |
| Риск блокировки | Высокий (из-за соседей) | ✅ Минимальный |
| Маскировка трафика | Стандартные протоколы | ✅ XHTTP + Reality, имитация Chrome |
| Сложность обнаружения DPI | Легко обнаружить | ✅ В 1000 раз сложнее |
🔥 Получите свой личный VPN-сервер с полным контролем над файрволом
Мы в VPS-VPN предлагаем полностью выделенный VPN-сервер на вашем собственном VPS. Вы сами настраиваете UFW, iptables или nftables под свои задачи.
Ваш трафик будет неотличим от обычного HTTPS — DPI-системы увидят обычный браузер Chrome. Нас в 1000 раз сложнее заблокировать.
🚀 Заказать личный VPN-серверИтог: безопасность начинается с файрвола
Брандмауэр — это не просто «галочка» в настройках, а фундамент безопасности вашего VPN-сервера. Без него даже самая современная технология XHTTP + Reality остаётся уязвимой для атак и может быть обнаружена DPI-системами из‑за открытых служебных портов.
Мы рассмотрели три инструмента:
- UFW — для быстрого старта и базовой защиты.
- iptables — для полного контроля и тонкой настройки.
- nftables — для современных систем с высокой производительностью.
Какой бы инструмент вы ни выбрали, помните главное правило: разрешайте только то, что действительно необходимо, и всегда оставляйте возможность управления (SSH) с доверенных IP.