[步骤] Linux 应用可自动随机使用的 IPv4 端口号范围的设置

步骤一:查看应用可自动随机使用的 IPv4 端口号范围

1.1 方法一:查看 /proc/sys/net/ipv4/ip_local_port_range

# cat /proc/sys/net/ipv4/ip_local_port_range
32768 65536

(补充:从这里的输出结果可以看出应用可自动随机使用的 IPv4 端口号是从 32768 到 65536)

1.2 方法二:查看 sysctl 参数

# sudo sysctl -a | grep net.ipv4.ip_local_port_range
net.ipv4.ip_local_port_range = 32768 65536

(补充:从这里的输出结果可以看出应用可自动随机使用的 IPv4 端口号是从 32768 到 65536)

步骤二:设置应用可随机自动使用的 IPv4 端口号范围

2.1 临时设置应用可自动随机使用的 IPv4 端口号范围

# echo "32768 65536" > /proc/sys/net/ipv4/ip_local_port_range

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 32768 到 65536 为例)

2.2 永久应用应用可自动随机使用的 IPv4 端口号范围

2.2.1 修改 /etc/sysctl.conf 文件

# vim /etc/sysctl.conf

添加以下内容:

......
net.ipv4.ip_local_port_range = 32768 65536

(补充:这里以设置应用可自动随机使用的 IPv4 端口号是从 32768 到 65536 为例)

2.2.2 让刚刚修改的 /etc/sysctl.conf 文件里的参数生效

# sysctl -p

[CONTENT] System local ports batch occupation

Content One: Occupy system local ports manually

# startport=33000;endport=34000;for i in $(seq $startport $endport);do nc -lk $i &;done

(Add: Take start port is 33000 and end port is 34000 as an example here)

Content Two: Release all ports which are opened manually (kill all nc command processes)

# for i in $(ps -aux | grep nc | grep '\-lk' | awk '{print $2}');do kill $i; done