笔记
ip_local_port_range - 2 个整数
定义 TCP 和 UDP 用于选择本地端口的本地端口范围。
第一个数字是第一个,第二个是最后一个本地端口号。
如果可能的话,这些数字最好有不同的奇偶校验(一个偶数和一个奇数) 默认值分别是 32768 和 60999.
ip_local_reserved_ports - 逗号分隔范围列表。
指定为已知第三方应用程序保留的端口。
这些端口不会被自动端口分配使用(例如,当使用端口号 0 调用 connect() 或者 bind() 时)。
显式端口分配行为不变。
用于输入和输出的格式是逗号分隔的范围列表(例如,端口 1. 2. 3. 4 和 10 的“1,2-4,10-10”)。
写入文件将清除所有先前保留的端口并使用输入中给定的端口更新当前列表。
注意:ip_local_port_range 和 ip_local_reserved_ports 设置是独立的,内核在确定哪些端口可用于自动端口分配时会考虑这两者。
我们可以保留不在当前 ip_local_port_range 中的端口,例如:
$ cat /proc/sys/net/ipv4/ip_local_port_range 32000 60999 $ cat /proc/sys/net/ipv4/ip_local_reserved_ports 8080,9148
虽然这是多余的。
但是,如果稍后端口范围更改为包含保留端口的值,则此类设置很有用。
这篇文章提供了有关在第三方应用程序需要这些端口时如何在 CentOS/RHEL 系统上保留特定端口范围的教程。
例如,应用程序 A 需要使用“10000 到 15000”之间的端口范围,应用程序 B 需要使用“20000 到 25000”之间的端口范围。
这些端口介于“10000 到 15000”和“之间” 20000 到 25000" 将专门为应用程序 A 和 B 保留。
在 CentOS/RHEL 操作系统端,必须保留第三方应用程序所需的端口范围,重要的是要注意端口范围不会严格为任何特定应用程序保留端口,而是在应用程序端是必须设置该特定应用程序要使用的端口的地方。
要更改端口范围,只需修改文件 proc/sys/net/ipv4/ip_local_port_range 并更改相应的所需值。
1. 查看当前端口范围:
# cat /proc/sys/net/ipv4/ip_local_port_range
例如:
# cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000
或者
# sysctl net.ipv4.ip_local_port_range
例如:
# sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000
2. 使用所需值修改端口范围:
# echo 10000 25000 > /proc/sys/net/ipv4/ip_local_port_range
或者
# sudo sysctl -w net.ipv4.ip_local_port_range="10000 25000"
3.修改/etc/sysctl.conf文件
编辑配置文件 /etc/sysctl.conf 文件,进行永久更改并添加以下行:
# vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 10000 25000
要在“ip_local_port_range”下为特定目的保留的端口范围之外保留一个或者多个特定端口,请将端口添加到以下文件:
/proc/sys/net/ipv4/ip_local_reserved_ports