ip rule 策略路由
1. 工具安装
yum install iproute
查看工具是否安装
ip -V
2. ip rule 和 ip route
ip命令中和策略路由相关的OBJECT有 rule 和 route。
查看所有的 rule
ip rule show
优先级 判断条件 动作 表ID
0: from all lookup local // 任何源地址的包,都查询,local表
32766: from all lookup main
32767: from all lookup default
local:路由表local包含本机路由及广播信息。
例如,在本机上执行ssh 127.0.0.1时,就会参考这份路由表的内容,
在正常情况下,只要配置好网卡的网络设置,
就会自动生成local路由表的内容,我们应该也不必修改其内容。
main:使用传统命令route -n所看到的路由表就是main的内容。
Linux系统在默认情况下使用这份路由表的内容来传输数据包,
因此,其内容极为重要,在正常情况下,只要配置好网卡的网络设置,
就会自动生成main路由表的内容。
default:最后是default路由表,这个路由表在默认情况下内容为空;
除非有特别的要求,否则保持其内容为空即可。
查看route
ip route show table main // 显示 表main 的 route
default via 172.17.0.1 dev eth0 // 其他包,发给 172.17.0.1 主机,通过 设备 eth0
169.254.0.0/16 dev eth0 scope link metric 1002 // 目的地址为 169.254.0.0/16 网段的包,使用 eth0 设备发出
172.17.0.0/20 dev eth0 proto kernel scope link src 172.17.0.12 // 目的地址为 172.17.0.0/20 网段的包,通过 eth0 发出。发出的源接口的IP地址是 172.17.0.12
一个包,先查看策略 rule,根据优先级 和 判断条件 找到 路由表,再按照 路由表的路由规则,获得下一跳 IP地址和输出接口,又通过ARP表,获得目的MAC地址和源MAC地址,发包
3. rule 的添加与删除
3.1 添加规则
判断条件 表ID 优先级
ip rule add from 192.168.3.1 table 10 prio 199 // 添加规则,源地址为192.168.3.1的包,使用表10
如果不显示添加优先级,默认优先级数字从32766 (也就是main table) 依次递减,即优先级越来越高。
其他添加示例
ip rule add to 168.95.1.1 table 10 // 目的地址是 168.95.1.1 使用 table 10
ip rule add dev eth2 table 1 // dev eth2 输入的数据,使用 table 1
ip rule add dev eth3 table 3 // dev eth3 输入的数据,使用 table 3
fwmark 和 iptables
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 80 -j MARK --set-mark 1 // eth3输入的HTTP协议数据,标记为 mark 1
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 25 -j MARK --set-mark 2 // eth3 输入的SMTP协议数据,标记为 mark 2
iptables -t mangle -A FORWARD -i eth3 -p tcp --dport 110 -j MARK --set-mark 2 // eth3 输入的POP协议数据,标记为 mark 2
iptables -t mangle -A FORWARD -i eth3 -j MARK --set-mark 3 // eth3 输入的其他数据,标记为 mark 3
ip rule add fwmark 1 table 1 // fwmark 1 的数据,使用 table 1
ip rule add fwmark 2 table 2
ip rule add fwmark 3 table 3
3.2 删除规则
ip rule del prio 10
ip rule del from 192.168.1.0/24
ip rule del table 1
ip rule del from 192.168.1.0/24 table 1 prio 10
删除规则,可以使用 优先级,源地址,目的地址,路由表 等信息作为判断条件。
4.1 添加表
ip route add 192.168.1.0/24 dev eth1 table 10 // 任意添加一条路由,以创建表 10. 新建的表10里的路由条目为空
4.2 添加路由
ip route add 192.168.2.0/24 via 10.10.15.50 table main // 添加,目的地址为 192.168.2.0/24网段的包,网关为 10.10.15.50。添加到表 main
添加路由前,必须保证表已经存在,否则只是创建表。
4.3 删除路由
ip route del default table 10
ip route del 192.168.1.0/24 table 10 // 在表10中,删除目的地址为 192.168.1.0/24 网段的路由
ip rule 策略路由的更多相关文章
- Linux系列—策略路由、ip rule、ip route
早期在管理Linux系统的网络时,常使用ifconfig及route之类的命令,不过如果你准备开始使用Linux强大的基于策略的路由机制,那么,就请不要使用这类工具了,因为这类工具根本无法用于功能强大 ...
- Linux下ip route、ip rule、iptables的关系(转)
1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...
- ip route,ip rule, iptables和docker的端口映射
iptables 默认5个表, 不可增加其他表 raw 用于配置数据包,raw 中的数据包不会被系统跟踪. filter 是用于存放所有与防火墙相关操作的默认表. nat 用于 网络地址转换(例如:端 ...
- ip rule实现源IP路由,实现一个主机多IP(或多网段)同时通(外部看是完全两个独立IP)
利用ip rule实现基于源地址区分路由表,实现一个主机多IP网段同时通.(外部的一个主机无论访问哪个网段都可以访问通)实际应用:创建路由表table200ip route add 192.168.1 ...
- TCP/IP卷一没提到的策略路由
策略路由 tcp/ip书上介绍了选路和动态路由,没有提及策略路由,应该是因为那个年代还不存在策略路由吧,但是这是个很有用的东西. 背景 昨天领导做了一个虚拟机,里面配了两个网络172.16.50.33 ...
- ip route rule 路由策略 高级路由 捆绑 网桥
http://lwfs.net/2005/11/28/10/ #!/bin/bash IP0= IP1= GW0= GW1= NET0= NET1= DEV0=eth0 DEV1=eth1 # com ...
- ip策略路由
ip route 只是基于目的地址的路由选择 ip rule 路由策略,控制路由选择,可根据源地址,源IP等进行路由选择 路由策略由选择符合操作组成 ip rule add 添加策略 ip r ...
- 路由知识之ip route 命令中的疑惑
1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...
- Linux 双线策略路由的三种实现方式总结+端口映射
Linux 双线策略路由的三种实现方式总结+端口映射 Linux 双线策略路由的三种实现方式总结+端口映射 网络环境 服务器(网关): eth0 为LAN口,IP为 LAN_IP = 192.168. ...
随机推荐
- sop服务治理
一,为什么需要服务治理: 我们最先接触的单体架构, 整个系统就只有一个工程, 打包往往是打成了 war 包, 然后部署到单一 tomcat 上面, 这种就是单体架构, 如图: 假如系统按照功能划分了, ...
- Mybatis老手复习文档
Mybatis学习笔记 再次学习Mybatis,日后,有时间会把这个文档更新,改的越来越好,然后,改成新手老手通用的文档 1.我的认识 Mybatis 是一个持久层框架,(之前 我虽然学了这个myba ...
- MeteoInfoLab脚本示例:地图投影
在用axesm函数创建地图坐标系的时候可以指定地图投影(设置projinfo参数),地图投影可以通过projinfo函数来创建,里面的参数依据proj4投影字符串,可以参考此网页:http://rem ...
- 发布MeteoInfo 1.2.4
在JLaTeXMath库(http://forge.scilab.org/index.php/p/jlatexmath/)的支持下,实现了利用LaTeX语法显示特殊符号和数学公式的功能.需要在字符串首 ...
- es 讲义
链接: https://pan.baidu.com/s/193jObXs85OZcvAHDycUXlw 提取码: ewbp
- laravel设置excel高度
<?php use App\Services\UploadService; use Maatwebsite\Excel\Facades\Excel; class ExcelTest extend ...
- centos8平台安装redis6.0.1
一,redis的官网: https://redis.io/ redis6于5月3日正式发布,它的新增功能: acl 多线程io cluster proxy resp3协议 本文演示redis6.0.1 ...
- python 爬取简书评论
import json import requests from lxml import etree from time import sleep url = "https://www.ji ...
- 通过命令行上传ipa到appstore
搞持续集成自动化打包上传到appstore遇到这个问题,记录一下. 其实主要就一条到命令: xcrun altool --upload-app -f xxxx.ipa -u "yanqizh ...
- VMware Workstatition启动虚拟机电脑蓝屏
电脑出了点问题,重装了系统,结果安装VMware之后,一启动虚拟机电脑就蓝屏重启. 系统是win10 19041 开始用的原来下载的vmware15.0,创建虚拟机蓝屏,重启之后可以创建.创建完以后启 ...