路由表基礎知識

使用 route 命令能夠查看 Linux 內核路由表html

wKiom1eQSECCZInYAAAvLLRjv6I422.png

各個輸出項的說明:
網絡

wKiom1eQSKaSnnARAAA3No0_so0786.png

3 種路由類型

主機路由

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

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的路由器。spa

Destination    Gateway       Genmask    Flags     Metric    Ref    Use    Iface
-----------    -------     ------- -----      ------    ---    ---    -----
default       192.168.1.1     0.0.0.0    UG       0        0     0    eth0

配置靜態路由

route 命令

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

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

其中:htm

  • add : 添加一條路由規則blog

  • del : 刪除一條路由規則接口

  • -net : 目的地址是一個網絡ip

  • -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


BGP路由:BGP是自治系統間的路由協議,BGP交換的網絡可達性信息提供了足夠的信息來檢測路由迴路並根據性能優先和策略約束對路由進行決策。

http://bbs.51cto.com/thread-1093898-1.html

相關文章
相關標籤/搜索