Можете ли вы заставить порт вперед без доступа к маршрутизатору, и UPNP, вероятно, выключился?

StackOverflow https://stackoverflow.com/questions/19836475

  •  25-07-2022
  •  | 
  •  

Вопрос

Я хочу перенести порт для моего веб -сервера на маршрутизатор, к которому у меня нет доступа. Я очень сомневаюсь, что UPNP включен.

Это было полезно?

Решение

На самом деле, вы можете (вроде)

Это немного сложно и не работает все время, но вот суть о том, как это работает:

Данный:

Роутер с публичным IP 1.2.3.4

PC1 с частным IP ABCD (за маршрутизатором A)

Routerb с публичным IP 5.6.7.8

PC2 с частным IP EFGH (за маршрутизатором B)

Теперь, учитывая идеальное решение (т.е. не PAT) ...

Шаг A:

Отправьте любое сообщение из PC1 на любом порту (10000 для этого примера) в публичный IP для RouterB (4.5.6.7). Это зарегистрирует ABCD: 10000 -> 4.5.6.7:10000 на NAT и PAT для маршрутизации. RouterB отбросит этот пакет (как и ожидалось, потому что его не было запрошено).

Шаг B: В то же время постоянно отправляйте пакет из PC2 в общедоступный IP на маршрутизаторе A (1.2.3.4) на том же порту (10000). Это зарегистрирует EGFH: 10000 -> 1.2.3.4:10000 на Nat и Pat.

Шаг C:

Теперь вот где происходит волшебство:

PC2 постоянно отправляет пакет на маршрутизаторы, тем самым сохраняя «отверстие» в Routerb для ответа, чтобы вернуться. Когда PC1 отправит его один пакет на RouterB, он будет показан в RouterB в качестве ответа и, следовательно, будет перенаправлен в PC2. После того, как PC2 получит этот «ответ», убедитесь, что еще один пакет выходит и прекратите отправлять непрерывные пакеты. Этот последний пакет будет выступать в качестве «ответа» на PC1 и пройти «дыру», созданную в шаге А. и вуаля! Теперь у вас есть Nat Transversal. Вам нужно только отправлять один пакет каждую минуту или около того, оба направления, чтобы держать «отверстие» открытым.

Примечание: это работает только с UDP, так как он без соединения (пакеты с падами в порядке).

Теперь почти все маршрутизаторы используют PAT, поэтому вам нужно «угадать», какой порт «ответить» на большинство маршрутизаторов сделает смещение +-10 (IEABCD: 10000 -> 5.6.7.8:10010).

Просто попробуйте несколько в этом диапазоне (от -10 до +10, пока не получите ответ)

Остальные маршрутизаторы случайны на своих PAT. Если так, вы облажались ... попробуйте другое направление (т.е. подключение к другому направлению). Если это не удается, вы не можете подключиться ... извините)

Другие советы

Итак, из того, что я понимаю, у вас есть веб -сервер, который работает там, где необходимо пересылать, и порт маршрутизатора, к которому у вас нет никакого доступа; И вы хотите подключить эти два.

Я очень сомневаюсь, что есть способ сделать это, если только у вас был доступ к своему маршрутизатору, вы можете использовать iptables для перенаправления

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top