配置:关闭防火墙

linux1    地址1: 192.168.10.10/24 地址2:192.168.20.10/24(不指定网关,做为路由,自己就是网关)

linux2    地址1: 192.168.20.20/24 地址2:192.168.80.10/24(不指定网关,做为路由,自己就是网关)

win2003    地址:192.168.10.100/24  网关 192.168.10.10

winxp  地址1: 192.168.80.100/24  网关 192.168.80.10

一.启用Linux路由功能

1.配置文件在 /etc/sysctl.conf  里的 net.ipv4.ip_forwartd=1启用路由功能

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward

0     ipv4/ip_forward =0 表示没有启用路由功能

[root@localhost ~]# echo '1'>/proc/sys/net/ipv4/ip_forward  启用路由功能(零时生效)

[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward 
1
[root@localhost ~]# vi /etc/sysctl.conf   配置 net.ipv4.ip_forwartd=1启用路由功能
[root@localhost ~]# service network start
[root@localhost ~]# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296

sysctl -p   (显示内核参数)  sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。

二.设置路由转发,实现win2003和XP互ping

1.查看路由表和添加静态路由 (创建一个route-ethX 的文件,其中ethX一定是网卡名称,linux路由器上有多个网卡,那属于那一个网卡呢!属于转发出去的那个。如图)

在linux1/etc/sysconfig/nework-scripts/route-eth1 创建一个route-eth1的文件,添加如下:

ADDRESS1=192.168.80.0

NETMASK1=255.255.255.0

GATEWAY1=192.168.20.20

或者: route add -net  192.168.80.0 netmask 255.255.255.0  gw 192.168.20.20

在linux2/etc/sysconfig/nework-scripts/route-eth0 创建一个route-eth0的文件,添加如下:

ADDRESS1=192.168.10.0

NETMASK1=255.255.255.0

GATEWAY1=192.168.20.10

或者: route add -net  192.168.10.0 netmask 255.255.255.0  gw 192.168.20.10

如果添加的是默认路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。

2.重启服务

[root@www ~]# service network restart

正在关闭接口 eth0: [确定]
正在关闭接口 eth1: [确定]
关闭环回接口: [确定]
禁用 IPv4 包转送: net.ipv4.ip_forward = 0
[确定]
弹出环回接口: [确定]
弹出界面 eth0: [确定]
弹出界面 eth1: [确定]

3.查看路由设置
[root@www ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.80.0 192.168.20.20 255.255.255.0 UG 0 0 0 eth1
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1

[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.80.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.10.0 192.168.20.10 255.255.255.0 UG 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1

4.(win2003)测试走过和路由

C:\Documents and Settings\Administrator>pathping 192.168.80.100

Tracing route to WINXP [192.168.80.100]
over a maximum of 30 hops:
0 win2003 [192.168.10.100]
1 192.168.10.10
2 192.168.20.20
3 WINXP [192.168.80.100]

5.(winxp)测试走过和路由

C:\Documents and Settings\Administrator>pathping 192.168.10.100

Tracing route to 192.168.10.100 over a maximum of 30 hops

0 192.168.80.100
1 192.168.80.10
2 192.168.20.10
3 192.168.10.100

三.实验:策略路由,根据端口或IP地址有方向的选择要走的路径(电信与联通)

1.对两台LINUX添加块网卡,并设置成VMnet3 网段。 如图

2.本实验是根据上一实验进行的,取消静态路由设置。

2. 安装iproute软件。

3.要求:192.168.80.100数据包到192.168.10.100走VMnet2的电信通道,  到192.168.10.0网段走VMnet3的联通。

4.在linux2上创建路由表

[root@localhost ~]# gedit /etc/sysconfig/network-scripts/route-eth0(注意文件名,是在eth1接口上)

ADDRESS1=192.168.10.100(具体到PC)

NETMASK1=255.255.255.255

GATEWAY1=192.168.20.10

[root@localhost ~]# gedit /etc/sysconfig/network-scripts/route-eth2(注意文件名,是在eth2接口上)

ADDRESS1=192.168.10.0

NETMASK1=255.255.255.0

GATEWAY1=192.168.30.10

[root@localhost ~]# service network restart
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.100 192.168.20.10 255.255.255.255 UGH 0 0 0 eth0
192.168.20.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.80.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.10.0 192.168.30.10 255.255.255.0 UG 0 0 0 eth2
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth2

5.在linux1上创建策略路由表和策略

创建策略路由表

[root@www ~]# rpm -qa | grep iproute  查看是否安装 iproute

iproute-2.6.18-10.el5

[root@www ~]# cat /etc/iproute2/rt_tables   查看所有路由表
# reserved values
255 local
254 main    
 route -n  显示的就是这个表。
253 default
0 unspec
# local
#1 inr.ruhep

[root@www ~]# gedit /etc/iproute2/rt_tables 

# reserved values
255 local
254 main
253 default
0 unspec

251 dianxin    #电信
252 liantong   #联通
# local
#1 inr.ruhep

添加静态路由到表中。 说明到80网段有两个路径到。

[root@www ~]# ip route add 192.168.80.0/24 via 192.168.20.20 table 251     
[root@www ~]# ip route add 192.168.80.0/24 via 192.168.30.20 table 252
[root@www ~]# ip route show table 251
192.168.80.0/24 via 192.168.20.20 dev eth1
[root@www ~]# ip route show table 252
192.168.80.0/24 via 192.168.30.20 dev eth2

两种显示:ip route show table 251  或  ip route show table dainxin 显示路由表

配置文件,永久生效。

在linux1/etc/sysconfig/nework-scripts/route-eth1   192.168.80.0/24 via 192.168.20.20 table 251     

在linux1/etc/sysconfig/nework-scripts/route-eth2   192.168.80.0/24 via 192.168.30.20 table 252

[root@www ~]# ip rule show  显示路由规则优先级
0: from all lookup 255
32766: from all lookup main
32767: from all lookup default
创建规则:说明100地址回去的路径走“table 251”的路由表。pref 是优先级,独立 IP地址的优先级当然更高。
[root@www ~]# ip rule add from 192.168.10.100/32 table 251 pref 10
[root@www ~]# ip rule add from 192.168.10.0/24 table 252 pref 100

[root@www ~]# ip rule show
0: from all lookup 255
10: from 192.168.10.100 lookup dianxin
100: from 192.168.10.0/24 lookup liantong
32766: from all lookup main
32767: from all lookup default

6.测试

C:\Documents and Settings\Administrator>pathping 192.168.80.100

Tracing route to WINXP [192.168.80.100]
over a maximum of 30 hops:
0 win2003 [192.168.10.100]
1 192.168.10.10
2 192.168.20.20
3 WINXP [192.168.80.100]

更换IP地址测试

C:\Documents and Settings\Administrator>pathping 192.168.80.100

Tracing route to WINXP [192.168.80.100]

over a maximum of 30 hops:
0 win2003 [192.168.10.111]
1 192.168.10.10
2 192.168.30.20   
说明走的是不同端口
3 WINXP [192.168.80.100]

=====================================================================

Linux 最多可以支持 255 张路由表,其中有 3 张表是内置的,不能删除。

表255 本地路由表(Local table):本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。

表254 主路由表(Main table) :如果没有指明路由所属的表,所有的路由都默认都放在这个表里。旧的路由工具(如route)所添加的路由都会加到这个表。

表253 默认路由表 (Default table):这个表的作用不清楚,一般也用不到

表 0 保留

默认的路由策略

通过  ip rule ls 可以看到 Linux 默认的路由策略:

0:                            from all lookup local

32766:                   from all lookup main

32767:                   from all lookup default

可以看到:

1.       有三条策略,它们的优先级分别是  0,32766 和 32767;

2.       这些策略都是根据源地址来选择路由表,它们适用于任何源地址的情况(from all);

3.       0 级的策略优先级最高,它选定 local 表,这适应于目的地址是本机地址或者广播地址的情况。

4.       32766 级的策略选定 main 表,它适用于目的地址为普通地址的情况,这张表也就是通过工具 ‘route’ 看到的那张路由表。

配置LINUX为路由的更多相关文章

  1. 配置linux实现路由功能

    说明: 主机1是内网的数据存储服务器,只有一块网卡10.0.0.2: 主机2是web服务器,有两块网卡,一块面向内网10.0.0.3,一块面向外网192.168.220.136: (因为是在虚拟机的环 ...

  2. Linux下路由配置梳理

    在日常运维作业中,经常会碰到路由表的操作.下面就linux运维中的路由操作做一梳理:---------------------------------------------------------- ...

  3. linux 下路由配置

    转自 https://www.cnblogs.com/kevingrace/p/6490627.html 在日常运维作业中,经常会碰到路由表的操作.下面就linux运维中的路由操作做一梳理:----- ...

  4. 配置Linux实现静态路由

    配置Linux实现静态路由 背景和原理 路由器的功能是实现一个网段到另一个网段之间的通信,路由分为静态路由.动态路由. 默认路由和直连路由.静态路由是手工指定的,使用静态路由的好处是网络安全保密性高. ...

  5. Linux下路由配置梳理(转)

    转自:https://www.cnblogs.com/kevingrace/p/6490627.html 在日常运维作业中,经常会碰到路由表的操作.下面就linux运维中的路由操作做一梳理:----- ...

  6. 记录下WIN下配置LINUX虚拟机及PYTHON环境

    因为听说服务器端大多都是LINUX/UNIX,LINUX是程序员必须适应的编程环境,所以今天折腾了一下,给笔记本装了个LINUX虚拟机,并顺便给WINDOWS和LINUX都配置了PYTHON环境. 这 ...

  7. 配置Linux数据转发(给其他接口转发一个接口的internet网络)

    配置Linux数据转发 [主机]第一步开启转发net.ipv4.ip_forward = 1echo "1" > /proc/sys/net/ipv4/ip_forward第 ...

  8. Linux学习笔记1:配置Linux网络和克隆虚拟机并更改配置

    一.配置Linux网络 在安装Linux的时候,一定要保证你的物理网络的IP是手动设置的,要不然会在Linux设置IP连通网络的时候会报network is unreachable 并且怎么也找不到问 ...

  9. Java JDK 8 安装和环境变量的配置(Linux and Windows)

    Java JDK 8 的安装以及环境变量的配置(Linux and Windows) JDK(Java Development Kit)包含了Java语言的编译器,能够在这里下载: http://ww ...

随机推荐

  1. codeforces 676D Theseus and labyrinth BFS搜索

    分析:一个n*m的矩阵,每个格子有12个状态,每次按一次,每个格子转90度,所以整个矩阵只有4种状态,然后爆搜就好了 #include <cstdio> #include <iost ...

  2. 50道经典的JAVA编程题(21-25)

    50道经典的JAVA编程题(21-25),明天早上java考试了,还是坚持做题吧...这题比老师的题好多了! [程序21]TestJieCheng.java题目:求1+2!+3!+...+20!的和1 ...

  3. empty(trim($str))报错原因

    最近写程序的时候发现一个这样的问题,一个if判断如下: [php] if (!empty(trim($ch_url))) { ... } [/php] 执行程序报出如下错误: [code] Fatal ...

  4. Tomcat普通用户启动注意事项

    今天项目部署上线,老大跟我建议说不要使用root用户部署,试用普通用户运行.刚开始没想什么,后来部署的时候碰到各种权限问题. 记录一下,以防忘记了. 1.使用普通用户启动失败. 首先不用想就去$TOM ...

  5. nodejs学习:师哥自家的twenty博客框架

    这周继续为DTree项目预热,学习sails框架的搭建和结构熟悉.正好师哥在做一个nodejs的CMS框架twenty,他们用的就是sails框架. 结构 首先简单了解一下结构.在jade文件里由an ...

  6. 将树莓派Raspberry Pi设置为无线路由器(WiFi热点AP,RTL8188CUS芯片)

    http://wangye.org/blog/archives/845/ 最近又开始折腾起Raspberry Pi来了,因为某处上网需要锐捷拨号,于是我就想能不能让我的树莓派代劳,当然首先要将其改造为 ...

  7. Hadoop概念学习系列之URI深入(三十二)

    ls  /   ------------------------  这是查本地Linux上的根 hadoop fs -ls /   ------------- 这是查hdfs上的根 或者,   had ...

  8. spring框架中一个跟String的trim方法一样的方法

    @Test public void testTrimWhitespace() throws Exception { assertEquals(null, StringUtils.trimWhitesp ...

  9. Objective-C Runtime 运行时之三:方法与消息

    基础数据类型 SEL SEL又叫选择器,是表示一个方法的selector的指针,其定义如下: typedef struct objc_selector *SEL; objc_selector结构体的详 ...

  10. hdu1863 畅通工程(最小生成树之prim)

    Problem Description 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).经过调查评估,得到的统计表中列出了有可 ...