• linux路由


    https://www.cnblogs.com/luckyall/p/6418965.html


    https://www.cnblogs.com/dapaitou2006/p/6564622.html
    一、启用Linux路由功能
    配置文件在 /etc/sysctl.conf 里的 net.ipv4.ip_forwartd=1启用路由功能
    root@t1:~# cat /proc/sys/net/ipv4/ip_forward
    0
    默认是关闭的

    二、设置路由转发
    1添加静态路由
    在linux1/etc/sysconfig/nework-scripts/route-eth1 创建一个route-eth1的文件,添加如下:
    ADDRESS1=192.168.80.0
    NETMASK1=255.255.255.0
    GATEWAY1=192.168.20.20
    或者: route add -net 192.168.80.0 netmask 255.255.255.0 gw 192.168.20.20

    在linux2/etc/sysconfig/nework-scripts/route-eth0 创建一个route-eth0的文件,添加如下:
    ADDRESS1=192.168.10.0
    NETMASK1=255.255.255.0
    GATEWAY1=192.168.20.10
    或者: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10

    2添加默认路由
    如果添加的是默认路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。

    三、策略路由

    Linux 最多可以支持 255 张路由表,其中有 3 张表是内置的,不能删除。
    表255 本地路由表(Local table):本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
    表254 主路由表(Main table) :如果没有指明路由所属的表,所有的路由都默认都放在这个表里。旧的路由工具(如route)所添加的路由都会加到这个表。
    表253 默认路由表 (Default table):这个表的作用不清楚,一般也用不到
    表 0 保留


    root@t1:~# ip rule ls
    0: from all lookup local
    32766: from all lookup main
    32767: from all lookup default

    默认的路由策略
    通过 ip rule ls 可以看到 Linux 默认的路由策略:

    可以看到:
    1. 有三条策略,它们的优先级分别是 0,32766 和 32767;
    2. 这些策略都是根据源地址来选择路由表,它们适用于任何源地址的情况(from all);
    3. 0 级的策略优先级最高,它选定 local 表,这适应于目的地址是本机地址或者广播地址的情况。
    4. 32766 级的策略选定 main 表,它适用于目的地址为普通地址的情况,这张表也就是通过工具 ‘route’ 看到的那张路由表。

    在linux1上创建策略路由表和策略

    一、创建策略路由表
    [root@www ~]# vi /etc/iproute2/rt_tables

    # reserved values
    255 local
    254 main
    253 default
    0 unspec

    251 dianxin #电信
    252 liantong #联通
    # local
    #1 inr.ruhep

    添加静态路由到表中。说明到80网段有两个路径到。

    [root@www ~]# ip route add 192.168.80.0/24 via 192.168.20.20 table 251
    [root@www ~]# ip route add 192.168.80.0/24 via 192.168.30.20 table 252
    [root@www ~]# ip route show table 251
    192.168.80.0/24 via 192.168.20.20 dev eth1
    [root@www ~]# ip route show table 252
    192.168.80.0/24 via 192.168.30.20 dev eth2

    二、创建策略
    创建规则:说明100地址回去的路径走"table 251"的路由表。pref是优先级,独立IP地址的优先级当然更高。
    [root@www ~]# ip rule add from 192.168.10.100/32 table 251 pref 10
    [root@www ~]# ip rule add from 192.168.10.0/24 table 252 pref 100

    [root@www ~]# ip rule show
    0: from all lookup 255
    10: from 192.168.10.100 lookup dianxin
    100: from 192.168.10.0/24 lookup liantong
    32766: from all lookup main
    32767: from all lookup default

    ======================================


    ip route add 192.168.2.0/24 via 192.168.1.1
    ip route add 192.168.6.0/24 via 192.168.2.1
    ip route add 192.168.7.0/24 via 192.168.2.1 dev eth1
    ip route del 192.168.7.0/24 via 192.168.2.1 dev eth1
    ip route del 192.168.2.0/24 via 192.168.1.1
    ip route add 192.168.2.0/24 via 192.168.1.15 metric 10
    ip route add default via 192.168.3.254 #添加默认路由
    ip route append 192.168.2.0/24 via 192.168.1.12 #追加一个指定网络的路由,为了平滑切换网关使用
    ip route change 192.168.2.0/24 via 192.168.1.11
    ip route replace 192.168.2.0/24 via 192.168.1.111
    ip route flush 192.168.2.0/24 #这个是清理所有192.168.2.0/24相关的所有路由,有时候设置错网关存在多条记录,就需要一次性清空相关路由再进行添加

    ip addr add 192.168.0.193/24 dev wlan0
    ip addr del 192.168.0.193/24 dev wlan0

    ip route get 192.168.100.1
    192.168.100.1 via 192.168.3.254 dev bond1 src 192.168.3.52 uid 0
    cache


    使用route命令添加一条静态路由:
    route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1
    使用route命令添加一条路由,并指定eth1网卡:
    route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
    使用route命令添加一条指向某一个主机的路由:
    route add -host 192.168.5.125 gw 192.168.2.1

    (不指定网关,做为路由,自己就是网关)

    补充:如果机器中存在多块网卡,我们可以为不同网卡指定不同的静态路由。
    比如还有eth1,eht2;那么方法是一样的,我们依次为每块网卡创建一个对应的路由配置文件。route-eth0;route-eth1;route-eth2

    1添加静态路由
    在linux1/etc/sysconfig/nework-scripts/route-eth1 创建一个route-eth1的文件,添加如下:
    ADDRESS1=192.168.80.0
    NETMASK1=255.255.255.0
    GATEWAY1=192.168.20.20
    或者: route add -net 192.168.80.0 netmask 255.255.255.0 gw 192.168.20.20

    在linux2/etc/sysconfig/nework-scripts/route-eth0 创建一个route-eth0的文件,添加如下:
    ADDRESS1=192.168.10.0
    NETMASK1=255.255.255.0
    GATEWAY1=192.168.20.10
    或者: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10

    2添加默认路由
    如果添加的是默认路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。

  • 相关阅读:
    我的公众号:WebHub
    The Qt Resource System
    Node.js Streams:你需要知道的一切
    2019春招前端面试预测题!
    BeamNG.drive物理引擎评鉴
    EcmaScript对象克隆之谜
    死锁与囚徒困境的辩证关系
    停止学习框架
    qt5android
    opencvKmeans图像分割根据颜色
  • 原文地址:https://www.cnblogs.com/createyuan/p/10725358.html
Copyright © 2020-2023  润新知