Я хочу переадресовать порт на маршрутизаторе с поддержкой upnp. Я использую библиотеку waifUPnP в java.
Это порт перенаправления, но выбираемый интерфейс 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.