Linux的路由與網關:
路由(Routing):
路由是指從一個設備(一般指路由器)的接口上接收到數據包,依據設備所既定的某些規則,將數據包轉發到其它接口的 “過程”。路由工作在OSI參考模型第三層——網絡層的數據包轉發設備。路由器通過轉發數據包來實現網絡互連
路由器(Router):
路由器是用於連接多個邏輯上分開的網絡,所謂邏輯網絡是代表一個單獨的網絡或者一個子網。當數據從一個子網傳輸到另一個子網時,可通過路由器的路由功能來完成。因此,路由器具有判斷網絡地址和選擇IP路徑的功能,它能在多網絡互聯環境中,建立靈活的連接,可用完全不同的數據分組和介質訪問方法連接各種子網,路由器只接受源站或其他路由器的信息,屬網絡層的一種互聯設備(能實現路由功能的設備,就叫路由器)
路由表(Routing Information Base ):
路由表是指路由器或者其他互聯網網絡設備上存儲的一張路由信息表,該表中存有到達特定網絡終端的路徑,在某些情況下,還有一些與這些路徑相關的度量。(進行數據包路由時,所依據的 規則 集合。供路由時選擇)
網關(Gateway):
網關又稱網間連接器、協議轉換器。網關在網絡層以上實現網絡互連,是最複雜的網絡互連設備,僅用於兩個高層協議不同的網絡互連。網關既可以用於廣域網互連,也可以用於局域網互連。 網關是一種充當轉換重任的計算機系統或設備。使用在不同的通信協議、數據格式或語言,甚至體系結構完全不同的兩種系統之間,網關是一個翻譯器。與網橋只是簡單地傳達信息不同,網關對收到的信息要重新打包,以適應目的系統的需求。同層--應用層。(連接2個以上物理網絡的設備)
- 根據路由表的管理方式不同,分爲
=== 靜態路由:直接用route命令,手動增加的路由記錄。
=== 動態路由:通過相關的路由學習軟件,比如zebra,這些軟件可以動態的偵測
根據路由表的存在,分爲
=== 臨時路由:route add 命令指派,重啓網卡或者計算機的時候,消失
=== 永久路由:路由信息寫入配置文件中,永久存在
linux下查看和設置路由的命令
route 查看本機路由表 route
route -n 顯示路由表的時候,全部用IP地址信息顯示,不顯示主機名
== route 命令配置靜態路由 ==
== 增加普通路由
route add -net 10.1.1.0 netmask 255.255.255.0 gw 10.1.1.1
== 增加默認路由
1、route add default gw 10.1.1.1 (臨時指派)
2、網卡配置中的 GATEWAY=10.1.1.1 ----> 默認路由---->重啓網卡生效 (永久指派)
== 刪除普通路由:
route del -net 10.1.1.0 netmask 255.255.255.0
== 刪除默認路由:
route del default gw 10.1.1.1
== 查詢路由表 route -n
打開作爲路由器的 Linux 主機的核心路由轉發功能
vim /etc/sysctl.conf ##添加下面一行
net.ipv4.ip_forward = 1 ##“0”是關閉 “1”開啓(保存退出)
執行命令: sysctl -p #讓修改核心路由轉發功能即時生效
總結 ping :包的 四種故障解析 :
1、connect: Network is unreachable 網絡不可達: 本機 路由表無法判定
2、Destination Host Unreachable 主機不可達: 局域網中無法找到對應IP的MAC地址,無法完成封裝
3、 destination net unreachable 來自於下一跳主機的迴應, 本機將包轉發給網關時,網關也無法到達目標網絡
4、 如下圖 無迴應:只出,不回,對方無法返回,或者中間的轉發設備丟棄了我們的包