Skip to content

Linux系统 Cannot assign requested address

问题原因

压测时发起的链接多,又没有开启回收tcp_tw_reuse,导致发起压测的机器产生了大量TIME_WAIT状态的链接。

shell
netstat -nap | grep -i time_wait

解决方案

修改sysctl文件,开启timewait重用功能

shell
sudo vim /etc/sysctl.d/99-sysctl.conf

文件末尾添加以下两行

properties
net.ipv4.ip_forward = 1
net.ipv4.tcp_tw_reuse=1

添加完成后,使用sysctl -p 使配置立即生效

shell
sudo sysctl -p /etc/sysctl.d/99-sysctl.conf

在Ubuntu 22.04环境下没有net.ipv4.tcp_tw_recycle配置项,其他Linux系统根据测试效果酌情添加recycle配置项。

参考链接

Cannot assign requested address 的问题