Рейтинг:0

Функциональность переадресации Firewalld с Wireguard

флаг us

Я уже спрашивал, как перенаправлять порты на VPS с запущенным сервисом wireguard с ufw и iptables в качестве управления.

Я должен был сделать это:

(56000 — это случайный порт, который я выбрал) (10.66.66.2 — это внутренний IP-адрес wireguard)

ufw route разрешить proto tcp на порт 10.66.66.2 56000

Затем я бы сделал это, чтобы фактически переадресовать порты с помощью iptables:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 56000 -j DNAT --назначение 10.66.66.2

Есть ли способ добиться этого с помощью брандмауэр вместо? чтобы мне не пришлось разделять переадресацию на два места?

И маскарад здесь пригодится/нужен? Так как я не знаю, что он делает и для чего он используется.

VPS wireguard wg0 conf для справки:

Адрес = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 49503
Приватный ключ = ***


[Вглядеться]
ПубличныйКлюч = ***
Предварительный ключ = ***
Разрешенные IP-адреса = 10.66.66.2/32,fd42:42:42::2/128
Рейтинг:1
флаг cn

Судя по вашему предыдущему вопросу UFW, вы используете WireGuard для двух целей?: 1) перенаправляете трафик с клиента WireGuard вашего VPS в Интернет и 2) перенаправляете несколько общедоступных портов с вашего VPS обратно на клиент WireGuard. . Вам нужен маскарад (он же SNAT) для 1) и переадресация портов (он же DNAT) для 2).

Самый простой способ настроить это с помощью firewalld — привязать общедоступный Ethernet-интерфейс вашего VPS (eth0 в вашем случае) для предопределенного firewalld внешний зону и интерфейс WireGuard вашего VPS (WG0 в вашем случае) для предопределенного firewalld внутренний зона. внешний зона предварительно настроена с включенным маскированием; и обе зоны также предварительно настроены для приема SSH и некоторых других сервисов.

Сначала откройте порт прослушивания WireGuard вашего VPS (49503 в вашем случае) на внешний зона:

$ sudo firewall-cmd --zone=external --add-port=49503/udp

И перенаправить порт TCP 56000 на внешний зону к тому же порту на 10.66.66.2:

$ sudo firewall-cmd --zone=external --add-forward-port='port=56000:proto=tcp:toaddr=10.66.66.2'

Затем привяжите eth0 к внешний зона (которая применяет конфигурацию firewalld для внешний зона для всех eth0 соединения):

$ sudo firewall-cmd --zone=external --add-interface=eth0

И связать WG0 к внутренний зона:

$ sudo firewall-cmd --zone=internal --add-interface=wg0

Проверьте свои активные зоны:

$ sudo firewall-cmd --get-active-zones
внешний
  интерфейсы: eth0
внутренний
  интерфейсы: WG0

И проверьте конфигурацию вашего внешний зона:

$ sudo firewall-cmd --info-zone=external
внешний (активный)
  цель: по умолчанию
  icmp-инверсия блока: нет
  интерфейсы: eth0
  источники:
  услуги: ssh
  порты: 49503/udp
  протоколы:
  маскарад: да
  переадресация портов: порт = 56000: proto = TCP: toaddr = 10.66.66.2
  исходные порты:
  icmp-блоки:
  богатые правила:

Если все работает правильно, сохраните текущие настройки firewalld:

$ sudo firewall-cmd --runtime-to-permanent

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.