ubuntu 配置靜態路由

原文: http://blog.sina.com.cn/s/blog_6fd8d5d90101f1xy.htmlhtml

--------------------------------------------------------------------linux

學習linux時,你可能會遇到配置靜態路由的問題,這裏將介紹配置linux靜態路由問題的解決方法,在這裏拿出來和你們分享一下。如今有五個設備,PC1接ROUT1,ROUT1再接ROUT2,ROUT2再接ROUT3,ROUT3再接PC2,拓撲圖見下:ubuntu

□————○————○————○————□服務器

PC1      ROUT1     ROUT2     ROUT3      PC2網絡

五個設備的linux靜態路由IP地址分別爲:
PC1 192.168.1.88/24
ROUT1 192.168.1.128/24 192.168.2.128/24
ROUT2 192.168.2.66/24 192.168.3.66/24
ROUT3 192.168.3.100/24 192.168.4.33/24
PC2 192.168.4.66/24oop

PC1配置以下:
#ifconfig eth0 192.168.1.88 netmask 255.255.255.0
#route add default gw 192.168.1.128學習

ROUT1配置以下:
#ifconfig eth0 192.168.1.128 netmask 255.255.255.0
#ifconfig eth0: 1 192.168.2.128 netmask 255.255.255.0
#route add -net 192.168.4.0/24 gw 192.168.2.66rest

ROUT2配置以下:
#ifconfig eth0 192.168.2.66 netmask 255.255.255.0
#ifconfig eth0: 1 192.168.3.66 netmask 255.255.255.0
#route add -net 192.168.1.0/24 gw 192.168.2.128
#route add -net 192.168.4.0/24 gw 192.168.3.100router

ROUT3配置以下:
#ifconfig eth0 192.168.3.100 netmask 255.255.255.0
#ifconfig eth0: 1 192.168.4.33 netmask 255.255.255.0
#route add -net 192.168.1.0/24 gw 192.168.3.66server

PC2配置以下:
#ifconfig eth0 192.168.4.66 netmask 255.255.255.0
#route add default gw 192.168.4.33
這樣PC1就能ping通PC2了。

注:
上面三個器這裏用三臺PC代替。用電腦代替器,必需要啓用電腦的IP轉發功能,改/proc/sys/net/ipv4/ip_forward裏的內容爲1(默認爲0),用下面的命令完成
#e cho 1 > /proc/sys/net/ipv4/ip_forward
網絡重啓後,上面的文件自動改成0
補充幾個命令:
一、刪除默認路由
#route del default
二、linux靜態路由查看
#route -n
三、設置指定網段路由
#route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.6.66
或者
#route add -net 192.168.3.0/24 gw 192.168.6.66
四、刪除指定網段路由
#route del -net 192.168.3.0 netmask 255.255.255.0
或者
#route del -net 192.168.3.0/24
以上給你們介紹的是linux靜態路由的配置方法。

nternet------(eth1)router1(eth2)------(eth1)router2(eth0)------(eth0)router3(eth1)------(eth0)pc

上面就是個人網絡拓撲結構,其中路由器1是用來鏈接外部網絡的一臺linux機器,圖中全部路由器都是普通的pc機,這些pc都安裝了ubuntu桌面系統,除了最右邊的pc,其他的pc都裝了3張網卡(其中一張備用)。

因爲Debian系的網卡配置跟Redhat系很不同,Redhat是放在/etc/sysconfig/network-scripts目錄下面的一大堆文件裏面。而Debian系的網卡配置則是存在/etc/network/interfaces這個文件裏面,並且無論你有多少塊網卡,系統都把配置通通放在這個文件裏。下面就來看一下這個文件的內容。

首先,咱們來看router1的配置:

auto lo
iface lo inet loopback
iface lo inet6 loopback
auto eth0
iface eth0 inet static
      address 192.168.2.1
      network 192.168.2.0
      netmask 255.255.255.0
      broadcast 192.168.2.255
      up route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0
      down route del -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0
      up route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0
      down route del -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.2 dev eth0
iface eth0 inet6 static
      address 2000:2::1
      netmask 64
      up route -A inet6 add 2000:3::/64 gw 2000:2::2
      up route -A inet6 add 2000:4::/64 gw 2000:2::2
      down route -A inet6 del 2000:3::/64 gw 2000:2::2
      down route -A inet6 del 2000:4::/64 gw 2000:2::2
auto eth1
iface eth1 inet dhcp

上面的配置中,

auto說明lo接口跟eth0接口會在系統啓動時被自動配置;lo爲一個本地迴環(loopback)地址,這裏分別設置了v4和v6兩個 loopback;static說明這是一個靜態的IP配置;後面配置的做用在於在接口啓用的時候,添加兩條靜態路由,而且在接口禁用的時候,刪掉這兩條路由配置。至於配置路由的寫法,跟cmd line下的route命令同樣(除了開頭的up down)。

後面的eth1是鏈接外部的Internet,因此用了跟外面相連的dhcp。

路由器在配好這個文件以後,還須要enable自身的ip轉發,這就須要進入到/etc/sysctl.conf這個文件當中,加入 net.ipv4.ip_forward=1,以及net.ipv6.default.ip_forward=1這兩句話。退出後,再sysctl -p /etc/sysctl.conf。這就打開了ip轉發。

配好轉發以後,還不能對外上網,但router之間已經能互相ping通,這就須要在每臺router上配置dns服務器,須要在/etc/resolv.conf中加入相應信息:

search test.com
nameserver *.*.*.*

這樣以後後面的幾臺路由器均可以根據本身的dft gw找到router1並取得跟外網的聯繫並連上Internet了

若是要配ipv6的multicast,這就要藉助mrd6這個軟件來實現,具體配置方法很是簡單,你只要把deb包安裝好,而後配置mrd.conf這個文件就行。運行的時候只要在有mrd.conf文件的文件夾下sudo mrd6就ok了。

其他router的配置與router1大抵相同,而pc跟這個不一樣

 

重啓網絡配置

sudo /etc/init.d/networking restart

相關文章
相關標籤/搜索