路由器知识网 手机版
当前位置: 首页 --> 路由器知识 -->

linux和windows下的网络路由学习

2024-11-19 10:23:38

一:linux

在Linux系统中,设置路由通常是为了解决以下问题:该Linux系统在一个局域网中,局域网中有一个网关,能够让机器访问Internet,那么就需要将这台机器的IP地址设置为Linux机器的默认路由。要注意的是,直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了;可以在/etc/rc.local中添加route命令来保证该路由设置永久有效

route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]

route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]

参数:

-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;

-ee :使用更详细的资讯来显示

增加 (add) 与删除 (del) 路由的相关参数:

-net :表示后面接的路由为一个网域;

-host :表示后面接的为连接到单部主机的路由;

netmask :与网域有关,可以设定 netmask 决定网域的大小;

gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;

dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等

命令参数:

-c 显示更多信息

-n 不解析名字

-v 显示详细的处理信息

-F 显示发送信息

-C 显示路由缓存

-f 清除所有网关入口的路由表。

-p 与 add 命令一起使用时使路由具有永久性。

add:添加一条新路由。

del:删除一条路由。

-net:目标地址是一个网络。

-host:目标地址是一个主机。

netmask:当添加一个网络路由时,需要使用网络掩码。

gw:路由数据包通过网关。注意,你指定的网关必须能够达到。

metric:设置路由跳数。

Command 指定您想运行的命令 (Add/Change/Delete/Print)。

Destination 指定该路由的网络目标。

mask Netmask 指定与网络目标相关的网络掩码(也被称作子网掩码)。

Gateway 指定网络目标定义的地址集和子网掩码可以到达的前进或下一跃点 IP 地址。

metric Metric 为路由指定一个整数成本值标(从 1 至 9999),当在路由表(与转发的数据包目标地址最匹配)的多个路由中进行选择时可以使用。

if Interface 为可以访问目标的接口指定接口索引。若要获得一个接口列表和它们相应的接口索引,使用 route print 命令的显示功能。可以使用十进制或十六进制值进行接口索引

[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0

# 上面这个动作可以删除掉 169.254.0.0/16 这个网域!

# 请注意,在删除的时候,需要将路由表上面出现的资讯都写入

# 包括 netmask , dev 等等参数喔!注意注意

[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0

# 透过 route add 来增加一个路由!请注意,这个路由必须要能够与你互通。

# 举例来说,如果我下达底下的指令就会显示错误:

# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254

# 因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254

# 这个网段直接使用 MAC 互通!这样说,可以理解喔!?

[root@linux ~]# route add default gw 192.168.10.30

# 增加预设路由的方法!请注意,只要有一个预设路由就够了喔!

# 在这个地方如果您随便设定后,记得使用底下的指令重新设定你的网路

添加默认网关使其能访问互联网

route add default gw 10.0.0.200


二:windows

借鉴知识和详解:

一、 windows路由表条目解释

1. 使用ipconfig /all查看网卡信息

2. 使用route print命令查看路由表信息,如下图:

3. 路由表信息解释

1)名词解释:

Active Routes:活动的路由

Network destination :目的网段

Netmask:子网掩码

Gateway:网关,又称下一跳路由器。在发送IP数据包时,网关定义了针对特定的网络目的地址,数据包发送到的下一跳服务器。如果是本地计算机直接连接到的网络,网关通常是本地计算机对应的网络接口,但是此时接口必须和网关一致;如果是远程网络或默认路由,网关通常是本地计算机所连接到的网络上的某个服务器或路由器。

Interface:接口,接口定义了针对特定的网络目的地址,本地计算机用于发送数据包的网络接口。网关必须位于和接口相同的子网(默认网关除外),否则造成在使用此路由项时需调用其他路由项,从而可能会导致路由死锁。

Metric:跳数,跳数用于指出路由的成本,通常情况下代表到达目标地址所需要经过的跳跃数量,一个跳数代表经过一个路由器。跳数越低,代表路由成本越低,优先级越高。

Persistent Routes:手动配置的静态固化路由

2)第一条路由信息:缺省路由

当系统接收到一个目的地址不在路由表中的数据包时,系统会将该数据包通过192.168.99.8这个接口发送到缺省网关192.168.99.1。

3)第二条路由信息:本地环路

当系统接收到一个发往目标网段127.0.0.0的数据包时,系统将接收发送给该网段的所有数据包。

4)第三条路由信息:直连网段的路由记录

当系统接收到一个发往目的网段192.168.99.0/24的数据包时,系统会将该数据包通过192.168.99.8这个接口发送出去。

5)第四条路由信息:本地主机路由

当系统接收到一个目标ip地址为本地网卡ip地址的数据包时,系统会将该数据包收下。

6)第五条路由信息:本地广播路由

当系统接收到一个发给直连网段的本地广播数据包时,系统会将该数据包从192.168.99.8这个接口以广播的形式发送出去。

7)第六条路由信息:组播路由

当系统接收到一个组播数据包时,系统会将该数据包从192.168.99.8这个接口以组播的形式发送出去。

8)第七条路由信息:广播路由

在系统接收到一个绝对广播数据包时,系统会将该数据包通过192.168.99.8这个接口发送出去。

9)Default Gateway(缺省网关)

二、windows路由表操作

windows路由表的设置主要通过route命令,ROUTE命令格式如下:

ROUTE [-f] [-p] [command [destination] [MASK netmask] [gateway] [METRIC metric] [IF interface]

其中 –f 参数用于清除路由表,-p参数用于永久保留某条路由(即在系统重启时不会丢失路由)。

Command主要有PRINT(打印)、ADD(添加)、DELETE(删除)、CHANGE(修改)共4个命令。

Destination代表所要达到的目标IP地址。

MASK是子网掩码的关键字。Netmask代表具体的子网掩码,如果不加说明,默认是255.255.255.255(单机IP地址)。如果代表全部出口子网掩码可用0.0.0.0。

Gateway代表出口网关。

其他interface和metric分别代表特殊路由的接口数目和到达目标地址的跳数,一般默认。

三、双网卡路由配置实例

某公司有两个网络:一个是办公网络192.168.99.0/24,网关为:192.168.99.1;一个是用来访问internet的商务网络192.168.201.0/24,网关为:192.168.201.1。现在有一台电脑使用两块网卡,一块连接公司办公网络,IP地址为192.168.99.8;另一块连接商务网络,IP地址为192.168.201.254。现在需要这台电脑既能访问办公网络,也能访问商务网络。

2. 我们再用route print命令来查看该电脑的路由表信息,该路由表跟上面介绍的路由表是一样的,只是增加了几条网卡2的路由信息,如下图所示:

3. 我们可以使用ping命令来测试网络连接情况,如下图:ping内网是通的,但是ping外网不通。也就是说现在该电脑只能访问办公网络,但是无法访问商务网络。

4. 由上面的路由表可以看到,系统有两条缺省路由,这也是造成不能同时访问两个网络的主要原因,要解决这个问题,我们就需要修改路由表。

首先使用route delete 0.0.0.0这条命令删除缺省路由;

然后手动设置两条路由,如下图所示:

5. 我们再用route print来查看路由表信息,现在我们可以看到Persistent Routes下面多了两条静态固化路由,如下图所示

6. 使用ping来测试一下网络连接情况,如下图,办公网络和商务网络都可以ping通了。该电脑现在可以正常访问办公网络和商务网络了。