linux系统的路由功能

1、概要

   大家应该都明白,不同网段的报文包传播,是需要路由的转发转发功能的,那么,一个linux操作系统能不能充当路由器呢?下面不妨来验证一下。



2、网络拓扑

wKioL1fL2HvQjQ9HAABcwhriRjg125.png


3、实现过程

   <1>俩个centos6分别充当Router1和Router2。并添加足够的网卡。

   <2>关闭NetworkManager

   <3>配置centos6-1

[root@centos6 network-scripts]# vim ifcfg-eth0
DEVICE=eth0
IPADDR=192.168.0.1
PREFIX=24
[root@centos6 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
IPADDR=10.0.0.1
PREFIX=8
[root@centos6 network-scripts]# service network restart

    <4>配置centos6-2

[root@centos6 network-scripts]# vim ifcfg-eth0
DEVICE=eth0
IPADDR=172.16.0.1
PREFIX=16
[root@centos6 network-scripts]# vim ifcfg-eth1
DEVICE=eth1
IPADDR=10.0.0.2
PREFIX=8
[root@centos6 network-scripts]# service network restart

    <5>添加路由

# centos6-1添加路由
[root@centos6 network-scripts]# route add -net 172.16.0.0/16 gw 10.0.0.2 dev eth1
[root@centos6 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0 
10.1.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth2
172.16.0.0      10.0.0.2        255.255.0.0     UG    0      0        0 eth1 #添加的
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1004   0        0 eth2
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth1
# centos6-2添加路由
[root@centos6 network-scripts]# route add -net 192.168.0.0/24 gw 10.0.0.1 dev eth1
[root@centos6 network-scripts]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     10.0.0.1        255.255.255.0   UG    0      0        0 eth1 #添加的
10.1.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth2
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1004   0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1005   0        0 eth2
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.0.0.0        0.0.0.0         255.0.0.0       U     0      0        0 eth1

补充:删除路由使用route del -net *.*.*.*/#

    <7>启用路由功能

# centos6-1启用
[root@centos6 network-scripts]# echo 1 > /proc/sys/net/ipv4/ip_forward
# centos6-2启用
[root@centos6 network-scripts]# echo 1 > /proc/sys/net/ipv4/ip_forward

    <8>清空防火墙

# centos6-1清空
[root@centos6 network-scripts]# iptables -F
# centos6-1清空
[root@centos6 network-scripts]# iptables -F

    <8>测试

准备
#另一台虚拟机
[root@centos7~]#ifconfig 
eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.222  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 fe80::20c:29ff:fe44:5b8d  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:44:5b:8d  txqueuelen 1000  (Ethernet)
        RX packets 72946  bytes 6742470 (6.4 MiB)
        RX errors 0  dropped 10  overruns 0  frame 0
        TX packets 3002  bytes 488833 (477.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# windows配置172.16.0.100/16
[root@centos7~]#ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=63 time=1.11 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=63 time=0.357 ms    # ttl至已经改变,减少一跳
[root@centos7~]#ping 172.16.0.100
PING 172.16.0.100 (172.16.0.100) 56(84) bytes of data.
64 bytes from 172.16.0.100: icmp_seq=1 ttl=62 time=1.12 ms
64 bytes from 172.16.0.100: icmp_seq=2 ttl=62 time=0.783 ms
64 bytes from 172.16.0.100: icmp_seq=3 ttl=62 time=0.785 ms    # ttl减少2,成功

 完成。      

补充:

手动指定IP:ifconfig eth0 *.*.*.*/#

            ifconfig eth0 up/down

手动添加路由 route add defaults gw IP 

             route del -net *.*.*.*/#

原创文章,作者:mfwing,如若转载,请注明出处:http://www.178linux.com/43612

(0)
mfwingmfwing
上一篇 2016-09-06
下一篇 2016-09-06

相关推荐

  • 1. linux basic cmd

    一。 国有股加点廉价航空j 1. 2. 二。

    2017-11-13
  • Linux目录配置整理

    FHS:   为了规范各种Linux发行版的目录配置方法和目录定义而制定了FHS规范。   在FHS规范的Linux中,所有的文件和目录都由根目录开始,即“/”,它是所有文件和目录的起点。然后按层次化的树状划分下来。这种目录结构被称为“目录树”。 目录树的特性:   ·起始点为根目录(/或root)   ·每一个目录不…

    Linux干货 2016-07-07
  • sed基础

    sed 是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space ),接着用sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件, 简化对文件的反复操…

    Linux干货 2017-05-01
  • 第三周作业

    列出当前系统上所有已经登录的用户名,同一个用户登录多次,则只显示一次 [root@app02 ~]# who |grep -o -E '^\<[a-zA-Z]+\>'|sort -u root XIAOXIN 2. 取出最后登录到当前系统的用户相关信息 [r…

    Linux干货 2016-08-29
  • 交互式与非交互式的区别

    交互式与非交互式shell /登录shell于非登录shell 外网连不上,教室装修太吵,相关资料找不到,云云不知所云,托托症又犯了 登录shell_非登录shell // .bash_profile .bashrc profile 文件的作用的执行顺序 http://blog.csdn.net/robertaqi/archive/2010/04/04/54…

    Linux干货 2017-06-11

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 15:03

    文章整体思路清晰,从一个问题引入,到通过自己的实验来论证自己的想法,最后希望作者也能将实验结果单独总结出来。