歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux維護 >> 實例解析 用Linux操作系統構建的路由器

實例解析 用Linux操作系統構建的路由器

日期:2017/3/2 10:40:31   编辑:Linux維護

網絡結構如圖,Linux路由器這台計算機標識為A,它與三個網段相連,192.168.1.0/24,10.0.0.0/8,172.16.0.0/16.

A計算機必須擁有三塊網卡,分別與三個網段相連。

假設:

eth0與172.16.0.0相連,

eth1與10.0.0.0相連,

eth2與192.168.1.0相連。

首先來配置eth0.給這個網絡接口分配地址172.16.1.1,運行下列命令:

# ifconfig eth0 172.16.1.1 netmask 255.255.0.0

同樣編輯/etc/sysconfig/network-scripts目錄下的ifcfg-eth1文件,內容如下:

DEVICE = eth1

ONBOOT = yes

BROADCAST = 10.255.255.255

NETWORK = 10.0.0.0

NETMASK = 255.0.0.0

IPADDR = 10.254.254.254

再增加一條靜態路由:

# route add -net 10.0.0.0 netmask 255.0.0.0

網絡中當前的路由表為

# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

172.16.0.0 * 255.255.0.0 U 0 0 0 eth0

10.0.0.0 * 255.0.0.0 U 0 0 0 eth1

最後配置eth3,它連接192.168.1.0網段,分配的IP地址是192.168.1.254,執行下列命令:

# ifconfig eth2 192.168.1.254 netmask 255.255.255.0

編輯/etc/sysconfig/network-scripts目錄下的ifcfg-eth2文件,內容如下:

DEVICE = eth2

ONBOOT = yes

BROADCAST = 192.168.1.255

NETWORK = 192.168.1.0

NETMASK = 255.255.255.0

IPADDR = 192.168.1.254

再增加一條靜態路由:

# route add -net 192.168.1.0 netmask 255.255.255.0

這樣網絡中就有三條靜態路由記錄了: # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

172.16.0.0 * 255.255.0.0 U 0 0 0 eth0

10.0.0.0 * 255.0.0.0 U 0 0 0 eth1

192.168.1.0 * 255.255.255.0 U 0 0 0 eth2

還要為系統增加一條缺省路由,因為缺省的路由是把所有的數據包都發往它的上一級網關(假設地址是172.16.1.100,這個地址依賴於使用的網絡而定,由網絡管理員分配),因此增加如下的缺省路由記錄:

# route add default gw 172.16.1.100

這樣系統的靜態路由表建立完成,它的內容是

# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

172.16.0.0 * 255.255.0.0 U 0 0 0 eth0

10.0.0.0 * 255.0.0.0 U 0 0 0 eth1

192.168.1.0 * 255.255.255.0 U 0 0 0 eth2

default 172.16.1.100 0.0.0.0 UG 0 0 0 eth0

最後一步,要增加系統的IP轉發功能。這個功能由/proc/sys/net/ipv4目錄下的ip_forward文件控制,執行如下命令打開ip轉發功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

這樣我們的路由器基本上是配置好了

測試路由器的工作情況。

在linux路由器上測試:

第一步,測試自身網絡是否工作正常,執行如下命令

ping 172.16.1.1

ping 192.168.1.254

ping 10.254.254.254

如果這些地址都能ping通,則第一步通過,否則查找原因,排除錯誤。

第二步,測試與上一級網關之間是否連通

ping 172.16.1.100

如果通暢,則正常;否則查找錯誤原因。

在192.168.1.0網絡內測試,假設它的地址是192.168.1.1,

第一步,測試自身是否工作正常, ping 192.168.1.1

第二步,測試與網關是否連通, ping 192.168.1.254

第三步,測試與10.254.254.99是否連通,這是10.0.0.0網段內的一台計算機 ping 10.254.254.99

第四步,測試與外網地址是否連通 ping 172.16.1.100 如果連通了,表示路由器配置正確,否則,查找原因,並排除之。

為了使這個地址不再計算機重新啟動後消失,編輯/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改為如下格式:

DEVICE = eth0

ONBOOT = yes

BROADCAST = 172.16.255.255

NETWORK = 172.16.0.0

NETMASK = 255.255.0.0

IPADDR = 172.16.1.1

增加一條靜態路由:

# route add -net 172.16.0.0 netmask 255.255.0.0

這樣系統中就增加了一條靜態路由:

# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface

172.16.0.0 * 255.255.0.0 U 0 0 0 eth0

接下來,配置eth1,eth1與10.0.0.0網段相連,分配給它的地址是10.254.254.254,使用ifconfig命令為它配置參數:

# ifconfig eth1 10.254.254.254 netmask 255.0.0.0

Copyright © Linux教程網 All Rights Reserved