Я хочу перенаправить порт для своего веб-сервера на маршрутизатор, к которому у меня нет доступа. Я очень сомневаюсь, что UPNP включен.Можете ли вы перенаправить порт вперед без доступа к маршрутизатору, и UPNP, возможно, отключен?
ответ
На самом деле, вы можете (вроде)
Его немного сложнее и не будет работать все время, но вот суть того, как это работает:
Дано:
RouterA с публичным IP 1.2.3.4
PC1 с частным IP-адресом ABCD (за маршрутизатором А)
RouterB с общественной IP 5.6.7.8
PC2 с частным IP-адресом EFGH (за маршрутизатором B)
Теперь, учитывая идеальное решение (т.е. нет PAT) ...
Шаг A:
Отправить любое сообщение из PC1 на любой порт (10000 для данного примера) к общественному IP для RouterB (4.5.6.7). Это зарегистрирует a.b.c.d: 10000 -> 4.5.6.7:10000 на NAT и PAT для routerA. RouterB отбрасывает этот пакет (как и ожидалось, потому что он не запрашивался).
Шаг B: В то же время непрерывно отправляйте пакет с PC2 на общедоступный IP-адрес маршрутизатора A (1.2.3.4) на том же порту (10000). Это будет регистрироваться, например, f.h: 10000 -> 1.2.3.4:10000, на NAT и PAT RouterB.
Шаг C:
Теперь, вот где происходит волшебство:
PC2 постоянно посылает пакет RouterA, таким образом, сохраняя «дыру» открыта в RouterB ответа вернуться. Когда PC1 отправит его один пакет в RouterB, он появится в RouterB в качестве ответа и поэтому будет перенаправлен на PC2. После того как PC2 получит этот «ответ», убедитесь, что еще один пакет выключен и перестает отправлять непрерывные пакеты. Этот последний пакет будет действовать как «ответ» на ПК1 и пройти через «дыру», созданную на шаге А. И вуаля! Теперь у вас NAT трансверсаль. Вам нужно всего лишь отправить один пакет каждую минуту или около того, чтобы обе стороны открывали «отверстие».
ПРИМЕЧАНИЕ. Это ТОЛЬКО работает с UDP, поскольку оно не требует установления соединения (отброшенные пакеты в порядке).
Теперь почти все маршрутизаторы используют PAT, поэтому вам нужно «угадать», какой порт «реагирует» на большинство маршрутизаторов, сделает смещение + -10 (то есть a.b.c.d: 10000 -> 5.6.7.8:10010).
Просто попробуйте несколько в этом диапазоне (от -10 до +10, пока вы не получите ответ)
остальных маршрутизаторов случаен на их PAT. Если это так, вы ввернуты ... Попробуйте другое направление (т.е.e запустите соединение в другом направлении). Если это не удается, вы не можете подключиться ... извините)
Итак, из того, что я понимаю, у вас есть веб-сервер, работающий там, где нужно перенаправить вещи, и порт маршрутизатора, к которому у вас нет доступа; и вы хотите подключить эти два.
Я очень сомневаюсь, что есть способ сделать это, если только вы имели доступ SUDO к маршрутизатору, вы можете использовать IPTables для перенаправления