在Linux的发行版本中,都存在一个/proc/目录,有的也称它为Proc文件系统。在这个目录中,包括了一些特殊的文件,不仅能用来反映内核的现行状态和查看硬件信息,而且,有些文件还允许用户来修改其中的内容,以调节内核的现行工作状态,例如/proc/sys/子目录下的文件。
与/proc/目录中其它目录不相同的是,/proc/sys/目录下的文件不仅能提供系统的有关信息,而且还允许用户立即停止或开启内核的某些特性及功能。在/proc/sys/目录中的/proc/sys/net/子目录更是与网络息息相关,我们可以通过设置此目录下的某些文件来开启与网络应用相关的特殊功能,同时,也可以通过设置这个目录下的某些文件来保护我们的网络安全。因此,作为一名Linux下的网络管理员,就很有必要详细了解/proc/sys/net/目录下文件的各种功能和设置方法,让它能更好地为我们工作。
一、/proc/sys/net/目录说明。
/proc/sys/net/目录主要包括了许多网络相关的主题,例如:appletalk/,ethernet/,ipv4/,ipx/,及ipv6/。通过改变这些目录中的文件,网络管理员能够在系统运行时调整相关网络参数。虽然在Linux中还有很多有关网络的配置方法,但熟悉此目录中的相关内容对网络应用是有很大的帮助的。
在/proc/sys/net/目录下有两个目录,与现在的IPV4网络的运行息息相关,调整这两个目录下的某些文件的参数,能为我们的网络应用带到意想不到的效果,这两个目录就是/proc/sys/net/core/目录和/proc/sys/net/ipv4/目录,下面笔者将会对这两个目录中的重要文件分别作一个详细的说明。
1、/proc/sys/net/core/目录。
此目录中包括许多设置用来控制Linux内核与网络层的交互,即当网络有什么动作时,内核做出什么样的相应反应。
在其中有以下的一些重要文件:
(1)、message_burst:设置每十秒写入多少次请求警告;此设置可以用来防止DOS攻击,缺省设置为50;
(2)、message_cost:设置每一个警告的度量值,缺省为5,当用来防止DOS攻击时设置为0;
(3)、netdev_max_backlog:设置当个别接口接收包的速度快于内核处理速度时允许的最大的包序列,缺省为300;
(4)、optmem_max:设置每个socket的最大补助缓存大小;
(5)、rmem_default:设置接收socket的缺省缓存大小(字节);
(6)、rmem_max:设置接收socket的最大缓存大小(字节);
(7)、wmem_default:设置发送的socket缺省缓存大小(字节);
(8)、wmem_max:设置发送的socket最大缓存大小(字节)。