第三十六章:路由:相关主题

用户空间配置工具:

路由的配置可以使用net-tools软件包(route命令)和IPROUTE2(ip rouute 和ip rule)软件包。net-tools不能配置任何高级路由功能,如多路径和策略路由。

统计数据:

路由代码对其不同的方面都进行统计,例如,路由查找和垃圾回收。统计数据是针对每个cpu的,每个cpu各自维护自己的统计数据。这些统计数据可以通过/proc/net/stat/rt_cache读取,但是输出信息没有格式化,不易阅读,可以通过IPROUTE2包中的工具Instat工具来阅读。

通过/proc文件系统调整:

/proc/sys/net/ipv4   和  /proc/sys/net/ipv4/route 以及   /proc/sys/net/ipv4/conf这三个目录下的文件输出内部数据结构用于调整路由,这些文件是可写的。

/proc/net/和/proc/net/stat这两个目录下的文件是只读的

/proc/sys/net/ipv4目录:

    ip_forward:包含了一个用于全局开启和关闭ip转发的布尔类型标识,但是可以被每个设备上的ip转发标识值覆盖。

    icmp_echo_ignore_broadcast:一个icmp调整参数,被路由代码用于确定如何处理定向广播,广播过滤只能在这里开启和关闭,全局生效(不针对某个设备)。

    

/proc/sys/net/ipv4/route目录:

    error_burst

    error_cost:这两个用于实现对ICMP_UNREACHABLE消息的限速,参见第三十五章“路由失败一节”。

    max_size

    gc_thresh

    gc_min_interval

    gc_timeout

    gc_elasticity

    gc_interval:这几个用于路由缓存垃圾收集算法,参见第三十三章。

    flush

    min_delay

    max_delay:这几个用于控制路由缓存的刷新。参见三十三章“刷新路由缓存”一节。

    min_adv_mss:这个值和tcp最大报文段长度(MSS)相关。

    min_pmtu

    mtu_expires:当与一个路由缓存表项相关的PMTU变化时,路由缓存的调度在mtu_expires秒之后到期。参见三十章“使用路由缓存项过期的事件范例”一节。

    redirect_load

    redirect_number

    redirect_silence:用于实现对ICMP_REDIRECT限速,参见三十三章“出口ICMP REDIRECT限速”一节。

    secret_interval:路由缓存每隔1/secret_interval秒被定期冲洗。参见三十三章“刷新路由缓存”一节。

/proc/sys/net/ipv4/conf目录:

在该目录下每个注册的网络设备都有各自的子目录,这使用户可以对每个设备配置各种协议的路由参数。除了每个设备对应的子目录外,还有两个特殊的子目录:

    default:用户没有明确配置的所有参数都是用这个目录下的默认值来初始化。

    all:用户在这里配置的值应用于所有设备。

将每个设备上的配置值和全局配置值进行组合时,以及将all目录下的变量改变传播给所有设备时,不同的功能呈现不同的行为:

    对某些字段,将设备上的值和全局配置值做AND操作,此时,只有全局配置和设备配置都开启时,该功能才开启。

    对某些字段,将设备上的值和全局配置值做OR操作。

    对某些字段,不考虑全局值。

accept_redirects:开启或关闭icmp重定向处理

send_redirects:当值为真,且检测到非最优路由的必要条件时,允许系统产生ICMP重定向消息。

accept_source_route:开启或关闭IP源路由选项。

forwarding:开启或关闭单播的转发

mc_forwarding:开启或关闭多播的转发

rp_filter:当这个标识为真时,如果某个入口封包的源IP地址通过非对称路由可达,丢弃该封包。参见三十一章“反向路径过滤”一节。

secure_redirects

shared_media:当secure_redirects被设置时,只有当消息中建立的网关在本地是一个已知网关是,ICMP_REDIRECT消息才被接收。但是,若shared_media为真时,即使ICMP_REDIRECT中建议的下一跳网关不在同一个网段内,也接收。

log_maritans:当设置该标识时,内核接收到封包中含有非法的IP地址时产生日志消息。参见三十一章“Verbose”一节。

/proc/net和/proc/net/stat目录:

    route

    rt_cache:可以读取这两个文件,分别转出路由表(ip_fib_main_table)和路由缓存。它们不显示用户定义的路由表内容,这些路由表时当内核支持策略路由时才创建的。

    stat/rt_cache:一组统计数据

    rt_acct:由在第三十一章介绍的基于路由表的分类器所收集的计费信息。可以使用IPROUTE2包中的rtacct命令得到更好的输出格式。

    ip_mr_cache

    ip_mr_vif:由多播路由使用,本书没有讨论。

    

开启和关闭转发:

/proc/sys/net/ipv4/conf/device_name/forwarding:对device_name设备开启和关闭转发。

/proc/sys/net/ipv4/conf/all/forwarding:对这个文件的改变将应用到所有网络设备,包括不是为UP的设备,但不影响以后注册的设备。

/proc/sys/net/ipv4/conf/default/forwarding:对没有明确配置的设备,这是其默认转发状态。该值只影响以后注册的设备。

/proc/sys/net/ipv4/ip_forward:改变这个和改变/proc/sys/net/ipv4/conf/all/forwarding具有同样的效果。可以把前者看作是后者的别名。

后面是路由部分常见的数据结构各字段的详细说明:略。

    

    

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值