Iptables :как разрешить переадресацию с NIC wireguard только на какой-то IP

Context

Я успешно интегрировал Wireguard в свою локальную сеть, чтобы получить доступ к своему NAS (192.168.1.45 )снаружи.

|Router|     ===:5182=> |VPN server|        ====> |NAS|
192.168.1.254           192.168.1.21 (wlan0)      192.168.1.45
                        10.10.10.1 (wg0)

Пересылка пакетов через мой VPN-сервер зависит от:

  1. переадресации ip в/etc/sysctl.conf(Cf моего сценария)
  2. добавлены следующие правила(-A)при интерфейсе wireguard(wg0)вверх.
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o $main_nic -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o $main_nic -j MASQUERADE

(это команда wireguard, выполняемая при остановке wg0)

PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o $main_nic -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o $main_nic -j MASQUERADE

Need

Это работает как шарм, но как я могу ограничить вещи, чтобы клиент, входящий в мою локальную сеть через эту точку входа VPN, мог получить доступ только к 192.168.1.45 а другого ИП нет? Совместимо ли это с IP-переадресацией ?

В идеале, если бы этим можно было полностью управлять в директивах PostUpPostDown wireguard (независимо от предыдущих правил системы ), это было бы потрясающе. Пробовал кое-что, но, скажем прямо, я больше разработчик, чем сетевой администратор

0
задан 6 November 2021 в 11:24
1 ответ

Конечно, вы можете вместо того, чтобы произвольно разрешать трафик, просто убедитесь, что он идет к ожидаемому IP-адресу назначения.:

-A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
-A FORWARD -i wg0 -d 192.168.1.45 -j ACCEPT

В качестве примечания: я бы не стал добавлять и удалять правила в хуках PostUpи PostDown., их бесполезно удалять, когда интерфейс больше не существует, поскольку в этом случае они ничего не делают. Просто оставьте их там все время, это меньше подвержено ошибкам -и проще в управлении.

1
ответ дан 7 November 2021 в 23:44

Теги

Похожие вопросы