Linux中网络参数的意义及其应.docx

上传人:b****3 文档编号:4734072 上传时间:2022-12-08 格式:DOCX 页数:5 大小:19.01KB
下载 相关 举报
Linux中网络参数的意义及其应.docx_第1页
第1页 / 共5页
Linux中网络参数的意义及其应.docx_第2页
第2页 / 共5页
Linux中网络参数的意义及其应.docx_第3页
第3页 / 共5页
Linux中网络参数的意义及其应.docx_第4页
第4页 / 共5页
Linux中网络参数的意义及其应.docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

Linux中网络参数的意义及其应.docx

《Linux中网络参数的意义及其应.docx》由会员分享,可在线阅读,更多相关《Linux中网络参数的意义及其应.docx(5页珍藏版)》请在冰豆网上搜索。

Linux中网络参数的意义及其应.docx

Linux中网络参数的意义及其应

Linux中网络参数的意义及其应

 在Linux中,我们可以根据不同的需求来调整/proc/sys/net/ipv4/目录下的内核网络参数,通过合理的配置这里内核网络参数,从而达到提高网络的安全性和系统的稳定性的目的。

因为这方面的文献比较少,所以我们不可能进行全面的介绍。

现在已经有linux组织正在从事这方面的文档的写作,相信在不久的将来,我们就会看到比较完整的文档。

下面我们就来看一看一些比较常用的内核网络参数。

  注意:

  1.参数值带有速度(rate)的参数不能在loopback接口上工作。

  2.因为内核是以HZ为单位的内部时钟来定义速度的,通常速度为100HZ,所以设定一个参数值为100就表示允许1个包/秒,假如为20则允许5个包/秒。

  3.所有内核网络参数配置文件位于/proc/sys/net/ipv4/目录下。

  一、icmp相关内核配置参数

  概述:

通常我们使用icmp包来探测目的主机上的其它协议(如tcp和udp)是否可用。

比如包含"destinationunreachable"信息的icmp包就是最常见的icmp包。

  1.icmp_destunreach_rate:

设置内容为"DestinationUnreachable"icmp包的响应速率。

设置值应为整数。

  应用实例:

  假设有A、B两部主机,首先我们在主机A上执行以下ipchains语句:

ipchains-Ainput-picmp-jREJECT

  这里的REJECT和DENY不同,DENY会丢掉符合条件的包如同没有接收到该包一样,而REJECT会在丢掉该包的同时给请求主机发回一个"DestinationUnreachable"的icmp。

  然后在主机B上ping主机A,这时候我们会发现"DestinationUnreachable"icmp包的响应速度是很及时的。

接着我们在主机A上执行:

echo"1000">/proc/sys/net/ipv4/icmp_destunreach_rate

  也即每10秒钟响应一个"DestinationUnreachable"的icmp包。

  这时候再从主机B上ping主机A就会发现"DestinationUnreachable"icmp包的响应速度已经明显变慢,我很好奇的测试了一下,发现刚好是每10秒响应一次。

  2.icmp_echo_ignore_broadcasts:

设置是否响应icmpecho请求广播,设置值应为布尔值,0表示响应icmpecho请求广播,1表示忽略。

  注意:

Windows系统是不响应icmpecho请求广播的。

  应用实例:

  在我的RedHat6.x和RedHat7上该值缺省为0,这样当有个用ping我的服务器所在的网段的网络地址时,所有的linux服务器就会响应,从而也能让让该用户得到我的服务器的ip地址,可以执行

echo"1">/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

  来关闭该功能。

从而防止icmp风暴,防止网络阻塞。

  3.icmp_echoreply_rate:

设置系统响应icmpecho请求的icmp包的响应速度,设置值为整数。

  应用实例:

  假设有A、B两部主机,首先我们在主机B上ping主机A,可以看到响应很正常,然后在主机A上执行echo"1000">/proc/sys/net/ipv4/icmp_echoreply_rate。

也即每10秒钟响应一个icmpecho请求包。

然后再ping主机A就可以看到响应速度已经变成10秒一次。

合理的调整该参数的值来防止icmp风暴。

  4.icmp_echo_ignore_all:

设置系统是否忽略所有的icmpecho请求,如果设置了一个非0值,系统将忽略所有的icmpecho请求。

其实这是icmp_echoreply_rate的一种极端情况。

参数值为布尔值,1表示忽略,0表示响应。

  5.icmp_paramprob_rate:

当系统接收到数据报的损坏的ip或tcp头时,就会向源发出一个包含有该错误信息的icmp包。

这个参数就是用来设置向源发送这种icmp包的速度。

当然,在通常情况下ip或tcp头出错是很少见的。

参数值为整数。

  6.icmp_timeexceed_rate:

数据报在网络上传输时,其生存时间(timetolive)字段会不断减少,当生存时间为0时,正在处理该数据报的路由器就会丢弃该数据报,同时给源主机发送一个"timetoliveexceeded"的icmp包。

该参数就是用来设置这种icmp包的发送的速度。

当然,这通常用于充当路由器的linux主机。

 二、ip相关内核配置参数

  Linux内核网络参数中关于ip的配置参数通常是用来定义或调整ip包的一些特定的参数,除此之外还定义了系统的一些网络特性。

  1.ip_default_ttl:

设置从本机发出的ip包的生存时间,参数值为整数,范围为0~128,缺省值为64。

在Windows系统中,ip包的生存时间通常为128。

如果你的系统经常得到"Timetoliveexceeded"的icmp回应,可以适当增大该参数的值,但是也不能过大,因为如果你的路由的环路的话,就会增加系统报错的时间。

  2.ip_dynaddr:

该参数通常用于使用拨号连接的情况,可以使系统动能够立即改变ip包的源地址为该ip地址,同时中断原有的tcp对话而用新地址重新发出一个syn请求包,开始新的tcp对话。

在使用ip欺骗时,该参数可以立即改变伪装地址为新的ip地址。

该参数的参数值可以是:

  1:

启用该功能

  2:

使用冗余模式启用该功能

  0:

禁止该功能

  应用实例:

  在使用ipchains配置ip欺骗带动局域网共享一个ppp连接上网时,有时会出现刚开时连接一个站点连不通,再次刷新又可以连接的情况,这时候就可以设置该参数的值为1,从而立即改变伪装地址为新的ip地址,就可以解决这类问题。

命令为:

echo"1">/proc/sys/net/ipv4/ip_dynaddr

  3.ip_forward:

可以通过该参数来启用包转发功能,从而使系统充当路由器。

参数值为1时启用ip转发,为0时禁止ip转发。

注意,我们可以在单网卡或双网卡的主机上实现ip转发。

  应用实例:

  假设我们使用一部装有双网卡的linux主机充当防火墙,这时候我们就必须执行以下命令来打开ip转发功能:

echo"1">/proc/sys/net/ipv4/ip_forward

  4.ip_local_port_range:

设置当本地系统向外发起tcp或udp连接请求时使用的端口范围。

设置值为两个整数,缺省为"10244999"。

  应用实例:

echo"14506000">/proc/sys/net/ipv4/ip_local_port_range

  三、tcp相关内核配置参数

  通过tcp配置参数可以控制tcp会话过程中的各个方面。

  a)tcp_fin_timeout:

在一个tcp会话过程中,在会话结束时,A首先向B发送一个fin包,在获得B的ack确认包后,A就进入FINWAIT2状态等待B的fin包然后给B发ack确认包。

这个参数就是用来设置A进入FINWAIT2状态等待对方fin包的超时时间。

如果时间到了仍未收到对方的fin包就主动释放该会话。

参数值为整数,单位为秒,缺省为180秒。

  b)tcp_syn_retires:

设置开始建立一个tcp会话时,重试发送syn连接请求包的次数。

  参数值为小于255的整数,缺省值为10。

假如你的连接速度很快,可以考虑降低该值来提高系统响应时间,即便对连接速度很慢的用户,缺省值的设定也足够大了。

  c)tcp_window_scaling:

设置tcp/ip会话的滑动窗口大小是否可变。

参数值为布尔值,为1时表示可变,为0时表示不可变。

Tcp/ip通常使用的窗口可达到65535字节,对于高速网络,该值可能太小,这时候如果启用了该功能,可以使tcp/ip滑动窗口大小增大数个数量级,从而提高数据传输的能力。

 四、有关防止ip欺骗攻击的内核网络参数

  假设有如下的情景:

  1.1.1.12.2.2.2

  在缺省状态下,路由器根据包的目的地址进行转发,所以路由器缺省是对来自任何地方的包进行转发的。

如上图所示,假如路由器的2.2.2.2接口(也即广域网接口)接收到一个包,该包的源地址为1.1.1.100(也即为Intranet地址),虽然这是不可能或者说是不合理的,但是由于路由器的特性,路由器还是会将这个不合法的包转发到Intranet。

从而让黑客有了可乘之机,为其进行ip欺骗攻击打开了方便之门。

  幸好,我们可以通过Linux的内核系统参数"反向路径过滤"来防止这种情况,该参数位于/proc/sys/net/ipv4/conf/下的各个子目录中的rp_filter文件。

参数值为整数,可能的值有:

  2-进行全面的反向路径过滤,推荐在边缘路由器上使用。

但是要注意,在复杂的网络环境中,如果使用了静态路由或rip、ospf路由协议时,不推荐使用该值。

  1-是该参数的缺省值,它只对直接连接的网络进行反向路径过滤。

  0-不进行反向路径过滤。

  应用实例:

  建立如下的脚本,文件名为rp.sh

#/bin/bashforiin/proc/sys/net/ipv4/conf/*/rp_filter;doecho2>$idone

  然后更改文件权限chmod755rp.sh

  最后执行./rp.sh

  五、针对每一网络接口的内核网络参数

  通过针对每一网络接口的内核网络参数,你可以为诸如eth0、eth1等具体的网络接口指

定响应的内核网络参数。

  注意:

/proc/sys/net/ipv4/conf/all/下的参数将应用于所有的网络接口。

  1.accept_redirects:

该参数位于/proc/sys/net/ipv4/conf/DEV/accept_redirects(DEV表示具体的网络接口),如果你的主机所在的网段中有两个路由器,你将其中一个设置成了缺省网关,但是该网关在收到你的ip包时发现该ip包必须经过另外一个路由器,这时这个路由器就会给你发一个所谓的"重定向"icmp包,告诉将ip包转发到另外一个路由器。

参数值为布尔值,1表示接收这类重定向icmp信息,0表示忽略。

在充当路由器的linux主机上缺省值为0,在一般的linux主机上缺省值为1。

建议将其改为0,或者使用"安全重定向"(见下文)以消除安全性隐患。

  2.log_martians:

将包含非法地址信息的ip包记录到内核日志。

参数值为布尔值。

  应用实例:

  上面我们讲过rp_filter反向路径过滤参数,同时我们可以执行下面的语句

echo"1">/proc/sys/net/ipv4/conf/all/log_martians

  然后就可以将进行ip假冒的ip包记录到/var/log/messages。

  3.forwarding:

启用特定网络接口的ip转发功能。

参数值为布尔值,1表示进行记录。

  应用实例:

echo"1">/proc/sys/net/ipv4/conf/eth0/forwarding

  4.accept_source_route:

是否接受含有源路由信息的ip包。

参数值为布尔值,1表示接受,0表示不接受。

在充当网关的linux主机上缺省值为1,在一般的linux主机上缺省值为0。

从安全性角度出发,建议你关闭该功能。

  5.secure_redirects:

前面我们已经提到过"安全重定向"的概念,其实所谓的"安全重定向"就是只接受来自网关的"重定向"icmp包。

该参数就是用来设置"安全重定向"功能的。

参数值为布尔值,1表示启用,0表示禁止,缺省值为启用。

  6.proxy_arp:

设置是否对网络上的arp包进行中继。

参数值为布尔值,1表示中继,0表示忽略,缺省值为0。

该参数通常只对充当路由器的linux主机有用。

Word是学生和职场人士最常用的一款办公软件之一,99.99%的人知道它,但其实,这个软件背后,还有一大批隐藏技能你不知道。

掌握他们,你将开启新世界的大门。

Tab+Enter,在编过号以后,会自动编号段落

Ctrl+D调出字体栏,配合Tab+Enter全键盘操作吧

Ctrl+L左对齐,Ctrl+R右对齐,Ctrl+E居中

Ctrl+F查找,Ctrl+H替换。

然后关于替换,里面又大有学问!

有时候Word文档中有许多多余的空行需要删除,这个时候我们可以完全可以用“查找替换”来轻松解决。

打开“编辑”菜单中的“替换”对话框,把光标定位在“查找内容”输入框中,单击“高级”按钮,选择“特殊字符”中的“段落标记”两次,在输入框中会显示“^P^P”,然后在“替换为”输入框中用上面的方法插入一个“段落标记”(一个“^P”),再按下“全部替换”按钮。

这样多余的空行就会被删除。

Ctrl+Z是撤销,那还原呢?

就是Ctrl+Y,撤销上一步撤销!

比如我输入abc,按一下F4,就会自动再输入一遍abc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 教育学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1