




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、.Linux的高級路由和流量控制HOWTO 1 2Linux的高級路由和流量控制HOWTO1.22020-07-16 14:28第4章規(guī)那么-路由策略數(shù)據(jù)庫假設(shè)你有一個大規(guī)模的路由器,你可能不得不同時滿足不同用戶對于路由的不同需求。路由策略數(shù)據(jù)庫可以幫助你通過多路由表技術(shù)來實現(xiàn)。假設(shè)你想使用這個特性,請確認(rèn)你的內(nèi)核配置中帶有"IP:advanced router"和"IP:policy routing"兩項。當(dāng)內(nèi)核需要做出路由選擇時,它會找出應(yīng)該參考哪一張路由表。除了"ip"命令之外,以前的"route"命令也能修
2、改main和local表。缺省規(guī)那么:ahuhome ahu$ip rule list 0:from all lookup local 32766:from all lookup main 32767:from all lookup default上面列出了規(guī)那么的優(yōu)先順序。我們看到,所有的規(guī)那么都應(yīng)用到了所有的包上"from all"。我們前面已經(jīng)看到了"main"表,就是"ip route ls"命令的輸出,但是"local"和"default"是初次見到。假設(shè)我們想做點有趣的事情,就可以生
3、成一些指向不同路由表的規(guī)那么,取代系統(tǒng)中的路由規(guī)那么。對于內(nèi)核如何處理一個IP包匹配多個規(guī)那么的準(zhǔn)確意義,請參見Alexey關(guān)于ip-cref文檔。4.1.簡單的源策略路由讓我們再來一個真實的例子。我有兩個Cable Modem,連接到了一個Linux的NAT"假裝"路由器上。這里的室友們向我付費使用Internet。假設(shè)我其中的一個室友因為只想訪問hotmail而希望少付一些錢。對我來說這沒有問題,他們肯定只能使用那個比較次的Cable Modem。那個比較快的cable modem的IP地址是212.64.94.251,PPP鏈路,對端IP是212.64.94.1。而那
4、個比較慢的cable modem的IP地址是212.64.78.148,對端是195.96.98.253。local表:ahuhome ahu$ip route list table local broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 local 10.0.0.1 dev eth0 proto kernel scope host src 10.0.0.1 broadcast 10.0.0.0 dev eth0 proto kernel scope link src 10.0.0.1 local
5、 212.64.94.251 dev ppp0 proto kernel scope host src 212.64.94.251 broadcast 10.255.255.255 dev eth0 proto kernel scope link src 10.0.0.1 broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 local 212.64.78.148 dev ppp2 proto kernel scope host src 212.64.78.148 local 127.0.0.1 dev lo prot
6、o kernel scope host src 127.0.0.1 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1有很多明顯的事實,其實可能還需要進一步說明。好了,這樣就行了。"default"表為空。讓我們看看"main"路由表:ahuhome ahu$ip route list table main 195.96.98.253 dev ppp2 proto kernel scope link src 212.64.78.148 212.64.94.1 dev ppp0 pr
7、oto kernel scope link src 212.64.94.251 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link default via 212.64.94.1 dev ppp0我們?nèi)缃駷槲覀兊呐笥褎?chuàng)立了一個叫做"John"的規(guī)那么。其實我們完全可以使用純數(shù)字表示規(guī)那么,但是不方便。我們可以向/etc/iproute2/rt_tables文件中添加數(shù)字與名字的關(guān)聯(lián):#echo 200 John/etc/iproute2/rt_table
8、s#ip rule add from 10.0.0.10 table John#ip rule ls 0:from all lookup local 32765:from 10.0.0.10 lookup John 32766:from all lookup main 32767:from all lookup default如今,剩下的事情就是為John的路由表創(chuàng)立路由項了。別忘了刷新路由緩存:#ip route add default via 195.96.98.253 dev ppp2 table John#ip route flush cache這樣就做好了。至于如何在ip-up階段實
9、現(xiàn)就留給讀者自己去研究吧。4.2.多重上連ISP的路由以以下圖是很常見的配置,同一個局域網(wǎng)甚至是同一臺計算機通過兩個ISP連接到互聯(lián)網(wǎng)上。_+-+/|+-+ISP 1+-_|/_/_+-+-+-+|_/_|if1|/|局域網(wǎng)-+Linux路由器|國際互聯(lián)網(wǎng)_ _/|_ _/|if2|_/+-+-+-+|+-+ISP 2+-|+-+_這種情況下通常會出現(xiàn)兩個問題。4.2.1.流量分割首先是如何保證:回應(yīng)來自某一個ISP的數(shù)據(jù)包時,仍然使用一樣的ISP。讓我們先定義一些符號。令第一塊網(wǎng)卡上圖的if1的名字叫$IF1,而第二塊網(wǎng)卡叫做$IF2。然后設(shè)置$IF1的IP地址為$IP1,$IF2的IP地址
10、為$IP2。并且,令I(lǐng)SP1的網(wǎng)關(guān)地址為$P1,ISP2的網(wǎng)關(guān)地址為$P2。最后,令$P1的網(wǎng)絡(luò)地址為$P1_NET,令$P2的網(wǎng)絡(luò)地址為$P2_NET。額外創(chuàng)立兩個路由表,T1和T2。參加到/etc/iproute2/rt_tables中。然后如下設(shè)置兩個路由表中的路由:ip route add$P1_NET dev$IF1 src$IP1 table T1 ip route add default via$P1 table T1 ip route add$P2_NET dev$IF2 src$IP2 table T2 ip route add default via$P2 table T2
11、沒什么大不了的,不過是建立了通向該網(wǎng)關(guān)的一條路由,并使之成為默認(rèn)網(wǎng)關(guān),分別負(fù)責(zé)一個單獨的上行流,并且為這兩個ISP都作這樣的配置。要指出的是,那條網(wǎng)絡(luò)路由是必要條件,因為它可以讓我們找到那個子網(wǎng)內(nèi)的主機,也包括上述那臺網(wǎng)關(guān)。下一步,我們設(shè)置"main"路由表。把包通過網(wǎng)卡直接路由到與網(wǎng)卡相連的局域網(wǎng)上不失為一個好方法。要注意"src"參數(shù),他們可以保證選擇正確的出口IP地址。ip route add$P1_NET dev$IF1 src$IP1 ip route add$P2_NET dev$IF2 src$IP2然后,設(shè)置你的缺省路由:ip route
12、 add default via$P1接著,設(shè)置路由規(guī)那么。這實際上在選擇用什么路由表進展路由。你需要確認(rèn)當(dāng)你從一個給定接口路由出數(shù)據(jù)包時,是否已經(jīng)有了相應(yīng)的源地址:你需要保證的就是假設(shè)你已經(jīng)有了相應(yīng)的源地址,就應(yīng)該把數(shù)據(jù)包從相應(yīng)的網(wǎng)卡路由出去:ip rule add from$IP1 table T1 ip rule add from$IP2 table T2以上命令保證了所有的回應(yīng)數(shù)據(jù)都會從他們來的那塊網(wǎng)卡原路返回。如今,完成了非常根本的配置。這將對于所有運行在路由器上所有的進程起作用,實現(xiàn)IP假裝以后,對本地局域網(wǎng)也將起作用。假設(shè)不進展假裝,那么你要么擁有兩個ISP的地址空間,要么你想對
13、兩個ISP中的一個進展假裝。無論哪種情況,你都要添加規(guī)那么,基于發(fā)包的主機在局域網(wǎng)內(nèi)的IP地址,選擇從哪個ISP路由出去。4.2.2.負(fù)載平衡第二個問題是如何對于通過兩個ISP流出的數(shù)據(jù)進展負(fù)載平衡。假設(shè)你已經(jīng)成功地實現(xiàn)了流量分割,這件事并不難。與選擇兩個ISP中的一個作為缺省路由不同,這次是設(shè)置缺省路由為多路路由。在缺省內(nèi)核中,這會平衡兩個ISP的路由。象下面這樣做基于前面的流量分割實驗:ip route add default scope global nexthop via$P1 dev$IF1 weight 1nexthop via$P2 dev$IF2 weight 1這樣就可以平衡
14、兩個ISP的路由。通過調(diào)整"weight"參數(shù)我們可以指定其中一個ISP的優(yōu)先權(quán)高于另一個。應(yīng)該指出,由于平衡是基于路由進展的,而路由是經(jīng)過緩沖的,所以這樣的平衡并不是100%準(zhǔn)確。也就是說,對于一個經(jīng)常訪問的站點,總是會使用同一個ISP。進而,假設(shè)你對此不滿意,你可能需要參考以下Julian Anastasov的內(nèi)核補丁:Julian的路由補丁會彌補上述缺陷。第5章GRE和其他隧道Linux有3種隧道。它們是:IP-in-IP隧道、GRE隧道和非內(nèi)核隧道如PPTP。5.1.關(guān)于隧道的幾點注釋隧道可以用于實現(xiàn)很多非常不一般而有趣的功能。但假設(shè)你的配置有問題,卻也會發(fā)生可怕的
15、錯誤。除非你確切地知道你在做什么,否那么不要把缺省路由指向一個隧道設(shè)備。而且,隧道會增加協(xié)議開銷,因為它需要一個額外的IP包頭。一般應(yīng)該是每個包增加20個字節(jié),所以假設(shè)一個網(wǎng)絡(luò)的MTU是1500字節(jié)的話,使用隧道技術(shù)后,實際的IP包長度最長只能有1480字節(jié)了。這倒不是什么原那么性的問題,但假設(shè)你想使用隧道技術(shù)構(gòu)建一個比較大規(guī)模的網(wǎng)絡(luò)的話,最好仔細(xì)研究一下關(guān)于IP包的分片和會聚的知識。哦,還有,挖一個隧道最好的方法當(dāng)然是同時從兩頭挖。5.2.IP-in-IP隧道這種隧道在Linux上已經(jīng)實現(xiàn)很長一段時間了。需要兩個內(nèi)核模塊:ipip.o和new_tunnel.o。比方說你有3個網(wǎng)絡(luò):內(nèi)部網(wǎng)A和
16、B,中間網(wǎng)C比方說:Internet。A網(wǎng)絡(luò)的情況:網(wǎng)絡(luò)地址10.0.1.0子網(wǎng)掩碼255.255.255.0路由器10.0.1.1路由器在C網(wǎng)絡(luò)上的地址是172.16.17.18。B網(wǎng)絡(luò)的情況:網(wǎng)絡(luò)地址10.0.2.0子網(wǎng)掩碼255.255.255.0路由器10.0.2.1路由器在C網(wǎng)絡(luò)上的IP地址是172.19.20.21。C網(wǎng)絡(luò)已經(jīng)連通,我們假定它會將所有的數(shù)據(jù)包從A傳到B,反之亦然。而且你可以隨意使用Internet。這就是你要做的:首先,確認(rèn)模塊是否加載:insmod ipip.o insmod new_tunnel.o然后,在A網(wǎng)絡(luò)的路由器上輸入:ifconfig tunl0 10
17、.0.1.1 pointopoint 172.19.20.21 route add-net 10.0.2.0 netmask 255.255.255.0 dev tunl0并且在B網(wǎng)絡(luò)的路由器上輸入:ifconfig tunl0 10.0.2.1 pointopoint 172.16.17.18 route add-net 10.0.1.0 netmask 255.255.255.0 dev tunl0假設(shè)你想中止隧道,輸入:ifconfig tunl0 down簡單之極!但是你不能通過IP-in-IP隧道轉(zhuǎn)發(fā)播送或者IPv6數(shù)據(jù)包。你只是連接了兩個一般情況下無法直接通訊的IPv4網(wǎng)絡(luò)而已。至
18、于兼容性,這部分代碼已經(jīng)有很長一段歷史了,它的兼容性可以上溯到1.3版的內(nèi)核。據(jù)我所知,Linux的IP-in-IP隧道不能與其他操作系統(tǒng)或路由器互相通訊。它很簡單,也很有效。需要它的時候盡管使用,否那么就使用GRE。5.3.GRE隧道GRE是最初由CISCO開發(fā)出來的隧道協(xié)議,可以做一些IP-in-IP隧道做不到的事情。比方,你可以使用GRE隧道傳輸多播數(shù)據(jù)包和IPv6數(shù)據(jù)包。在Linux下,你需要ip_gre.o模塊。5.3.1.IPv4隧道讓我們先來做一做IPv4隧道:比方說你有3個網(wǎng)絡(luò):內(nèi)部網(wǎng)A和B,中間網(wǎng)C比方說:Internet。A網(wǎng)絡(luò)的情況:網(wǎng)絡(luò)地址10.0.1.0子網(wǎng)掩碼255
19、.255.255.0路由器10.0.1.1路由器在C網(wǎng)絡(luò)上的地址是172.16.17.18。我們稱之為neta。B網(wǎng)絡(luò)的情況:網(wǎng)絡(luò)地址10.0.2.0子網(wǎng)掩碼255.255.255.0路由器10.0.2.1路由器在C網(wǎng)絡(luò)上的IP地址是172.19.20.21。我們稱之為netb。C網(wǎng)絡(luò)已經(jīng)連通,我們假定它會將所有的數(shù)據(jù)包從A傳到B,反之亦然。至于原因,我們不考慮。在A網(wǎng)絡(luò)的路由器上,輸入:ip tunnel add netb mode gre remote 172.19.20.21 local 172.16.17.18 ttl 255 ip link set netb up ip addr a
20、dd 10.0.1.1 dev netb ip route add 10.0.2.0/24 dev netb讓我們略微討論一下。第1行,我們添加了一個隧道設(shè)備,并且稱之為netb為了可以表示出這個隧道通向哪里。并且表示要使用GRE協(xié)議mode gre,對端地址是172.19.20.21另一端的路由器,我們的隧道數(shù)據(jù)包發(fā)源于172.16.17.18以便當(dāng)你的路由器在C網(wǎng)絡(luò)中擁有多個地址的時候,你可以指定哪一個應(yīng)用于隧道并且包的TTL字段應(yīng)設(shè)置為255ttl 255。第2行,啟用該隧道。第3行,我們給這個新生的網(wǎng)卡配置了一個IP:10.0.1.1。對于小網(wǎng)絡(luò)來說足夠了,但假設(shè)你網(wǎng)絡(luò)中的隧道多得象無
21、證運營的小煤窯一樣,你可能就要考慮給你的隧道規(guī)劃一個單獨的IP地址范圍在本例中,你可以使用10.0.3.0。第4行,我們?yōu)锽網(wǎng)絡(luò)設(shè)置了一條路由。注意子網(wǎng)掩碼的另一種表示方法。假設(shè)你不熟悉這種表示,我就來解釋一下:你把你的子網(wǎng)掩碼寫成二進制形式,數(shù)數(shù)里面由多少個1。假設(shè)你連這個也不會做,不妨就簡單地記?。?55.0.0.0就是/8,255.255.0.0就是/16,255.255.255.0就是/24。讓我們再看看B網(wǎng)絡(luò)的路由器。ip tunnel add neta mode gre remote 172.16.17.18 local 172.19.20.21 ttl 255 ip link s
22、et neta up ip addr add 10.0.2.1 dev neta ip route add 10.0.1.0/24 dev neta假設(shè)你想從A路由器中停頓隧道,輸入:ip link set netb down ip tunnel del netb當(dāng)然,你可以把netb換成neta,在B路由器上操作。5.3.2.IPv6隧道關(guān)于IPv6地址,請參看第6章第1節(jié)。這就開場吧。我們假設(shè)你有如下的IPv6網(wǎng)絡(luò),你想把它連接到6bone或者一個朋友那里。Network 3ffe:406:5:1:5:a:2:1/96你的IPv4地址是172.16.17.18,6bone路由器的IPv4地
23、址是172.22.23.24。ip tunnel add sixbone mode sit remote 172.22.23.24 local 172.16.17.18 ttl 255 ip link set sixbone up ip addr add 3ffe:406:5:1:5:a:2:1/96 dev sixbone ip route add 3ffe:/15 dev sixbone讓我們來討論一下。我們創(chuàng)立了一個叫做sixbone的隧道設(shè)備。我們設(shè)置它的形式是sit也就是在IPv4隧道中使用IPv6并且告訴它對端remote和本端local在哪里。TTL設(shè)置為最大,255。接著,我們
24、激活了這個設(shè)備up。然后,我們添加了我們自己的網(wǎng)絡(luò)地址,并添加了一條通過隧道去往3ffe:/15如今全部屬于6bone的路由。GRE隧道是如今最受歡送的隧道技術(shù)。它也廣泛地應(yīng)用于Linux世界之外并成為一個標(biāo)準(zhǔn),是個好東西。5.4.用戶級隧道在內(nèi)核之外,還有很多實現(xiàn)隧道的方法,最知名的當(dāng)然要數(shù)PPP和PPTP,但實際上還有很多有些是專有的,有些是平安的,有些甚至根本不用IP,但那遠(yuǎn)遠(yuǎn)超出了本HOWTO所涉及的范圍。第6章用Cisco和6bone實現(xiàn)IPv6隧道Marco Davids marcosara.nl著NOTE to maintainer:As far as Iam concerned
25、,this IPv6-IPv4 tunneling is not per definition GRE tunneling.You could tunnel IPv6 over IPv4 by means of GRE tunnel devicesGRE tunnels ANY to IPv4,but the device used here"sit"only tunnels IPv6 over IPv4 and is therefore something different.6.1.IPv6隧道這是Linux隧道才能的另一個應(yīng)用。這在IPv6的早期實現(xiàn)中非常流行。下面動
26、手試驗的例子當(dāng)然不是實現(xiàn)IPv6隧道的唯一方法。然而,它卻是在Linux與支持IPv6的CISCO路由器之間搭建隧道的常用方法,經(jīng)歷證明多數(shù)人都是照這樣做的。八成也適宜于你.。簡單談?wù)処Pv6地址:相對于IPv4地址而言,IPv6地址非常大,有128bit而不是32bit。這讓我們得到了我們需要的東西-非常非常多的IP地址。確切地說,有340,282,266,920,938,463,463,374,607,431,768,211,465個。同時,IPv6或者叫Ipng,下一代IP還能讓Internet上的骨干路由器的路由表變得更小、設(shè)備的配置更簡單、IP層的平安性更好以及更好地支持QoS。例如
27、:2002:836b:9820:0000:0000:0000:836b:9886寫下一個IPv6地址確實是件費事事。所以我們可以使用如下規(guī)那么來進展簡化:.數(shù)字打頭的零不要寫,就像IPv4一樣。.每16bit或者兩個字節(jié)之間使用冒號分隔。.當(dāng)出現(xiàn)很多連續(xù)的零時可簡寫成":"。在一個地址中只能使用一次。例如:地址2002:836b:9820:0000:0000:0000:836b:9886可以寫成:2002:836b:9820:836b:9886,看上去更簡單些。另一個例子:地址3ffe:0000:0000:0000:0000:0020:34A1:F32C可以寫成3ffe:2
28、0:34A1:F32C,要短得多。IPv6將可能取代現(xiàn)有的IPv4。因為它采用了相對更新的技術(shù),所以如今還沒有全球范圍的IPv6網(wǎng)絡(luò)。為了可以平滑地過渡,引入了6bone方案。IPv6網(wǎng)絡(luò)中的站點通過現(xiàn)有的IPv4體系互聯(lián),把IPv6數(shù)據(jù)包封裝在IPv4數(shù)據(jù)包中進展傳輸。這就是為什么引入隧道機制的原因。為了可以使用IPv6,我們需要一個可以支持它的內(nèi)核。如今有很多文檔都很好地說明了這個問題。不外乎以下幾步:.找到一個新版的Linux發(fā)行版,要有適宜的glibc庫。.找到一份最新的內(nèi)核源代碼。都準(zhǔn)備好了以后,就可以繼續(xù)編譯一個帶IPv6支持的內(nèi)核了:.cd/usr/src/linux.make
29、menuconfig.選擇"Networking Options".選擇"The IPv6 protocol"、"IPv6:enable EUI-64 token format","IPv6:disable provider based addresses"提示:不要編譯成內(nèi)核模塊,那樣經(jīng)常會出問題。換句話說,就是把IPv6內(nèi)置入內(nèi)核。然后你就可以象往常一樣保存配置并編譯內(nèi)核了。提示:在編譯之前,可以修改一下Makefile,把EXTRAVERSION=-x變成EXTRAVERSION=-x-IPv6有很多文檔都很
30、好地說明了如何編譯并安裝一個內(nèi)核,我們這篇文檔不是討論這個問題的。假設(shè)你在這個過程中出現(xiàn)了問題,請參閱適宜的資料。你可以先看看/usr/src/linux/README。當(dāng)你完成之后,用新的內(nèi)核重啟系統(tǒng),你可以輸入"/sbin/ifconfig-a"看看有沒有新的"sit0-device"設(shè)備。SIT的意思是"簡單Internet過渡"Simple Internet Transition。假設(shè)到這里沒有問題,你就可以獎勵自己了,你已經(jīng)向著下一代IP網(wǎng)絡(luò)邁進了一大步。如今繼續(xù)下一步。你需要把你的主機,或甚至整個局域網(wǎng)連接到另外一個IPv
31、6網(wǎng)絡(luò)上。這個網(wǎng)絡(luò)很可能是"6bone",它就是為了這個特定的目的而專門設(shè)立的。讓我們假定你有如下IPv6網(wǎng)絡(luò):3ffe:604:6:8:/64,并且希望連接到6bone,或者其他地方。請注意,/64這個子網(wǎng)聲明的意義與IPv4一樣。你的IPv4地址是145.100.24.181,6bone的路由器的IPv4地址是145.100.1.5。#ip tunnel add sixbone mode sit remote 145.100.1.5local 145.100.24.181 ttl 255#ip link set sixbone up#ip addr add 3FFE:6
32、04:6:7:2/126 dev sixbone#ip route add 3ffe:0/16 dev sixbone讓我們討論一下。第1行,我們創(chuàng)立了一個叫做sixbone的隧道。設(shè)置為sit讓IPv4隧道承載IPv6數(shù)據(jù)包形式,并設(shè)置對端與本端IP。TTL設(shè)為最大-255。下一步,我們激活up了這個設(shè)備。然后添加我們自己的網(wǎng)絡(luò)地址,并設(shè)置利用隧道通往3ffe:/15which is currently all of 6bone的路由。假設(shè)你運行這個的這臺機器是你的IPv6網(wǎng)關(guān),就得考慮運行下面的命令:#echo 1/proc/sys/net/ipv6/conf/all/forwarding#/us
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實驗室儀器采購 投標(biāo)方案(技術(shù)方案)
- 城市供水系統(tǒng)優(yōu)化管理方案
- 開發(fā)項目居間合同
- 2025年度北京市餐廳裝修與品牌故事創(chuàng)作合同
- 三農(nóng)村居民體育健身服務(wù)體系建設(shè)方案
- 家庭消毒知識培訓(xùn)
- 2025年婚姻家庭咨詢師職業(yè)技能鑒定試卷:親子關(guān)系處理策略專項試題
- 書法教師職業(yè)能力測試卷2025年:書法教材編寫與評估試題
- 2025年有限空間作業(yè)安全知識競賽試題庫試卷
- 2025年營養(yǎng)師基礎(chǔ)知識考核試卷:營養(yǎng)學(xué)基礎(chǔ)理論與應(yīng)用試題
- 2024版質(zhì)量管理培訓(xùn)
- 單軌吊軌道的吊掛形式及安裝標(biāo)準(zhǔn)
- 新沂市公安局看守所、拘留所、武警中隊新建工程實施方案;
- 建筑工程建筑面積計算規(guī)范(國標(biāo))
- IC常用封裝封裝尺寸
- 幼兒園晨間戶外鍛煉器械使用安排表
- 砂石骨料項目規(guī)劃設(shè)計方案(范文)
- 一車間計量器具管理辦法
- GB_T 12519-2021 分析儀器通用技術(shù)條件(高清-現(xiàn)行)
- 復(fù)合材料鋪層設(shè)計
- 軌道及道岔安裝標(biāo)準(zhǔn)
評論
0/150
提交評論