一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

關(guān)于路由策略數(shù)據(jù)庫(kù)(RPDB)

OSC開(kāi)源社區(qū) ? 來(lái)源:OSC開(kāi)源社區(qū) ? 作者:OSC開(kāi)源社區(qū) ? 2022-10-12 09:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

SIMPLE

Linux策略路由詳解

概述

在Linux中,我們通常使用route 命令來(lái)做路由信息的管理。但是該命令僅僅只能用于基本路由信息的管理,面對(duì)功能更加強(qiáng)大的基于策略的路由機(jī)制,route 命令就顯得捉襟見(jiàn)肘。在傳統(tǒng)路由算法中,只能基于目的地址進(jìn)行路由選擇。但是如果對(duì)路由選擇有更復(fù)雜的要求,比如針對(duì)不同源地址、傳輸層端口甚至是payload進(jìn)行更細(xì)致的路由控制,傳統(tǒng)的基于目的地址的路由表就無(wú)法滿(mǎn)足需求了,需要使用功能更加強(qiáng)大的路由策略數(shù)據(jù)庫(kù)routeing database: RPDB 來(lái)處理。

命令安裝:

安裝很簡(jiǎn)單,按照如下命令安裝即可。

# 查看iproute是否安裝
# 查看iproute版本
]# ip -V
ip utility, iproute2-ss170501

# 安裝
yum install iproute -y

路由策略數(shù)據(jù)庫(kù)(RPDB):

RPDB是存放策略的數(shù)據(jù)庫(kù),被策略匹配的數(shù)據(jù)包會(huì)執(zhí)行相關(guān)的操作,可以通過(guò)ip rule 來(lái)管理。

在系統(tǒng)啟動(dòng)時(shí),內(nèi)核會(huì)配置三條默認(rèn)策略:

# 通過(guò)ip rule show可以查看當(dāng)前RPDB中的規(guī)則
]# ip rule show
0: from all lookup local # 優(yōu)先級(jí)為0,匹配任意源地址,查詢(xún)local路由表轉(zhuǎn)發(fā)
32766: from all lookup main # 優(yōu)先級(jí)為32766,匹配任意源地址,查詢(xún)main路由表轉(zhuǎn)發(fā)
32767: from all lookup default # 優(yōu)先級(jí)為32767,匹配任意源地址,查詢(xún)default路由表轉(zhuǎn)發(fā)

1. local路由表是一個(gè)特殊的路由表,包含本地地址和廣播地址的高優(yōu)先級(jí)控制路由, 例如訪問(wèn)127.0.0.1就是參考的這條規(guī)則。
2. main路由表是一個(gè)通用路由表,正常通過(guò)route -n命令操作的就是這個(gè)路由表。
3. default路由表默認(rèn)是一個(gè)空表,除非有特別的要求,否則保持為空即可。

每條策略路由的規(guī)則由一個(gè)選擇器 和一個(gè)動(dòng)作 組成,RPDB按照優(yōu)先級(jí)順序進(jìn)行規(guī)則匹配,優(yōu)先級(jí)數(shù)字越小越優(yōu)先。被選擇器 匹配的報(bào)文會(huì)執(zhí)行對(duì)應(yīng)的操作,操作如果成功,則根據(jù)指定的路由轉(zhuǎn)發(fā)數(shù)據(jù),之后終止RPDB匹配,如果執(zhí)行失敗,則報(bào)錯(cuò)并且終止RPDB匹配。否則RPDB將繼續(xù)執(zhí)行下一條規(guī)則。

ip rule命令說(shuō)明

# 執(zhí)行ip rule help可以查看幫助信息,如果需要更詳細(xì)的幫助信息,可以執(zhí)行man ip-rule
]# ip rule help
Usage: ip rule { add | del } SELECTOR ACTION
ip rule { flush | save | restore }
ip rule [ list [ SELECTOR ]]
SELECTOR := [ not ] [ from PREFIX ] [ to PREFIX ] [ tos TOS ] [ fwmark FWMARK[/MASK] ]
[ iif STRING ] [ oif STRING ] [ pref NUMBER ] [ l3mdev ]
[ uidrange NUMBER-NUMBER ]
ACTION := [ table TABLE_ID ]
[ nat ADDRESS ]
[ realms [SRCREALM/]DSTREALM ]
[ goto NUMBER ]
SUPPRESSOR
SUPPRESSOR := [ suppress_prefixlength NUMBER ]
[ suppress_ifgroup DEVGROUP ]
TABLE_ID := [ local | main | default | NUMBER ]

選擇器(SELECTOR)

from PREFIX: 根據(jù)源地址前綴匹配
to PREFIX: 根據(jù)目的地址前綴匹配
tos TOS: 根據(jù)ip包頭TOS字段的值進(jìn)行匹配
fwmark FWMARK[/MASK]: 配合iptables -t mangle 打標(biāo)記,根據(jù)標(biāo)記進(jìn)行匹配
iif STRING: 選擇要匹配的數(shù)據(jù)包的輸入接口。
oif STRING: 選擇要匹配的出接口設(shè)備。只對(duì)來(lái)自本地套接字并與設(shè)備綁定的報(bào)文有效
pref NUMBER: 規(guī)則的優(yōu)先級(jí)。這里的pref可以替換成priority或者order,效果是一樣的。

動(dòng)作(ACTION)

table TABLE_ID: 在規(guī)則匹配的時(shí)候,指定使用的路由表,被匹配的數(shù)據(jù)包將按照指定的路由表進(jìn)行路由。此處的table也可以替換為lookup,效果是一樣的。
blackhole: 丟棄匹配的數(shù)據(jù)包。
unreachable: 丟棄匹配的數(shù)據(jù)包,并生成"Network is unreachable"錯(cuò)誤。
prohibit: 丟棄匹配的數(shù)據(jù)包,并生成"Communication is administratively prohibited"錯(cuò)誤。

查看策略:

]# ip rule show
0: from all lookup local
32766: from all lookup main
32767: from all lookup default

添加策略:

# 來(lái)自192.168.22.3的數(shù)據(jù)包,都參考id為10的路由表進(jìn)行轉(zhuǎn)發(fā)
ip rule add from 192.168.22.3 table 10

# 設(shè)置規(guī)則的優(yōu)先級(jí)為100,發(fā)往192.168.23.0/24的數(shù)據(jù)包,都參考id為100的路由表進(jìn)行轉(zhuǎn)發(fā)
ip rule add to 192.168.23.0/24 table 20 pref 100

# 給協(xié)議是tcp,源地址是192.168.24.0/24,目的端口是80的數(shù)據(jù)包,在路由前打上1的標(biāo)記
iptables -t mangle -A PREROUTING -p tcp -m multiport --dports 80 -s 192.168.24.0/24 -j MARK --set-mark 1
# 將標(biāo)記為1的數(shù)據(jù)包,參考id為iptables_table的路由表進(jìn)行轉(zhuǎn)發(fā)
ip rule add fwmark 1 table iptables_table

# 來(lái)自192.168.25.0/24的數(shù)據(jù)包都將丟棄
ip rule add from 192.168.25.0/24 blackhole
ip rule add from 192.168.26.0/24 unreachable
ip rule add from 192.168.27.0/24 prohibit

注意,添加動(dòng)作是table TABLE_ID時(shí),默認(rèn)情況下,只能添加數(shù)字,如果添加的是字符的話,會(huì)有如下報(bào)錯(cuò)。

]# ip rule add from 192.168.22.3 table iptables_table
Error: argument "iptables_table" is wrong: invalid table ID

這就帶來(lái)一個(gè)問(wèn)題,如果時(shí)間久了,就不知道自己當(dāng)時(shí)添加的這個(gè)路由表是啥意思了。所以需要有一個(gè)數(shù)字和字符的對(duì)應(yīng)關(guān)系。這個(gè)對(duì)應(yīng)關(guān)系,就保存在/etc/iproute2/rt_tables 這個(gè)文件里。

#編輯/etc/iproute2/rt_tables,添加iptables_table表的id為100
]# cat /etc/iproute2/rt_tables
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#自定義路由表
100 iptables_table
#
# local
#
#1 inr.ruhep

添加之后,就可以正常執(zhí)行ip rule add from 192.168.22.3 table iptables_table 了。并且執(zhí)行ip rule show的時(shí)候,路由表也是按照定義的字符顯示。

刪除策略:

# 根據(jù)路由表刪除
ip rule del table iptables_table

# 根據(jù)來(lái)源地址刪除
ip rule del from 192.168.22.0/24

# 根據(jù)優(yōu)先級(jí)刪除
ip rule del pref 100

# 根據(jù)標(biāo)記刪除
ip rule del fwmark 100

路由表管理:

目前看,通過(guò)ip rule命令,可以根據(jù)不同的規(guī)則,選擇不同的路由表來(lái)轉(zhuǎn)發(fā)數(shù)據(jù)。那么如何對(duì)不同的路由表做管理呢? 很簡(jiǎn)單,只要在正常執(zhí)行的命令之后,加上table TABLE_ID 即可。

查看路由表路由條目:

# ip route show等價(jià)于ip route show table main,也就是查的是默認(rèn)的main路由表
ip route show

#查看指定目標(biāo)的路由
ip route show 192.168.22.0/24

#查看指定路由表iptables_table中的路由
ip route show table iptables_table
ip route show table 100


添加路由:

# 向iptables_table中添加默認(rèn)路由
ip route add default via 192.168.22.1 dev eth1 src 192.168.22.3 table iptables_table

]# ip route show table 100
default via 192.168.22.1 dev eth1 src 192.168.22.3


刪除路由:

# 刪除iptables_table路由表中的路由
ip route del default via 192.168.22.1 dev eth1 src 192.168.22.3 table iptables_tabl

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213830
  • 數(shù)據(jù)庫(kù)
    +關(guān)注

    關(guān)注

    7

    文章

    3927

    瀏覽量

    66241
  • 路由
    +關(guān)注

    關(guān)注

    0

    文章

    280

    瀏覽量

    42483

原文標(biāo)題:Linux策略路由詳解

文章出處:【微信號(hào):OSC開(kāi)源社區(qū),微信公眾號(hào):OSC開(kāi)源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于SQL Server 2000數(shù)據(jù)庫(kù)的安全性策略的研究

    基于SQL Server 2000數(shù)據(jù)庫(kù)的安全性策略的研究
    發(fā)表于 10-10 15:07

    求助關(guān)于labview查詢(xún)access數(shù)據(jù)庫(kù)的問(wèn)題

    初學(xué)者,想學(xué)習(xí)鏈接數(shù)據(jù)庫(kù)方面的知識(shí),遇到不少問(wèn)題,下面求助各位大神,關(guān)于查詢(xún)數(shù)據(jù)庫(kù)的問(wèn)題問(wèn)題:如何通過(guò)“零部件名稱(chēng)”“故障模式”查詢(xún)數(shù)據(jù)庫(kù),現(xiàn)在能實(shí)現(xiàn)兩個(gè)輸入控件都賦值查找
    發(fā)表于 03-14 21:18

    數(shù)據(jù)庫(kù)管理

    如題:用labview操作access數(shù)據(jù)庫(kù)做公司測(cè)試流程管控。因測(cè)試數(shù)據(jù)量大,數(shù)據(jù)生成多,現(xiàn)在accdb文件已經(jīng)有50M了,現(xiàn)在發(fā)現(xiàn)數(shù)據(jù)庫(kù)在本地操作都很快,但是放在遠(yuǎn)端服務(wù)器后操作就
    發(fā)表于 11-08 16:58

    數(shù)據(jù)庫(kù)教程之如何進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)

    本文檔的主要內(nèi)容詳細(xì)介紹的是數(shù)據(jù)庫(kù)教程之如何進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容包括了:1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 ,2 數(shù)據(jù)庫(kù)需求分析 ,3 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì) ,4
    發(fā)表于 10-19 10:41 ?21次下載
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b>教程之如何進(jìn)行<b class='flag-5'>數(shù)據(jù)庫(kù)</b>設(shè)計(jì)

    關(guān)于數(shù)據(jù)庫(kù)安全技術(shù)的概述

    數(shù)據(jù)庫(kù)安全,是指以保護(hù)數(shù)據(jù)庫(kù)系統(tǒng)、數(shù)據(jù)庫(kù)服務(wù)器和數(shù)據(jù)庫(kù)中的數(shù)據(jù)、應(yīng)用、存儲(chǔ),以及相關(guān)網(wǎng)絡(luò)連接為目的,是防止
    發(fā)表于 06-24 17:23 ?1956次閱讀

    海量空間數(shù)據(jù)庫(kù)應(yīng)該如何進(jìn)行實(shí)施策略

    本文檔的主要內(nèi)容詳細(xì)介紹的是海量空間數(shù)據(jù)庫(kù)應(yīng)該如何進(jìn)行實(shí)施策略包括了:序言,空間數(shù)據(jù)庫(kù)設(shè)計(jì),矢量數(shù)據(jù)實(shí)施策略,柵格
    發(fā)表于 09-24 11:54 ?4次下載
    海量空間<b class='flag-5'>數(shù)據(jù)庫(kù)</b>應(yīng)該如何進(jìn)行實(shí)施<b class='flag-5'>策略</b>

    數(shù)據(jù)庫(kù)和自建數(shù)據(jù)庫(kù)的區(qū)別及應(yīng)用

    數(shù)據(jù)庫(kù)是指優(yōu)化和部署在云端的數(shù)據(jù)庫(kù),阿里云和騰訊云都提供云數(shù)據(jù)庫(kù),云數(shù)據(jù)庫(kù)和自己搭建的數(shù)據(jù)庫(kù)有什么區(qū)別?有必要使用云
    的頭像 發(fā)表于 11-20 16:26 ?4968次閱讀
    云<b class='flag-5'>數(shù)據(jù)庫(kù)</b>和自建<b class='flag-5'>數(shù)據(jù)庫(kù)</b>的區(qū)別及應(yīng)用

    ACS數(shù)據(jù)庫(kù)與RSC數(shù)據(jù)庫(kù)比較研究

    ACS數(shù)據(jù)庫(kù)與RSC數(shù)據(jù)庫(kù)比較研究(開(kāi)關(guān)電源技術(shù)與設(shè)計(jì)pdf百度云)-ACS數(shù)據(jù)庫(kù)與RSC數(shù)據(jù)庫(kù)比較研究? ? ? ? ? ? ? ? ?
    發(fā)表于 09-15 11:35 ?5次下載
    ACS<b class='flag-5'>數(shù)據(jù)庫(kù)</b>與RSC<b class='flag-5'>數(shù)據(jù)庫(kù)</b>比較研究

    數(shù)據(jù)庫(kù)索引使用策略及優(yōu)化

    的內(nèi)容完全基于上文的理論基礎(chǔ),實(shí)際上一旦理解了索引背后的機(jī)制,那么選擇高性能的策略就變成了純粹的推理,并且可以理解這些策略背后的邏輯。 示例數(shù)據(jù)庫(kù) 為了討論索引策略,需要一個(gè)
    的頭像 發(fā)表于 11-02 15:13 ?1982次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b>索引使用<b class='flag-5'>策略</b>及優(yōu)化

    數(shù)據(jù)庫(kù)建立|數(shù)據(jù)庫(kù)創(chuàng)建的方法?

    數(shù)據(jù)庫(kù)是一個(gè)存儲(chǔ)關(guān)鍵數(shù)據(jù)的文件系統(tǒng)。利用數(shù)據(jù)庫(kù)管理系統(tǒng)建立每個(gè)人的數(shù)據(jù)庫(kù)可以更好地提供安全。 數(shù)據(jù)庫(kù)建立|
    的頭像 發(fā)表于 07-14 11:15 ?1639次閱讀

    python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢(xún)數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接

    python讀取數(shù)據(jù)庫(kù)數(shù)據(jù) python查詢(xún)數(shù)據(jù)庫(kù) python數(shù)據(jù)庫(kù)連接 Python是一門(mén)高級(jí)編程語(yǔ)言,廣泛應(yīng)用于各種領(lǐng)域。其中,Python在
    的頭像 發(fā)表于 08-28 17:09 ?2220次閱讀

    什么是JSON數(shù)據(jù)庫(kù)

    數(shù)據(jù)庫(kù)的顯著優(yōu)勢(shì)關(guān)于JSON數(shù)據(jù)庫(kù)的Q&A一、什么是JSON?首先,我們得明確“JSON”的含義。開(kāi)發(fā)人員在創(chuàng)建業(yè)務(wù)邏輯、用戶(hù)界面、數(shù)據(jù)庫(kù)或后端系統(tǒng)時(shí),需要一種描述
    的頭像 發(fā)表于 12-02 08:04 ?1259次閱讀
    什么是JSON<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    關(guān)于JSON數(shù)據(jù)庫(kù)

    如何理解JSON數(shù)據(jù)庫(kù)?作為NoSQL數(shù)據(jù)庫(kù)的一種類(lèi)型,JSON數(shù)據(jù)庫(kù)有哪些優(yōu)勢(shì)呢?JSON數(shù)據(jù)庫(kù)如何運(yùn)作,它為應(yīng)用程序開(kāi)發(fā)者帶來(lái)了哪些價(jià)值呢?
    的頭像 發(fā)表于 12-06 13:46 ?1194次閱讀
    <b class='flag-5'>關(guān)于</b>JSON<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—通過(guò)拼接數(shù)據(jù)庫(kù)碎片恢復(fù)SQLserver數(shù)據(jù)庫(kù)

    一個(gè)運(yùn)行在存儲(chǔ)上的SQLServer數(shù)據(jù)庫(kù),有1000多個(gè)文件,大小幾十TB。數(shù)據(jù)庫(kù)每10天生成一個(gè)NDF文件,每個(gè)NDF幾百GB大小。數(shù)據(jù)庫(kù)包含兩個(gè)LDF文件。 存儲(chǔ)損壞,數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 10-31 13:21 ?698次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過(guò)拼接<b class='flag-5'>數(shù)據(jù)庫(kù)</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類(lèi)型?

    數(shù)據(jù)庫(kù)是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫(kù),它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶(hù)提供高效、靈活的數(shù)據(jù)庫(kù)服務(wù)。云數(shù)據(jù)庫(kù)主要分為兩大類(lèi):關(guān)系型數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-07 10:22 ?512次閱讀