route基础1

参考文档:https://wenku.baidu.com/view/7792bcc5b4daa58da1114a99.html

  http://www.cnblogs.com/kevingrace/p/6490627.html

1.普通主机与路由器的根本区别在与,主机不会将一个报文从一个接口转发到另一个接口,而路由器可以转发报文。

2.IP层维护着一张路由表,当接收到报文时,用路由表来决策接下来做什么操作,当从网络接收到数据报文时,IP

层首先会检测报文的IP地址是不是自己自身的地址,如果是,则报文将被发送到传输层相应的协议中区,如不是,

且本身配置了路由器的功能,则将报文转发到,否则丢弃。

3.路由表中的数据一般是以条目形式存在,一个典型的路由表条目,一般包含以下主要条目

一,目的ip地址:可以是一台主机的ip地址,也可以是一个网络地址,如是主机地址,则他的主机ID标记为非零,

如是一个网络地址,则主机ID标记为零

二,下个路由的ip地址: 因为这个报文可能需要多个路由的转发才能到目的地址

三,标志,提供了目的地址是主机地址还是网络地址的信息,也提供了下个路由器真的是一个路由器还是一个直接

相连的接口

四,网络接口规范

//------------------------------------------------------------------------------------------------------------------------------

route 命令

root@zabbix:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.11.1    0.0.0.0                  UG    0       0        0 eth0
localnet        *                      255.255.255.0         U     0        0        0 eth0        
root@zabbix:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0                   UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0        U      0      0        0 eth0

-n 参数表示直接使用IP或port number;

Destination:目标网络或目标主机

Gateway:网关地址,如果没有就显示星号

Genmask:网络掩码   默认路由的一般都是0.0.0.0

Flags:一共有多少个旗帜

    U:该路由是启动的

    H:目标是主机(IP)而非网域

    G:需要透过外部的主机(gateway)来转发   (use gateway)即网关路由

    R:使用动态路由是,恢复路由资讯的旗帜

    D:已经有服务或转port功能设定位动态路由

    M:路由已经被修改了

    O!:这个路由不会被接受(用来抵挡不安全的网域)

Metric  距离,跳数 (linux内核没有使用)

Ref     基本一直为0

Use     改路由被使用的次数 (可粗略估计通向指定网络地址的网络流量)

Iface   接口,eth0等网络接口名

//----------------------------------------------------------------------------------------------------

root@zabbix:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.11.1    0.0.0.0                  UG    0       0        0 eth0
localnet        *                      255.255.255.0         U     0        0        0 eth0   ——》表示本地网路,不需要网关即可到达


如果我想往本地的192.168.11.30传数据,路由就直接通过192.168.11.0/24这个网络路由送到192.168.11.30上

如果我想网www.baidu.com传数据,路由就通过default默认路由来传送,即通过eth0将包传给192.168.11.1这个

gateway主机。

网关:如我的机器有4张网卡,分别设置了A,B,C,D 不同的网段,他们想要互相通信就要通过各自的网关,

网关的地址是具有路由功能的机器的ip地址,如192.168.11.1与192.168.12.1 都在一个具有路由共能的机器上,

那么这两个ip地址就可以被设置成两个网关,其各自网段内的ip想访问另一个网段时,就同过自己的网关来联系

对方的网关,进而找到目标主机。(网关可以看成是路由器上的ip地址)(自己理解)

//------------------------------------------------------------------------------------------------------------------

route

add 添加路由

-host  主机路由 (目的地址是一台主机)

-net    网络路由  (目的地址是以个网络)

del  删除路由

我的一台机器是192.168.11.99 另一台是192.168.11.199 现在给192.168.11.99 加上一个10网段的ip

192.168.11.99上执行:ifconfig eth0:0 10.0.0.10

让后用199的机器来ping 10.0.0.10 发先ping不同 要想使其能ping通 则需要加路由

route add -net 10.0.0.0/8 gw 192.168.11.99  把99的ip做为网关

发现用199在去ping 已经可以ping通了

同理 加一条主机路由也同样可以ping通

route add -host 10.0.0.10 gw 192.168.11.99


删除路由

root@zabbix:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    0      0        0 eth0
10.0.0.0        192.168.11.99   255.0.0.0       UG    0      0        0 eth0
10.0.0.0        192.168.11.1    255.0.0.0       UG    0      0        0 eth0
10.0.11.0       192.168.11.1    255.255.255.0   UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

root@zabbix:~# route del -net 10.0.11.0/24删除了10.0.11.0/24 网段的路由
root@zabbix:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.11.1    0.0.0.0         UG    0      0        0 eth0
10.0.0.0        192.168.11.99   255.0.0.0       UG    0      0        0 eth0
10.0.0.0        192.168.11.1    255.0.0.0       UG    0      0        0 eth0
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0

//-----------------------------------------------------------------------------------------------------------------

以上命令都是临时生效  在debian系列里 要想使其永久生效 可以将命令加到/etc/network/interfaces里

如:



# The loopback network interface
auto lo
iface lo inet loopback


# The primary network interface
allow-hotplug eth0
iface eth0 inet static
        address 192.168.11.199
        netmask 255.255.255.0
        network 192.168.11.0
        broadcast 192.168.11.255
        gateway 192.168.11.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 8.8.8.8
        dns-search zabbix.top
        up route add -net 10.0.0.0/8 gateway 192.168.11.99 dev eth0
        down route del -net 10.0.0.0/8 gateway 192.168.11.99 dev eth0

当eth0激活时启动该规则 当eth0失效时删除该规则

//--------------------------------------------------------------------------------------------------------------------





















發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章