我想从远程服务器访问RMI-Service。 在当地一切正常。但是从远程方面我得到以下例外:
java.net.ConnectException:连接超时
我使用IP-Tables,服务器认为请求是127.0.0.1而不是公共IP地址xx.yy.zz
iptables -t nat -A PREROUTING -p tcp -d xx.yy.zz --dport 1099 -j DNAT --to-destination 127.0.0.1:1099
服务器以“-Djava.rmi.server.hostname = 127.0.0.1”作为JVM-Argument启动。
此致 马库斯
答案 0 :(得分:1)
对我来说,这看起来像滥用iptables。执行以下操作:
$iptables -A INPUT -p tcp --dport 1099 -j ACCEPT
答案 1 :(得分:0)
我怀疑DNAT只更改数据包的目的地而不是源。让RMI服务器接受来自可信LAN或VPN的数据包而不是尝试使用iptables重写数据包会不会更有意义?