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

--------------------------------------------------------------------

学习linux时,你可能会遇到配置静态路由的问题,这里将介绍配置linux静态路由问题的解决方法,在这里拿出来和大家分享一下。现在有五个设备,PC1接ROUT1,ROUT1再接ROUT2,ROUT2再接ROUT3,ROUT3再接PC2,拓扑图见下:

□————○————○————○————□

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/24

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.66

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.100

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.66

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
补充几个命令:
1、删除默认路由
#route del default
2、linux静态路由查看
#route -n
3、设置指定网段路由
#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
4、删除指定网段路由
#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

ubuntu 配置静态路由的更多相关文章

  1. ubuntu配置静态路由

    1. #ifconfig 注意 eth0为你要配置的interfase 2. #vi /etc/network/interfaces # This file describes the network ...

  2. 关于ubuntu配置静态IP 无法正常上网的解决方案

    在ubuntu中配置静态IP后无法正常上网. 解决: 1.在终端执行 vim /etc/network/interfaces 在文件中加入如下内容,网关要写上,我开始一直无法上网就是因为没有配置网关 ...

  3. Centos7/RHEL 7 配置静态路由

    如图: 业务地址:192.168.10.0/24    192.168.20.0/24管理地址:172.168.10.0/24    172.168.20.0/24 需求:每台主机配置两张网卡,分别连 ...

  4. Network基础(五):配置静态路由、配置浮动路由、配置多路由的静态路由、配置默认路由

    一.配置静态路由 目标: 配置路由接口IP地址并通过静态路由的配置实现全网的互通. 方案: 按如下网络拓扑配置接口IP地址并通过静态路由的配置实现全网的互通如下图所示: 步骤: 步骤一:配置静态路由 ...

  5. 技能实际操作:如何为Centos7 配置静态路由?

    如图: 业务地址:192.168.10.0/24 ---- 192.168.20.0/24 管理地址:172.168.10.0/24 --- 172.168.20.0/24 需求:每台主机配置两张网卡 ...

  6. H3C路由器配置——静态路由

    一.网络畅通条件及排错思路 1.网络畅通的条件 网络畅通的条件:数据包能去能回,也是我们排除网络故障的理论依据. 2.网络不畅通示列 ①.目标主机不可达 原因分析:可能是数据包没有到达目的地,在中途就 ...

  7. 华为HCIA认证零基础入门-网络工程师必备之什么是静态路由?如何配置静态路由?

    一.静态路由功能介绍:静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络. 当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要. 二.静态路由应用场 ...

  8. 实验一:在FW上配置静态路由实现互通

    实验:在FW上配置静态路由实现互通 网络拓扑图 一.配置步骤 1.配置IP地址 R1: FW: ISP:       2.配置路由 ①在R2上面配置静态路由 ②在ISP上面配置静态路由 3.在FW上配 ...

  9. CentOS启动网络提示connect: Network is unreachable(配置静态路由)

    ls /etc/sysconfig/network-script/ifcfg-eth0 一.看是否在上述目录下存在ifcfg-eth0 这个文件,若存在则按下面的步骤操作: 1.手工配置ip看能不能配 ...

随机推荐

  1. Git 迁库 标签

    Git迁库 (一)克隆裸库 git clone --bare https://github.com/SunArmy/Tourist.git 克隆之后进入该目录下是这样的 (二)创建新的版本库 这里我已 ...

  2. MAC应用无法打开或文件损坏的处理方法

    在MAC下安装一些软件时提示"来自身份不明开发者",其实这是MAC新系统启用了新的安全机制.默认只信任 Mac App Store 下载的软件和拥有开发者 ID 签名的应用程序.换 ...

  3. BZOJ 4173 数论

    思路: $(m%k+n%k>=k) *phi(k)$ $我们不妨设n=q_1k+r_1 m=q_2k+r$2 $n+m=(q_1+q_2)k+r1+r2$ ${\lfloor}\frac{n+m ...

  4. 【LeetCode】105 & 106 Construct Binary Tree from (Preorder and Inorder) || (Inorder and Postorder)Traversal

    Description: Given arrays recording 'Preorder and Inorder' Traversal (Problem 105) or  'Inorder and ...

  5. .net framework 3.5 安装报错 0x800F0954问题

    windows Server 2019 .net framework 3.5 安装报错 0x800F0954问题 .net framework 3.5的安装教程:但是安装出现0x800F0954这个错 ...

  6. C#学习-执行存储过程

    使用存储的优点 1.执行更快.直接写sql脚本会有个解析编译的过程. 2.修改方便.当业务改变时,只需要改存储过程,不需要修改C#代码 3.传递Sql脚本数据相对更小 缺点: 1.使用存储过程,数据库 ...

  7. html——细线表格

    细线: 1.table表格设置背景色 2.table中设置单元格距离 3.tr标签设置另外一种背景色 <!DOCTYPE html> <html> <head lang= ...

  8. CSS3设计炫目字体

    阴影 .text-shadow{ text-shadow:#FF0000 0 0 10px; color:white; font-size:60px } 描边 <style> .text- ...

  9. GridView中的日期处理

    数字 {0:N2} 12.36  数字 {0:N0} 13  货币 {0:c2} $12.36  货币 {0:c4} $12.3656  货币  "¥{0:N2}"  ¥12.36 ...

  10. [HDU5807] Keep In Touch

    \(Keep\ In\ Touch\):保持联络 \(Informatik\ verbindet\ dich\ und\ mich.\) 信息将你我连结? 发现这个方程很容易列出来. \(f[i][j ...