Как маскировать с одного интерфейса на другой для выбранных адресов назначения?

Вопрос или проблема

У меня работает VPN Wireguard для доступа к локальной сети извне.

Раньше я использовал nft, но для этого сервера я использую firewalld.

Вот моя команда nft для разрешения маскарадинга: PostUp = nft add rule inet POSTROUTING_%i postrouting ip daddr 192.168.1.1/24 masquerade

Как это сделать с помощью firewalld?

Основной интерфейс и интерфейс VPN находятся в общественной зоне.

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp2s0
  sources: 
  services: cockpit dhcpv6-client nfs samba ssh vnc-server
  ports: 80/tcp 443/tcp
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Ответ или решение

Настройка маскарадинга между интерфейсами на выбранные адреса назначения с использованием Firewalld может показаться сложной задачей. Ниже приведен пошаговый процесс на русском языке, раскрывающий, как это осуществить.

Определение задачи

У вас есть настроенная VPN WireGuard для доступа к вашей локальной сети из внешних сетей. Вы привыкли использовать nftables для создания правил маскарадинга, но на данном сервере перешли на использование firewalld. Ваша командная строка для nftables выглядела так: PostUp = nft add rule inet POSTROUTING_%i postrouting ip daddr 192.168.1.1/24 masquerade. Теперь вам необходимо осуществить аналогичное действие с помощью firewalld. Основной интерфейс и VPN-интерфейс относятся к публичной зоне.

Шаги для настройки маскарадинга с Firewalld

  1. Включение маскарадинга:
    Чтобы включить маскарадинг в firewalld, сначала убедитесь, что маскарадинг для публичной зоны активирован. Это можно сделать командой:

    sudo firewall-cmd --zone=public --add-masquerade

    Чтобы сохранить изменения постоянно, используйте:

    sudo firewall-cmd --zone=public --add-masquerade --permanent
  2. Создание Rich Rule:
    Если вы хотите ограничить маскарадинг определёнными адресами назначения, то вам нужно использовать богатое правило (rich rule). Пример команды для добавления такого правила:

    sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" destination address="192.168.1.0/24" masquerade'

    И для постоянного добавления:

    sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" destination address="192.168.1.0/24" masquerade' --permanent
  3. Перезагрузка параметров Firewalld:
    Чтобы все внесенные изменения вступили в силу, перезапустите сервис:

    sudo firewall-cmd --reload
  4. Проверка статуса:
    Убедитесь, что маскарадинг и ваше богатое правило активированы:

    sudo firewall-cmd --zone=public --query-masquerade
    sudo firewall-cmd --zone=public --list-rich-rules

Эти шаги помогут вам настроить маскарадинг интерфейса с использованием Firewalld так же, как вы делали это раньше с помощью nftables. Этот процесс обеспечивает безопасность вашей сети и гарантирует изолированный доступ из внешней сети через VPN.

Оцените материал
Добавить комментарий

Капча загружается...