zoukankan      html  css  js  c++  java
  • linux路由服务

    本文介绍怎样使用linux创建一台简单的路由server。

    主要包含几个參数的设置:ip_forward和rp_filter。

    1.开启IP forwarding

    # 重新启动后失效
    $ echo "1" > /proc/sys/net/ipv4/ip_forward

    或者
    编辑/etc/sysctl.conf,做例如以下改动
    net.ipv4.ip_forward = 1

    # sysctl用于在内核工作时直接改动内核參数
    $ sysctl -p
       

    2. 关闭rp_filter

    echo "0"> /proc/sys/net/ipv4/conf/<device>/rp_filter 
    或者
    echo "0"> /proc/sys/net/ipv4/conf/all/rp_filter

    默认情况下,为了防止IP欺骗(spoofing)攻击,假设收到packet的源地址,和接收网卡的网络不一致。那么packet将被丢弃。


    当跨两个网络通信时。会出现这个问题。例如以下图:
    Host_A <192.168.1.10>
                         |
                  <192.168.1.1>
                     Router_A
                   <192.168.2.1>
                           |
                    <192.168.2.254>
                    Router_B 
                   <192.168.3.254>
                           |
    Host_B<192.168.3.10>

    主机A发送packet给主机B时。packet<src:192.168.1.10, dst:192.168.3.10>到达Router_B时,因为源地址(192.168.1.10)和Router接收网卡(192.168.2.254)不在一个网络,将被直接丢弃。




  • 相关阅读:
    三元判断大小奇偶
    键盘输入 循环 for if-else while 等循环
    三元 导包
    进制
    符号等
    第二模块 4.1 模块的种类和介绍
    第二模块 练习题
    第二模块 3.15 迭代器
    第二模块 3.14 通过生成器实现并发编程
    第二模块 3.13 生成器
  • 原文地址:https://www.cnblogs.com/gcczhongduan/p/5316302.html
Copyright © 2011-2022 走看看