Имеется 1 компьютер на Linux с внешним IP.
Так же имеется другой компьютер, тоже на Linux, сидит на NAT у провайдера, имеет нормальный доступ в интернет, но входящие соединения принимать не может.
На втором компьютер запускается сервер Minetest (работает про протоколу UDP). Теперь необходимо как-то пробросить его 30000-ый порт на первый компьютер. Если бы компьютер был в локальной сети (а первый исполняет функцию роутера), то всё достаточно просто решается правилами iptables.
OpenVPN и прочие не осилил, да и хочется попроще, потому что весь функционал VPN мне не нужен.
Пробовал поднять SSH-тунель с помощью ssh -w0:0 root@my-server. Появляется сетевой интерфейс tun0 и на сервере и на клиенте, задаю им IP. В итоге могу пинговать сервер с клиента и наоборот. Могу получить доступ с роутера к серверу на клиенте, а с клиента к локальным ресурсам роутера. Однако пробросить порт тем же правилом iptables нельзя - как я понимаю minetest в итоге не понимает через какой интерфейс ему вернуть пакеты - ведь шлюз по умолчанию на клиенте отнюдь не tun0.
Можно было бы ходить в интернет через роутер, но я не хочу загружать его интернет-канал, поэтому через тунель должен идти только трафик для minetest.
Что делать?