Linux proc文件系统小记

序言:

        当linux系统存在多个网口时(也可以是一个网口配置两个IP),每个网口配置不同的IP地址,并且分别连接到不同的电脑上,电脑分别配置与相连的网口统一网段的IP且将电脑网关设置为linux的网口IP。

        内核在默认情况下是不会转发这两个网卡间的数据的,这是为了系统的安全性采取的措施。 但是这个情况可以进行修改,从而使内核可以转发数据而实现两个不同网段的电脑实现通信。

        修改方法如下:
            echo 1 > /proc/sys/net/ipv4/ip_forward

正文:

        Linux的proc文件系统 简介:

           proc文件系统是系统内核在运行时产生的一个伪文件系统,能够反映出当前内核的相关状态信息,也可以通过对/proc/目录下的特定文件进行配置来实现对内核的相关控制。与/proc/目录中其它目录不相同的是,/proc/sys/目录下的文件不仅能提供系统的有关信息,而且还允许用户立即停止或开启内核的某些特性及功能。在/proc/sys/目录中的/proc/sys/net/子目录更是与网络息息相关,我们可以通过设置此目录下的某些文件来开启与网络应用相关的特殊功能,同时,也可以通过设置这个目录下的某些文件来保护我们的网络安全。
         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最大缓存大小(字节)。
           2) /proc/sys/net/ipv4/目录:
         此目录中的内容用来添加网络设置,在其中的许多设置,可以用来阻止对系统的攻击,或用来设置系统
    的路由功能。
    其中有以下的这些重要的文件:
      (1)icmp_destunreach_rate、icmp_echoreply_rate、icmp_paramprob_rate、icmp_timeexeed_rate:设置
    发送和回应的最大icmp包的速率,最好不要为0;
      (2)icmp_echo_ignore_all和icmp_echo_ignore_broadcasts:设置内核不应答icmp echo包,或指定的广
    播,值为0是允许回应,值为1是禁止;
      (3)ip_default_ttl:设置IP包的缺省生存时间(TTL),增加它的值能减少系统开销;
      (4)ip_forward:设置接口是否可以转发不同接口间的包,缺省为0,不转发; 设置为1时允许网络进行包转发;
      (5)ip_local_port_range:当本地需要端口时指定TCP或UDP端口范围。第一数为低端口,第二个数为高端
    口;
      (6)tcp_syn_retries:提供限制在建立连接时重新发送回应的SYN包的次数;
      (7)tcp_retries1:设置回应连入重送的次数,缺省为3;
      (8)tcp_retries2:设置允许重送的TCP包的次数,缺省为15

         在/proc虚拟文件系统中,常用到的有 

 /proc/sys/net/ipv4/ :  ping包的相应设置, 内核是否对数据进行转发设置。

/proc/sys/net/class/status: 对网口的流量统计信息

/sys/class/net/inf_xxx/statistics/xxx :   这个是/sys 文件系统的。。。待续

(看到一篇详细的文章: https://blog.csdn.net/goldlevi/article/details/7705178)

你可能感兴趣的:(Linux高级网络编程,Linux,/proc文件系统)