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失效時刪除該規則

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





















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