萬盛學電腦網

 萬盛學電腦網 >> 路由器知識 >> 路由器基礎 >> 如何維護linux 路由表

如何維護linux 路由表

  本文是小編帶來如何維護linux 路由表,歡迎大家閱讀。

  Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟件、應用程序和網絡協議。

  查看 Linux 內核路由表

  使用下面的 route 命令可以查看 Linux 內核路由表。

  # route

  Destination Gateway Genmask Flags Metric Ref Use Iface

  192.168.0.0 * 255.255.255.0 U 0 0 0 eth0

  169.254.0.0 * 255.255.0.0 U 0 0 0 eth0

  default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0

  route 命令的輸出項說明

Linux 內核路由表

  3 種路由類型

  主機路由

  主機路由是路由選擇表中指向單個IP地址或主機名的路由記錄。主機路由的Flags字段為H。例如,在下面的示例中,本地主機通過IP地址192.168.1.1的路由器到達IP地址為10.0.0.10的主機。

  Destination Gateway Genmask Flags Metric Ref Use Iface

  10.0.0.10 192.168.1.1 255.255.255.255 UH 0 0 0 eth0

  網絡路由

  網絡路由是代表主機可以到達的網絡。網絡路由的Flags字段為N。例如,在下面的示例中,本地主機將發送到網絡192.19.12的數據包轉發到IP地址為192.168.1.1的路由器。

  Destination Gateway Genmask Flags Metric Ref Use Iface

  192.19.12 192.168.1.1 255.255.255.0 UN 0 0 0 eth0

  默認路由

  當主機不能在路由表中查找到目標主機的IP地址或網絡路由時,數據包就被發送到默認路由(默認網關)上。默認路由的Flags字段為G。例如,在下面的示例中,默認路由是IP地址為192.168.1.1的路由器。

  Destination Gateway Genmask Flags Metric Ref Use Iface

  default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

  配置靜態路由

  route 命令

  設置和查看路由表都可以用 route 命令,設置內核路由表的命令格式是:

  # route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

  其中:

  * add : 添加一條路由規則

  * del : 刪除一條路由規則

  * net : 目的地址是一個網絡

  * host : 目的地址是一個主機

  * target : 目的網絡或主機

  * netmask : 目的地址的網絡掩碼

  * gw : 路由數據包通過的網關

  * dev : 為路由指定的網絡接口

  route 命令使用舉例

  添加到主機的路由

  # route add -host 192.168.1.2 dev eth0:0

  # route add -host 10.20.30.148 gw 10.20.30.40

  添加到網絡的路由

  # route add -net 10.20.30.40 netmask 255.255.255.248 eth0

  # route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

  # route add -net 192.168.1.0/24 eth1

  添加默認路由

  # route add default gw 192.168.1.1

  刪除路由

  # route del -host 192.168.1.2 dev eth0:0

  # route del -host 10.20.30.148 gw 10.20.30.40

  # route del -net 10.20.30.40 netmask 255.255.255.248 eth0

  # route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41

  # route del -net 192.168.1.0/24 eth1

  # route del default gw 192.168.1.1

  設置包轉發

  在 CentOS 中默認的內核配置已經包含了路由功能,但默認並沒有在系統啟動時啟用此功能。開啟 Linux 的路由功能可以通過調整內核的網絡參數來實現。要配置和調整內核參數可以使用 sysctl 命令。例如:要開啟 Linux 內核的數據包轉發功能可以使用如下的命令。

  # sysctl -w net.ipv4.ip_forward=1

  這樣設置之後,當前系統就能實現包轉發,但下次啟動計算機時將失效。為了使在下次啟動計算機時仍然有效,需要將下面的行寫入配置文件/etc/sysctl.conf。

  # vi /etc/sysctl.conf

  net.ipv4.ip_forward = 1

  用戶還可以使用如下的命令查看當前系統是否支持包轉發。

  # sysctl net.ipv4.ip_forward

copyright © 萬盛學電腦網 all rights reserved