Chinaunix首页 | 论坛 | 博客
  • 博客访问: 306157
  • 博文数量: 65
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 284
  • 用 户 组: 普通用户
  • 注册时间: 2013-11-21 15:10
文章分类
文章存档

2016年(3)

2015年(51)

2014年(8)

2013年(3)

分类: 网络与安全

2015-07-15 14:19:28

场景:一台服务器上运行了多个程序各个程序有自己固定的端口,程序会对外发起连接,所以程序除占用自身的固定端口还用占用其他随机端口。
如果应用程序对外tcp连接占用的是其他应用程序的固定端口,就会造成这个应用程序不能启动,提示端口已经被占用。

解决方法:定义系统对外发起的tcp连接占用的端口范围。

具体方法:

1、 vim /etc/sysctl.conf  加入
 

2、 定义对外访问端口范围

net.ipv4.ip_local_port_range = 起始端口 终止端口(例如net.ipv4.ip_local_port_range = 5000 6550,linux的端口范围是1-65535;默认
对外的端口
范围:32768-61000;1-1024是系统端口;可设置的端口范围是1024-65535。保证设置的端口范围中不包括应用程序的端口,端口范围尽
可能的大。

3、 打开linux快速释放TIME_WAIT的功能(尽量避免端口不够用的现象):

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_timestamps = 1

4、运行sysctl -p

阅读(2309) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~