最大端口号是多少?


66

我想将一些Linux服务设置为非标准端口-最高有效端口号是多少?

Answers:


72

(2 ^ 16)-1或0-65,535(-1是因为端口0被保留并且不可用)。(已编辑,因为o_O Tync提醒我我们不能使用端口0,而Steve Folly提醒我您要求的是最高端口,而不是端口数)

但是您可能会以错误的方式进行操作。有些人主张和反对非标准港口。我说它们与最随意的扫描仪无关,而最随意的扫描仪可以使用最新的软件和适当的防火墙技术以及强密码来阻止。换句话说,安全最佳实践。


3
-1为错误答案。尝试65,535。但是关于/反对非标准端口的论点很好。
史蒂夫·福利

2
安全/合规人员会强制执行此类决策。我们在预定的高端口上运行SMTP服务,以保护我们免受安全人员办公室的骚扰。
duffbeer703 2010年

1
史蒂夫(Steve),经过编辑,您说得对。我用我的电话号码回答了错误的问题:)
Matt Simmons 2010年

2
@Matt:已删除-1 :-)
Steve Folly 2010年

1
我监视使用ssh登录的尝试,并且多次尝试都阻止了IP(标准CPanel VPS解决方案)。我只是想减少每天必须尝试的次数。端口扫描也被阻止,因此应减少该人群。我也在考虑使用VPN,但更改端口似乎是更容易的第一步。
Yehosef 2010年

41

可以使用1-65535,范围为1-1023的端口是特权端口:需要以root用户身份运行应用程序才能侦听这些端口。


8

尽管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

确保您了解服务器的用途。减小范围太多可能导致其他问题。

编码愉快!(或您所做的任何事情)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.