歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS添加永久靜態路由

CentOS添加永久靜態路由

日期:2017/2/28 15:59:27   编辑:Linux教程
今天又有朋友問,如何在CentOS裡添加永久靜態路由?這裡總結一下,做個備忘錄。
參考RedHat Enterprise 6的官方文檔:
http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-static-routes.html 我們的服務器一般啟用兩個網卡,一個配內網地址,一個配外網地址,但我們一般只為外網卡配置默認網關。因為如果兩個網卡都配置默認網關的話,數據包出去的時候會不知道該走哪個網關。 本機跟其它機器通信時,會把數據包發送到默認網關,然後默認網關把數據包轉發到目的主機。由於配置了外網網卡的默認網關,所以本機與目的主機的外網IP進行通信是OK的;但是與內網IP進行通信就沒辦法了,因為默認網關無法到達內網網段。(當然,如果這台LINUX機器開啟了路由轉發就另當別論了。) 為了與內網網段中的機器進行通信,我們寫一條靜態路由,來指定一個通向內網網段的路徑。本文講的就是如何在CentOS中添加永久靜態路由。 添加永久靜態路由的方法是,把路由表寫入/etc/sysconfig/network-scripts/route-interface配置文件中。interface是你的網卡,如eth1的靜態路由配置文件就是route-eth1。 route-interface配置文件有兩種寫法:ip命令格式和network/netmask格式: ip命令格式:
  1. default via gateway dev interface // gateway替換成你的默認網關,interface替換成你的網卡
  2. ip/netmask via gateway dev interface
  3. … // 根據需要添加更多的靜態路由
network/netmask指令格式:
  1. ADDRESS0=網段,該網段即你想要到達的網段
  2. NETMASK0=掩碼
  3. GATEWAY0=網關地址,該網關為本網卡的出口網關,它能夠到達ADDRESS0
  4. … // 根據需要添加更多的靜態路由
  5. ...
我們以第一種ip命令格式為例進行說明。
按照官方網站的說法,路由表中的default路由可以省略,因為使用的是默認網關。
重點是第二條路由,它指向了我們所希望到達的特定網段。ip/netmask是你想要到達的網段,gateway是本網卡的出口網關,interface指定網卡。
我們看一段網上的示例,該配置為網卡eth0添加了兩條靜態路由:
  1. 10.0.0.0/8 via 10.126.40.254
  2. 192.168.188.0/22 via 10.126.40.254
上述配置添加了兩條靜態路由,分別指向了10.0.0.0/8網段,以及 192.168.188.0/22網段。10.126.40.254即是eth0的出口網關。
上述配置來自於:http://www.m690.com/?p=346。 我自己的服務器配置示例,為網卡eth1配置了兩條靜態路由:
  1. GATEWAY0=10.10.14.254
  2. NETMASK0=255.255.0.0
  3. ADDRESS0=192.168.0.0
  4. GATEWAY1=10.10.14.254
  5. NETMASK1=255.255.0.0
  6. ADDRESS1=10.10.0.0
我們也是添加了兩條靜態路由,分別指向了10.10.0.0/16網段和192.168.0.0/16網段,使用網卡eth1的出口網關10.10.14.254。
官方提示,使用該格式時,如果有多條靜態路由,每條靜態路由必須按順序編號,如ADDRESS0, ADDRESS1, ADDRESS2等,不能跳著編號。
注:網上有資料說,第二條路由中的gateway是下一跳的網關。我特地去問了網絡部的同事,他說那是不對的,那個gateway實際上是本網卡的出口網關。
第一條default路由中的gateway,即是外網網卡的默認網關。
第二條路由中的gateway(網卡的出口網關)和default路由中的gateway(默認網關)有什麼區別?RedHat Enterprise 6的官方文檔中說: The X.X.X.X (指網卡的出口網關)address does not have to be the default gateway IP address。In most cases, X.X.X.X will be an IP address in a different subnet,and interface will be the interface that is connected to, or can reach, that subnet。 文檔中所說的different subnet指的是與默認網關不同的子網,該子網必須與interface的IP在同一網段。這裡的子網一般是指內網網卡所在子網,這裡的gateway一般是指內網網卡的網關。
Copyright © Linux教程網 All Rights Reserved