Я использую туннелирование ssh с: ssh -i <my_file> -R *:0:localhost:80 <my_name>@<host>
.
С портом = 0 сервер назначает мне порт. Как сервер выбирает и как настроить диапазон?
Я использую туннелирование ssh с: ssh -i <my_file> -R *:0:localhost:80 <my_name>@<host>
.
С портом = 0 сервер назначает мне порт. Как сервер выбирает и как настроить диапазон?
Когда ОС назначает порт конечной точке TCP или UDP, она использует диапазон временных портов. Операционные системы будут произвольно выделять неиспользуемый номер порта из этого диапазона. Может выбрать номер случайно. Или он может просто начинаться с нижнего конца диапазона и назначать первый номер, который не используется.
На этой странице описано, как просмотреть и изменить диапазон в нескольких различных операционных системах. В Linux вы можете просмотреть и изменить диапазон, открыв /proc/sys/net/ipv4/ip_local_port_range
:
$ cat /proc/sys/net/ipv4/ip_local_port_range
1024 4999
# echo "49152 65535" > /proc/sys/net/ipv4/ip_local_port_range
Кроме того, вы можете использовать sysctl
для просмотра или установки ключа net.ipv4.ip_local_port_range
.
Я почти уверен, что вы не можете указать ssh
диапазон портов на стороне сервера для выбора, конечно, не на стороне клиента. Предполагая наличие некоторой * nix-подобной системы на сервере, вы сможете установить диапазон временных портов в /proc/sys/net/ipv4/ip_local_port_range
.
Возможно, более полезно, вы могли бы просто хотеть назначить порт на стороне сервера, который обсуждался здесь и здесь.