Я пытаюсь переслать серию портов на мой компьютер. В моей сети несколько компьютеров, и я считаю, что мой маршрутизатор случайным образом назначает порт каждому компьютеру, который к нему подключается. Поскольку у меня нет статического IP-адреса для моего компьютера, мне было интересно, можно ли перенаправить порты на все IP-адреса?
1 ответ
Технически то, что вы заявляете, возможно. Хост может принимать входящий трафик на заданный IP-адрес + порт TCP/UDP и программировать переадресацию того же трафика на несколько IP-адресов.
С TCP это не поможет. TCP - это сервис, ориентированный на установление соединения, в зависимости от порядковых номеров и состояния, поддерживаемого между двумя и только двумя хостами - на самом деле он предназначен для связи только двух хостов. Исключение: если вы хотите, чтобы второй хост записывал трафик, но не участвовал, это было бы полезно.
В этом методе можно спроектировать что-то с использованием UDP, но открытый протокол должен это поддерживать. HTTP, например, зависит от свойств TCP, ориентированных на соединение. Некоторые одноранговые протоколы могут работать таким образом, но не все протоколы, использующие UDP, работают.
Многоадресная рассылка поддерживает это, но только "в одну сторону" - несколько хостов могут "подписаться" на многоадресный IP и получать трафик, но отправка не покрывается.
Итак, подведем итог: переадресация портов - это дело 1: 1. Вам необходимо иметь статический IP-адрес или использовать UPnP, если ваш маршрутизатор поддерживает его. @Moab предоставляет хорошее решение - на большинстве домашних маршрутизаторов вы можете ограничить диапазон IP-адресов, которые раздает DHCP (например, с 192.168.0.2 по 192.168.0.126), а затем вручную настроить систему на что-то вне этого (вручную установите для системы значение 192.168.0.129).