У меня есть настройка службы, которая перенаправляет после успешного входа в систему (Couchbase), но IP-адрес, на который он передает, является локальным, и клиент, к которому подключается, не может связаться.
Как мне настроить iptables, чтобы я мог направлять трафик, генерируемый самим клиентом, на другой порт?
Служба HTTP просто возвращает IP-адрес для подключения, таким образом «перенаправляя» клиента, но не с перенаправлением HTTP.
Мне не нравится IPTables, поэтому я не горю желанием экспериментировать с ним / испортить и потерять свое ssh-соединение. Я видел несколько примеров, но ни один из них, похоже, не работает или делает именно то, что я хочу.
Если вы не можете заставить веб-сервис предоставить клиенту действительный маршрутизируемый общедоступный IP-адрес, он никогда не будет работать, если вы не напишете клиенту, чтобы он игнорировал IP-адрес, предоставленный веб-сервисом. iptables
не может это исправить (без написания модуля проверки протокола, такого как ip_masq_ftp
, а затем при условии, что вы не используете SSL).
Если вы можете заставить веб-сервис предоставить правильный общедоступный IP-адрес компьютера, имеющего доступ к Интернету и частной сети, то самым простым способом было бы иметь rinetd
работает на этой машине, прослушивает интернет-соединение и перенаправляет соединения на частную сторону, но для того, чтобы это работало, порт должен быть согласован для одного и того же IP-адреса (вы можете перенаправить несколько портов, но входящий порт 11210 всегда должен идти на 192.168.2.53) (вы можете перенаправить на другой порт, поэтому, если у вас есть ... 53: 11210 и ... 54: 11210, вы можете использовать: 11211 для перенаправления на один из них, но веб-сервису потребуется знаю это).