Доступ к порту RMI с удаленного компьютера с помощью iptables - PullRequest
1 голос
/ 26 апреля 2011

Я хочу получить доступ к RMI-сервису с удаленного сервера. Локально все отлично работает. Но с удаленной стороны я получаю следующее исключение:

java.net.ConnectException: истекло время ожидания соединения

Я использовал IP-таблицы, сервер считает, что запрос приходит к 127.0.0.1, а не к общему IP-адресу xx.yy.zz

iptables -t nat -A ПРЕДУПРЕЖДЕНИЕ -p tcp -d xx.yy.zz --dport 1099 -j DNAT - к месту назначения 127.0.0.1:1099

Сервер запускается с "-Djava.rmi.server.hostname = 127.0.0.1" в качестве аргумента JVM.

С уважением, Markus

Ответы [ 2 ]

1 голос
/ 26 апреля 2011

Для меня это выглядит как злоупотребление iptables.Выполните следующие действия:

  1. Убедитесь, что ваше приложение привязано к общему адресу.Например, удалив «-Djava.rmi.server.hostname = 127.0.0.1».
  2. Если вы все еще не можете открыть свое приложение.Добавьте правило брандмауэра в iptables что-то вроде: $iptables -A INPUT -p tcp --dport 1099 -j ACCEPT
0 голосов
/ 26 апреля 2011

Я подозреваю, что DNAT изменяет только назначение пакета, а не источник.Разве не имеет смысла заставлять сервер RMI принимать пакеты из доверенной локальной сети или VPN вместо того, чтобы пытаться переписать пакеты с помощью iptables?

...