半解析VyattaOFR快速啟動手冊
約定:藍色代表一個章節,紫色代表章節里的小節,紅色
代表可輸入的命令,青藍代表PC輸出的顯示. 因為node在字典里解釋為節或節點,所以我理解為1個節
,類似于段落…他是通過’{}’把PC輸出的顯示括起來,
所以以下的都這樣解釋.. 配置樹是由配置節組成,也就是上面的node. 本文作者Styx是一個剛接觸linux和路由的小鳥,
但是他懷著無比的熱情和動力在學習著,由于E文能力有
限在加上接觸時間不久,請各位前輩師傅予以指點修正..~_^! 本文更象是一個筆記而不是完全套住手冊里的東西,
很多東西按照國外前輩的說法很羅嗦. 本文出自:http://essoin. 本文可任意轉載,但轉載時請標明出處.
由于此文是在word里編輯所以在blog上無法顯示圖片和顏色效果,如有需要請留言聯系.
1,Starting UP VyattaOFR有兩中啟動方式: Linve cd和安裝進硬盤. Live cd VyattaOFR軟件運行在機器的RAM上,它將系統
的部分寫入RAM盤,配置文件存儲在軟盤設備或者TFTP中. 調整正確的BIOS光盤引導,并啟動電腦,用live cd 引導
進系統. 登陸系統有兩種用戶模式: 以登陸名:root 密碼:vyatta 的用戶登陸模式,以這種
登陸模式登陸會使用Linux shell在這需要在
linuxshell 下運行xorpsh登陸route shell 模式. 以登陸名:vyatta 密碼:vyatta 的用戶登陸模式,以這
種登陸模式會直接進入route shell 模式. 假如只是試用系統,不需要存儲改變你的設置,在這,你
可以跳過step. 但是你想要在LiveCD上存儲改變你的配置,需要存儲設
置在軟盤設備上. 為了它,必須格式化軟盤做為Vyatta的存儲軟體. 軟盤設備訪問/dev/fd0.被掛載在/mnt/floppy上. 存儲配置具體步驟: 插入軟盤 在router模式下運行命令:root@vyatta> init-floppy 系統準備在軟盤接收配置文件,并存儲拷貝配置
去/mnt/floppy/config/config.boot. 并在里面設置目錄. 如果想將vyatta安裝到硬盤請通過root和vyatta登陸 在linux shell下輸入install-system執行硬盤安裝. 簡單解釋一下硬盤安裝: 首先問你是否清空硬盤上的所有資料 分區方式 選擇安裝磁盤 最后確認是否清空原磁盤數據 分區大小 (回車默認) 引導信息寫到那個磁盤 (回車默認)
2,Taking a First Look 在route shell模式下 輸入命令:root@vyatta>?將顯示所有系統可用的命令. 通過輸入configure進入設置模式 輸入root@vyatta>configure進入設置模式. 進入系統設置模式,設置和刪除一些系統信息. 在配置模式運行:root@vyatta#show 顯示所有的通用設
置. 大多數情況,設置信息將會在屏幕上顯示很長,屏幕將顯
示”More”中斷顯示等待,按”回車”繼續顯示. 翻閱一頁按”Space”鍵,或”b”. 按”q”退出顯示. 退出配置模式輸入命令:root@vyatta#exit root@vyatta> 顯示版本信息:root@vyatta>show version
About Configuration 路由設置在unix系統上被分成目錄等級制度,配置樹是
由一串語句組成.有三種類型: 單節 多重節 字串屬性,這設置值的一些特殊參數.
Configuration Nodes 從系統顯示視圖看,一個配置節是區別簡單配置語句的,
例:1-1顯示了包含語句屬性的配置節,這個例子是SSH的
配置節.端口和協議語句指定了具體的屬性值和參數…
配置節點由一對花括號({})組成開始和結束,假如節的
屬性和參數需要被配置,它們是需要被花括號{}圍來使
用的.
例1-1 一個配置節屬性的語句 ssh { port:1-65534 protocol-version:[v1|v2|all] } 有些配置節是用花括號空括起來的,這意味這這個配置
節沒做任何屬性配置.
例:1-2 顯示的是DHCP配置節,在這個節,啟動了DNS服務
,WINS服務和中繼語句并配置了節. 因為語句是被擴起來的所以能看出,花括號是從啟動配
置節圍住指定屬性語句的值到停止結束語句.其他的配
置節(DNS,WINS,中繼)沒做一些配置語句,所以是空的.
Configuration Commands 當需要配置的時候,你將進入語句的開端,和執行以下通
用的配置命令: Set. 當你第一次啟動的時候除了很少的一些自動配置
節,配置樹幾乎是空的.你必須為了你想要配置在路由上
的功能創建節.在這你能使用set命令. 你也能使用set命令創建和修改在節上的屬性和語句的
一些值. 首先是你不能使用set命令修改多重配置節的標識.假如
多重節是不正確的標識,你需要去刪除并且重新創建正
確的標識(使用set命令). Delete. 刪除命令移除指定的配置節,假如你創建了錯
誤的節,你只需要刪除它并關閉. 記住當你刪除了配置節,所有節里面包含的都將被刪除,
看這個例子,假如你使用了delete protocols 命令,你
將刪除所有的協議和你的配置,包括RIP,BGP,OSPF,靜態
路由和SNMP配置. Edit. Edit命令允許你編輯你需要的配置去節中,這能
存儲打入明確了你明確配置的部分樹,以下的例子是定
位在以太網接口配置樹來配置以太網接口來編輯這個位
置. 假如他們是從配置樹的頂端發布,作為結果的命令是很
簡單的. [edit] root@vyatta#edit interfaces Ethernet Ethernet
eth0 [edit interfaces Ethernet eht0] root@vyatta#set description “my interface 1” [edit interface Ethernet eth0] root@vyataa#set address 172.16.0.65 prefix-
length 24 [edit interfaces Ethernet eth0] root@vyatta#show description:”\”my interface 1\” address 172.16.0.65 { prefix-length:24 } [edit interfaces Ethernet eth0] root@vyatta#commit ok 注意[edit]提示先于命令提示.[edit]提示你的狀態和
配置樹,在這個例子之前,你在配置和提示顯示的根: [edit] 在例子的結束,你定位通過配置樹去以太網接口eth0節,
在配置和提示顯示根: [edit interfaces Ethernet eth0] 使用up或者exit命令移動上一節配置樹. 使用top命令去移動到配置樹的頂端. 注意這去定位到節,節必須存在在配置樹;為了這,它必
須馬上被創建.
Committing Configuration Changes 在是在VyattaOFR里重要的部分,配置改變在你輸入
commit之前不做改變,使用commit命令. 以下的例子顯示系統配置改變怎樣被提交.在這個例子,
接口描述eth0刪除ip地址172.16.0.40.注意系統刪除系
統減小的標志是(“-”)和改變刪除系統放大的標志(“
>”). [edit interfaces Ethernet eth0] Root@vyatta#show Description:”\”my interface 1\” Address 192.168.0.65 { Prefix-length:24 } [edit interfaces Ethernet eth0] root@vyatta# delete description deletiong: deleting: description:”my interface 1” ok [edit interfaces etherne eth0] root@vyatta#set address 172.16.0.63 prefix-
length 24 [edit interfaces Ethernet eth0] root@vyatta#show - description:”\”my interface 1\”” address 172.16.0.65 { prefix-length:24 } address 172.16.0.63 { prefix-length:24 } [edit interfaces Ethernet eth0] root@vyatta# [edit interfaces Ethernet eth0] root@vyatta#commit ok [edit interfaces Ethernet eth0] root@vyatta#show address 172.16.0.65 { prefix-length:24 { Address 172.16.0.63 { Prefix-length:24 } [edit interfaces Ethernet eth0] root@vyatta# 當你提交配置改變,你只能從提交或放棄改變配置模式
跳出. . 去提交確認改變,在提示符輸入commit . 去放棄你的改變退出配置模式,輸入exit discard退
出到最開始的配置模式層次.
Configuring Basic System Information 在這部分,你能配置一些基本的系統信息,你將輸入主機
名,域,和缺省的網關. 當你結束配置,接口將被設置在圖1-1 圖1-1 缺省的配置
這順次的設置主機名:R1,域名mydomain.com,缺省網
關:172.16.0.254 root@vyatta# set system host-name R1 [edit] root@vyatta# set system domain-name mydomain.com [edit] root@vyatta# set system gateway-address
172.16.0.254 [edit] root@vyatta# commit ok [edit] root@R1# 注意那個命令提示改變了新的主機名. Configuring Ethernet Interfaces 在Vyatta OFR路由,大部分配置能運用在任意的物理接
口,或者虛擬接口(vif),那一個是為了物理接口創建的
邏輯接口.當路由被啟動,他自動探測獲得物理接口并創
在上面創建驅動,為這些配置節,看例子,在系統上有兩
個以太網接口,路由自動為eth0和eht1創建配置節. 以太網vifs只有當使用802.1Q時VLAN才去被支持.在基
本的以太網配置中,為簡單的網絡拓撲嘗試賦值,它將常
常被簡單的和適當的賦予到物理借口的ip地址上. 這里每一個物理接口是能分配多個地址,如果你想要在
你的一些物理接口上創建多個網絡 (在這,假如你想要
去使用多重地址,但不是VLANS),在最初的接口下面簡單
的創建多重地址設置節. 順序應用IP地址直接到兩個以太網接口為系統配置eth0
和eth1.(接口被自動創建在系統啟動開始的時.)每一個
IP地址是直接加到接口上的. 當配置結束,接口將被設置在圖1-2.
設置以太網IP地址 root@R1#set interfaces Ethernet eth0 address
172.168.0.65 prefix-length 24 [edit] root@R1#set interfaces Ethernet eth1 address
10.10.30.65 prefix-length 24 [edit] root@R1#commit ok root@R1#show interfaces loopback lo { } Ethernet eth0 { Address 172.16.0.65 { Prefix-length: 24 } } Ethernet eth1 { Address 10.10.30.65 { Prefix-length: 24 } [edit] root@R1
Configuring VLANS 在vyatta路由,大多數配置能直接適用到接口,或者虛擬
接口(vif).虛擬接口有自己的設置節,那一個是從屬接
口的節. 在以太網接口上,一個vif是總是一個VLAN接口,它用來
標識VLAN的ID,Vif標識去使用802.1QVLAN標志.只有在
以太網接口上設置了vifs才能得到標志包. 相同的物理接口,沒一個vif能得到多重的地址分配給它
.假如你使用802.1QVLANS, 在物理接口和分配IP地址到
vif上創建vif設置節.假如你沒有使用802.1Q,但你還想
要多重網絡在一些物理接口(在這,你想要去使用多重地
址,但沒有VLANS),簡單的在創建物理接口下面創建多重
地址設置節,沒有使用vifs. 這順序的設置了VLAN接口在路由R1---vif40 在
eth1.vif標識VLAN ID和vif連接到VLAN40. 完成配置后,接口將被配置在圖1-3
VLAN configuration [edit] root@R1#set interfaces Ethernet eth1 vif 40
address 10.10.40.65 prefix-length 24 [edit] root@R1#show interfaces Ethernet Ethernet eth0 { Address 172.16.0.65 { Prefix-length: 24 } } Ethernet eth1 { Address 10.10.30.65 { Prefix-length: 24 } Vif 40 { Address 10.10.40.65 { Prefix-length: 24 } } } [edit] root@R1# 當你涉及到vif網絡接口命令(設置以太網借口和顯示以
太網借口)可以去參考以太網int-name vif vif-id ,在
以下的例子:
Show interfaces Ethernet eth1 vif 40 當你設計一些vif的其他命令,參考int-name.vif-id,在
以下的例子: Set protocols rip interface eth1.40 address
10.10.40.65 Configuring System Service 在這部分,設置一些基本的系統信息.你將 .開啟 Telnet 訪問 .開啟 SSH 訪問 這時復習一下commit 存儲配置. 配置完成后,服務將被設置在圖1-1 圖1-4 基本的系統服務
打開telnet訪問 創建telnet服務將允許你遠程訪問路由,telnet在主機
和路由之間通過不加密的數據通信.假如使用SSH,我推
薦你關閉telnet訪問. root@R1#set service telnet [edit] root@R1#commit ok [edit] root@R1# 打開SSH訪問 打開SSH服務將允許使用加密的協議遠程訪問管理路由
器. root@R1# set service ssh `ssh' is ambiguous. Possible completions: <[Enter]> Execute this command port Port for SSH service protocol-version SSH version { Enter text on multiple
lines root@R1# set service ssh protocol-version all [edit] root@R1# set service ssh port 22 [edit] root@vyatta# commit OK [edit] root@vyatta# 假如你有軟盤設備想要去存儲這個配置,使用以下命令: root@R1#save /mnt/floppy/config/config.boot ok root@R1#
Configuring NAT 設置簡單的NAT 使內網通過網關vyatta分享上網. root@R1# create service nat rule 1 (創建新的路
由規則1) [edit] root@R1# edit service nat rule 1 (編輯1路由規則
) [edit service nat rule 1] root@R1# set type source [edit service nat rule 1] root@R1# set translation-type masquerade (指定
NAT轉換的模式為隱藏內網模式,地址偽裝。) [edit service nat rule 1] root@R1# set outbound-interface eth0 (指定外網
口為eth0) [edit service nat rule 1] root@R1# set protocols all (指定所有協議) [edit service nat rule 1] root@R1# set source network 192.168.56.0/24 (源
網絡為192.168.56.0網段的所有地址) [edit service nat rule 1] root@R1# set destination network 0.0.0.0/0 (目
的網絡為任意地址) [edit service nat rule 1] root@R1# top [edit] root@R1# commit OK [edit]
Configuring Routing Protocols
在這部分,創建簡單的路由規則,同時做以下設置: .靜態路由 .簡單路由規則 .RIP .BGP .OSPF 靜態路由 這順序的設置了靜態路由R1為網絡11.0.0.0/8 到
172.16.0.26路由.配置完成將設置成如下圖. 圖1-5 靜態路由配置
設置靜態路由 root@R1#set protocols static route 11.0.0.0/8
next-hop 172.16.0.26 [edit] root@R1#commit ok [edit] root@R1#show protocols static { route 11.0.0.0/8 { next-hop: 172.16.0.26 } } [edit] root@R1#
簡單的路由規則 路由規則允許你去使用默認的路由協議決定路由那個入
口通過路由表路由到另外的那一個出口.看這個例子,
出口策略能被應用RIP 這種策略是為了重新分配由另一
個路由得來的協議.在OSPF,這部分你為在分布路由定義
兩個規則,當你定義了路由策略,指定了那個準則,假如
匹配,將產生指定的路由協議.并非每個標準都適應每個
路由協議. 假如你想要路由協議在這釋放,例如ROP,宣布連接的接
口必須為在分配連接路由線定義一個協議. 假如你想要去重新分配靜態路由在這設置策略,在這釋
放,你必須詳細的為靜態路由出口和直通路由定義規則,
每個定義的規則必須使用指定的入口和出口應用到個別
的路由協議. 設置靜態路由出口規則 在這設置創建規則EXPORT_STATIC.這個規則直接路由協
議去重新分配所有的靜態路由. root@R1#set policy policy-statement
EXPORT_STATIC term 10 from protocol connected [edit] root@R1#commit ok [edit] root@R1@show policy policy { policy-statement “EXPORT_STATIC” { term 10 { from { protocol: “static” } Then { Action:”accept” } } } [edit] root@R1#
|