Я использую обратный туннель к публичному vps, чтобы пользователи могли подключаться к моей машине дома. Однако, из-за того, почему работает обратный туннель, их IP-адреса отображаются как локальные (127.0.0.1) для моей службы.
можно ли заставить SSH пересылать публичный IP-адрес пользователя (например, 7.8.9.10 вместо 127.0.0.1)? может ли это потенциально что-то сломать?
решение1
SSH реализует туннель, в котором информация только **пересылается* в или из удаленной или локальной системы. Поэтому она может быть только на назначенный локальный адрес. Однако вы можете настроить виртуальный локальный частный адрес и привязаться к нему вместо 127.0.0.1.
sudo ifconfig eth0:0 10.0.0.1 вверх sudo ssh -g -L 1234:10.0.0.1:1234[email protected]
Чтобы сохранить IP-адрес, вам нужно что-то вроде l2tp. Обратите внимание, что переадресация портов в этих случаях NAT называется IP-маскарадингом и по определению теряет информацию об исходных IP-адресах при отправке по туннелю. Вместо этого вам нужно будет инкапсулировать пересылаемые пакеты, включая их источник, во что-то вроде l2tp, а ЗАТЕМ пересылать их через туннель, а затем декодировать на другой стороне.