У меня есть маршрутизатор, который устанавливает правила как так:
TCP Any -> 5800
Any -> 5900
UDP Any -> 5800
Any -> 5900
Computer: ip-address
Это позволило бы кому-то 'снаружи' соединяться с портом моего маршрутизатора 5800 и 5900 и вперед это к тому же порту на моем компьютере.
Моя проблема - то, что я хочу, чтобы 'внешний' порт отличался, не изменяя порт на моем компьютере.
Исследуйте использование поля Linux как маршрутизатор. iptables имеет цель ПЕРЕНАПРАВЛЕНИЯ, которая делает, что Вы говорите, и я использую его сам. На моей домашней LAN я люблю сохранять вещи на стандартных портах, но не обязательно хочу их внешне доступный через те же порты. Или иногда я выбирал нестандартный порт для сервиса, но хочу, чтобы один определенный IP получил доступ к нему через стандартные портовые сборы к их строгим политикам.
Например, мне изменили мой порт SSH от по умолчанию, но добавил правило в моем брандмауэре для перенаправления порта 22 (стандартный порт) к этому порту для определенного IP (который является моей школой, которая блокирует мой выбранный нестандартный порт),
На моем маршрутизаторе D-Link существует опция установить "общественность" (снаружи) и "частные" (внутренние) порты. Какой маршрутизатор Вы используете?
Средство моделирования: http://support.dlink.com/Emulators/wbr2310/adv_virtual.htm