如何知道 Red Hat Linux 机器上动态端口分配的范围
从 Linux 开始,我们
sysctl -a | egrep "net.inet.ip.portrange.first|net.inet.ip.portrange.last"
但这些参数不在内核配置中
参数是否等同于文件中的设置- /proc/sys/net/ipv4/ip_local_port_range
?
more /proc/sys/net/ipv4/ip_local_port_range
1024 65535
答案1
您搜索的参数是net.ipv4.ip_local_port_range
并且语法sysctl
是:
net.ipv4.ip_local_port_range = 1024 65535
所以你grep
应该:
sysctl -a | egrep "net.ipv4.ip_local_port_range"
PS 我没有找到net.inet.ip.portrange.first
有效net.inet.ip.portrange.last
的内核参数
答案2
我认为您检查的参数适用于 FreeBSD,而不是 Red Hat。在 Red Hat 上,您应该使用以下命令检查范围:
sysctl net.ipv4.ip_local_port_range
该命令将返回最小和最大端口号。是的,您也可以通过检查此文件来查看范围:/proc/sys/net/ipv4/ip_local_port_range
要更改 Red Hat 上的动态端口范围,您可以使用
sysctl -w net.ipv4.ip_local_port_range="MIN MAX"
将 MIN 和 MAX 替换为所需的新端口范围。更改这些内容时,请确保您知道自己在做什么。要进行永久更改,您需要编辑文件/etc/sysctl.conf
并添加此行
net.ipv4.ip_local_port_range = MIN MAX
保存文件并运行sysctl -p