Arsolitt
@Arsolitt

Как пробросить порты, чтобы сохранить оригинальный ip клиента?

Имеется два сервака на бубунтах 22. Оба имеют внешний айпишники, и соединены в локальную сеть посредством ZeroTier. Нужно прокинуть порт 25566 с шлюза, на порт 25566 игровой тачки, при этом сохранив исходный айпишник клиента.
С моим текущим конфигом игровая тачка видит при подключении айпишник шлюза.

Настроил проброс через nftables, но не откажусь от других вариантов с отдельным прокси, который решит мою задачу, но с учётом того, что прокинуть в сумме мне нужно будет несколько сотен портов, и каждый отдельно вписывать я не буду, но для тестов пока обойдёмся одним

Машина 1 - шлюз:
IP внешний - 144.144.144.144
Внешний интерфейс - ens3
IP локальный 10.147.17.22
Интерфейс локальный ztcfwzuixs

Машина 2 - игровой сервак
IP внешний - 133.133.133.133
Внешний интерфейс - eno1
IP локальный 10.147.17.92
Интерфейс локальный ztcfwzuixs

На шлюзе с божьей помощью слепил конфиг nftables
table ip nat {
    chain PREROUTING {
        type nat hook prerouting priority 0; policy accept;
        tcp dport 25566 dnat to 10.147.17.92:25566
        udp dport 25566 dnat to 10.147.17.92:25566
    }
    chain POSTROUTING {
        type nat hook postrouting priority 100;
        oif "ztcfwzuixs" counter masquerade
    }
    chain OUTPUT {
        type nat hook output priority 0; policy accept;
    }
}
table ip filter {
    chain INPUT {
        type filter hook input priority 0; policy accept;
    }
    chain FORWARD {
        type filter hook forward priority 0; policy accept;
    }
}


Без маскарадинга коннекта нет вообще. Я +- понимаю, как это всё работает, но сети в целом для меня употребимы только под тяжёлыми веществами
  • Вопрос задан
  • 537 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Drno
Да никак. Так же бывает при пробросе портов на роутере. Подменяется адрес.
Если ПО умеет работать за обратным прокси - то можно попробовать это настроить.

Возможно можно попробовать nginx stream с нужными параметрами
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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