Linux 路由 策略路由

目录
  • Linux 路由 策略路由

    • 查看IP策略

    • 添加IP策略规则

    • 删除IP策略规则

    • 根据源地址决定路由表

    • 根据目的地址决定路由表

    • 根据网卡设备决定路由表

    • 此外还可以根据其他条件进行设置,例如tos等等

    • 编辑路由表配置文件:/etc/iproute2/rt_tables添加删除修改路由表

    • 一、路由表

    • 二、IP策略

    • 三、永久生效,写入配置文件: /etc/sysconfig/network-scripts/rule-ethX

注意:本文中使用;隔开的命令等价

一、路由表

从Linux-2.2开始,内核把路由归纳到许多路由表中,这些表都进行了编号,编号数字的范围是1到255。
可以在路由表配置文件:/etc/iproute2/rt_tables 中为路由表命名。

默认情况下,所有的路由都会被插入到表main(编号254)中。在进行路由查询时,内核只使用路由表main。

编辑路由表配置文件:/etc/iproute2/rt_tables添加删除修改路由表

[root@centos7 ~]# cat /etc/iproute2/rt_tables
## reserved values#255local254main253default0unspec## local##1inr.ruhep

二、IP策略

查看IP策略

[root@centos7 ~]# ip ru ls0:from all lookup local
32766:from all lookup main
32767:from all lookup default

第一列:冒号之前的数字,表示该路由表被匹配的优先顺序,数字越小,越早被匹配。范围是0~32767。默认0、32766、32767三个优先级别已被占用。如果在添加规则时没有定义优先级别,那么默认的优先级别会从32766开始递减,可以通过prio ID参数在设置路由表时添加优先级。

第二列:from,这里显示的是匹配规则,当前表示的是从哪里来的数据包,还有:
From -- 源地址
To -- 目的地址(这里是选择规则时使用,查找路由表时也使用)
  Tos -- IP包头的TOS(type of sevice)域
  Dev -- 物理接口
  Fwmark -- 防火墙参数

第三段:loacl/main/default, 这些都是路由表名称,表示数据包要从那个路由表送出去。local表包含本机路由及广播信息,main表就是我们route -n看到的内容,default表,默认为空。

添加IP策略规则

在添加规则时,需要先定义好优先级、条件及路由表ID,然后才可以添加规则。

根据源地址决定路由表

ip rule add from 192.168.10.0/24 table 100ip rule add from 192.168.20.20   table 110

根据目的地址决定路由表

ip rule add to 192.168.30.0/24 table 120ip rule add to 192.168.40.0/24 table 130

根据网卡设备决定路由表

ip rule add dev eth0 table 140ip rule add dev eth1 table 150

此外还可以根据其他条件进行设置,例如tos等等

增加一条规则,到 dx 表,所有数据包默认使用源 IP 1.1.1.2 通过 eth1 走网关 1.1.1.1

ip route add default via 1.1.1.1 dev eth1 src 1.1.1.2 dx

增加一条规则,规则匹配的对象是所有的数据包,动作是选用路由表1的路由,这条规则的优先级是32800

ip rule add [from 0/0] table 1 pref 32800

增加一条规则,规则匹配的对象是IP为192.168.3.112, tos等于0x10的包,使用路由表2,这条规则的优先级是1500,动作是丢弃。

ip rule add from 192.168.3.112/32 [tos 0x10] table 2 pref 1500 prohibit

增加一条规则,规则匹配的对象是fwmark 标记3的数据包,使用路由表2

ip rule add fwmark 3  table 3

需要使用iptables给相应的数据打上标记3

iptables -A PREROUTING -t mangle -i eth0 -s 192.168.0.1 -192.168.0.100 -j MARK --set-mark 3  # 使用iptables给相应的数据打上标记3

删除IP策略规则

ip rule del from 192.168.10.10  # 根据明细条目删除ip rule del prio 32765          # 根据优先级删除ip rule del table wt            # 根据表名称来删除

三、永久生效,写入配置文件: /etc/sysconfig/network-scripts/rule-ethX

__EOF__

(0)

相关推荐

  • Linux 基于策略的路由

    https://www.cnblogs.com/gaozhengwei/p/7098024.html Linux 基于策略的路由(Linux Policy Routing) Linux 有传统的基于数 ...

  • [Linux] linux路由表

    路由表用于决定数据包从哪个网口发出,其主要判断依据是目标IP地址 Linux路由表其实有2个主要概念:按顺序走路由策略,在路由策略对应的路由表中匹配规则 路由策略(rule) 路由表(table) 查 ...

  • Thinkphp 表单验证规则

    'number'      => ':attribute必须是数字', 'integer'     => ':attribute必须是整数', 'float'       => ': ...

  • win server2008关闭危险端口445,135,137,138,139的方法

    M_ling 关注2020.04.30阅 2190 在Windows server 2008系统上,有两种途经可以禁用本地端口: 1.通过Windows防火墙(比较简单,设置方便) 2.通过IP安全策 ...

  • centos7使用rt_tables巧妙配置多网卡多路由实现策略路由

    路由表和策略路由的区别 通常我们维护静态路由表会手工填写所有IP地址段的路由规则,使用命令或者写入配置文件永久生效,以常见的操作系统Windows/Linux/AIX为例 #Windows静态路由-- ...

  • Linux 开启路由转发功能

    想让一台Red Hat Enterprise Linux 7开通iptables的nat转发功能 A服务器:192.168.30.20/24 B服务器:192.168.30.1/24,eth0; 19 ...

  • Linux route添加静态路由

    一:使用 route 命令添加  使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:  //添加到主机的路由 # route add –host 192.168.1.11 de ...

  • Linux 软路由单线多拨 | Otokaze's Blog

    Linux 软路由宽带多拨(单线多拨),测试机为树莓派 3B,系统为 ArchLinux for ARM,ISP 为电信,实测只能稳定双拨,但带宽没变. 多拨介绍 所谓多拨就是同一主机同时拨通多条 P ...

  • linux之用route命令看简单路由信息

    linux之用route命令看简单路由信息

  • (35条消息) 中国城域网路由情况介绍

    中国的城域网,大概有三张比较典型的,一个是中国移动的CMnet,一个是中国电信IP城域网,还有一个是中国网通IP城域网.作为接入最后的阵地,城域网的业务是最复杂的.含盖了IPTV,语音,Interne ...

  • Linux命令route显示或管理路由表-linux运维学习

    route命令可以显示或管理Linux系统的路由表,route命令设置的路由主要是静态路由.掌握Linux命令对于Linux运维来说是必备技能,对于Linux运维工作起着重要的作用.那么route命令 ...

  • ifconfig配置或显示网络接口信息-Linux运维技能

    ifconfig命令用于配置网卡IP地址等网络参数或显示当前网络的接口状态.ifconfig命令在配置网卡信息时必须以root用户的身份来执行.ifconfig命令是Linux运维日常工作中常用到的核 ...