route指定路由表 linux,關於Linux路由表的route命令

轉自:http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html

查看 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 命令的輸出項說明

輸出項             說明

Destination      目標網段或者主機

Gateway          網關地址,”*” 表示目標是本主機所屬的網絡,不需要路由

Genmask         網絡掩碼

Flags               標記

一些可能的標記如下:

U — 路由是活動的

H — 目標是一個主機

N— 目標時某個網段

G — 路由指向網關

R — 恢復動態路由產生的表項

D — 由路由的后台程序動態地安裝

M — 由路由的后台程序修改

! — 拒絕路由

Metric 路由距離,到達指定網絡所需的中轉數(linux 內核中沒有使用)。

Ref 路由項引用次數(linux 內核中沒有使用)。

Use 此路由項被路由軟件查找的次數 。

Iface 該路由表項對應的輸出接口 。

***********************************************************************************************************************************

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

2

0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值