Yehosef Asked: 2010-01-18 15:53:19 +0800 CST2010-01-18 15:53:19 +0800 CST 2010-01-18 15:53:19 +0800 CST 最大端口号是多少? 772 我想将一些 linux 服务设置为非标准端口 - 最高有效端口号是多少? linux port tcpip 3 个回答 Voted Best Answer Matt Simmons 2010-01-18T15:58:08+08:002010-01-18T15:58:08+08:00 (2^16)-1 或 0-65,535(-1 是因为端口 0 已保留且不可用)。(编辑是因为 o_O Tync 提醒我不能使用端口 0,而 Steve Folly 提醒我你要的是最高端口,而不是端口数) 但你可能会以错误的方式解决这个问题。有些人支持和反对非标准端口。我说它们与最随意的扫描仪无关,并且可以通过使用最新的软件和适当的防火墙技术以及强密码来阻止最随意的扫描仪。换句话说,安全最佳实践。 kolypto 2010-01-18T15:56:42+08:002010-01-18T15:56:42+08:00 1-65535 可用,1-1023 范围内的端口是特权端口:应用程序需要以 root 身份运行才能监听这些端口。 Stephen Mathews 2017-09-14T07:55:02+08:002017-09-14T07:55:02+08:00 虽然 1-65535 是合法的 TCP 端口,但 1-1023 确实是用于众所周知的端口服务。如果您自己的服务在建立临时端口后启动,您可能会遇到随机问题。对于那些可能不知道的人来说,临时端口是那些在本地连接到远程端点(或类似的东西)的端口。因此,如果您编写一个侦听端口 20001 的 TCP 服务。您今天可能会很好......明天也会很好。但是有一天您的服务可能会启动并尝试绑定到 20001,但它会失败,因为它被视为临时端口。有一个解决方案。您必须让您的管理员或您自己更改服务器上的系统临时端口范围策略。在 linux 系统上,它分两步完成: 动态地 永久 这两个步骤都必须执行,除非您计划重新启动(在这种情况下不需要动态步骤)。要将范围设置为 40000 到 65535,请执行以下操作: 动态的 echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range 或者 sysctl -w net.ipv4.ip_local_port_range="40000 65535" 永恒的 将以下内容添加到 /etc/sysctl.conf: net.ipv4.ip_local_port_range = 40000 65535 要读取当前设置或确认更改: /sbin/sysctl net.ipv4.ip_local_port_range 输出将是这样的: net.ipv4.ip_local_port_range = 9000 65500 确保您了解服务器的用途。将范围缩小太多可能会导致其他问题。 快乐编码!(或无论你做什么)
(2^16)-1 或 0-65,535(-1 是因为端口 0 已保留且不可用)。(编辑是因为 o_O Tync 提醒我不能使用端口 0,而 Steve Folly 提醒我你要的是最高端口,而不是端口数)
但你可能会以错误的方式解决这个问题。有些人支持和反对非标准端口。我说它们与最随意的扫描仪无关,并且可以通过使用最新的软件和适当的防火墙技术以及强密码来阻止最随意的扫描仪。换句话说,安全最佳实践。
1-65535 可用,1-1023 范围内的端口是特权端口:应用程序需要以 root 身份运行才能监听这些端口。
虽然 1-65535 是合法的 TCP 端口,但 1-1023 确实是用于众所周知的端口服务。如果您自己的服务在建立临时端口后启动,您可能会遇到随机问题。对于那些可能不知道的人来说,临时端口是那些在本地连接到远程端点(或类似的东西)的端口。因此,如果您编写一个侦听端口 20001 的 TCP 服务。您今天可能会很好......明天也会很好。但是有一天您的服务可能会启动并尝试绑定到 20001,但它会失败,因为它被视为临时端口。有一个解决方案。您必须让您的管理员或您自己更改服务器上的系统临时端口范围策略。在 linux 系统上,它分两步完成:
这两个步骤都必须执行,除非您计划重新启动(在这种情况下不需要动态步骤)。要将范围设置为 40000 到 65535,请执行以下操作:
动态的
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
或者
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
永恒的
将以下内容添加到 /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 40000 65535
要读取当前设置或确认更改:
/sbin/sysctl net.ipv4.ip_local_port_range
输出将是这样的:
net.ipv4.ip_local_port_range = 9000 65500
确保您了解服务器的用途。将范围缩小太多可能会导致其他问题。
快乐编码!(或无论你做什么)