Имеется Raspberry с подключенной к eth0 IP камерой и установленным IKEV2 туннелем.
IP адрес камеры
192.168.97.100
Виртульный адрес raspberry
10.10.10.1
Задача получить доступ к RTSP стриму камеры с любого, подключенного устойства в виртуальной сети, в том числе по UPD.
создал правила IPTABLES
-A PREROUTING -d 10.10.10.0/24 -p tcp -m tcp --dport 554 -j DNAT --to-destination 192.168.97.100:554
-A POSTROUTING -s 192.168.97.100/32 -d 10.10.10.0/24 -o eth0 -p udp -j SNAT --to-source 10.10.10.1
Первое правило позволяет другим участникам виртульной сети устанавиливать соединение с камерой по протоколу RTSP, а также получать стрим по TCP протоколу.
Второе правило позволяет получить доступ к RTSP стриму по UDP.
Но(!) дело в том, что виртульный адрес raspberry не статичен, и SNAT работает только в частном случае.
Тут просится MASQUERADE, но он не работает, видимо потому что у IPSEC туннеля нет своего интерфейса.
Как заставить NAT подставлять текущий виртуальный адрес?