我想在启用了upnp的路由器上转发端口,我正在使用Java中的waifUPnP库。 它转发的端口,但它选择的WAN接口是ppp0.1,这不是我想要的。我如何选择ppp1.1。我看不到其他可以选择WAN接口的方法。
我正在构建需要端口转发的应用程序。
UPnP.openPortTCP(PORT);
public boolean openPort(int port, boolean udp) {
if (port < 0 || port > 65535) {
throw new IllegalArgumentException("Invalid port");
}
Map<String, String> params = new HashMap<String, String>();
params.put("NewRemoteHost", "");
params.put("NewProtocol", udp ? "UDP" : "TCP");
params.put("NewInternalClient", iface.getHostAddress());
params.put("NewExternalPort", "" + port);
params.put("NewInternalPort", "" + port);
params.put("NewEnabled", "1");
params.put("NewPortMappingDescription", "WaifUPnP");
params.put("NewLeaseDuration", "0");
try {
Map<String, String> r = command("AddPortMapping", params);
return r.get("errorCode") == null;
} catch (Exception ex) {
return false;
}
}
它转发端口,但选择顶部的WAN接口,我有3个WAN接口,有效的是ppp1.1,这是第三个WAN接口。有没有一种方法可以添加WAN接口参数,我不知道在确定WAN接口的代码中上述参数方法中要传递什么。