返回总目录页

route命令详情

 

基础命令学习目录首页

 

linux route 命令工作原理

原文链接:https://www.cnblogs.com/lpfuture/p/5857738.html

考试题一:linux下如何添加路由(百度面试题)

 

以上是原题,老男孩老师翻译成如下3道题。

 

a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254?

b. 192.168.1.0网段, 192.168.1.1网关的某一服务器想连入172.16.1.0/24段,该如何添加路由(奇虎360)

c.如果添加一个主机路由?

请分别解答。

解答:route -net 172.16.1.0/24 gw 192.168.1.1

route 命令使用方法:

 

a.缺省网关路由

 

    默认网关就是数据包不匹配任何设定的路由规则,最后流经的地址关口!网关按字面意思就是网络的关口,就相当于我们家里房子的门一样,如果外出就要经过房门,数据包也是一样。

 

本题的答案:

 

route del default gw 10.0.0.254

 

解答实践:

 

[root@oldboy ~]# route -n #==>查看路由表,netstat -rn也可以。

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

 

10.0.0.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 eth0

 

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0

 

#==>这里就是系统的默认网关信息,表示去任何地方(0.0.0.0),都发给10.0.0.254,因为是默认网关,所以,放在了最后一条。路由也是有顺序的,如果不符合任何一条规则就交给默认网关处理。

 

[root@oldboy ~]# route del default gw 10.0.0.254 #==>这个命令是删除默认的网关。

 

[root@oldboy ~]# route -n

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

 

10.0.0.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 eth0

 

[root@oldboy ~]# route add default gw 10.0.0.254    #==>这个命令是添加默认的网关,也是本题的答案。

 

[root@oldboy ~]# netstat -rn

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

 

10.0.0.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 eth0

 

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0 #==>又回来了

 

[root@oldboy ~]# route -n

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

 

10.0.0.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 eth0

 

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0 #这里就是添加的默认网关记录。

 

特别强调:实际上route add default gw 10.0.0.254 就相当于route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.254

 

b.网络路由:即去往某一网络或网段的路由

 

    一般多网段之间互相通信,希望建立一条优先路由,而不是通过默认网关时就可以配置网络路由。还是拿房子比喻,你现在不是要出门,而是卧室,卫生间,去卧室就要经过卧室的门,去卫生间也要经过卫生间的门,这里的卧室和卫生间的门就可以认为是去往某一网段的路由,而不是默认路由(即房子的门。)

 

    实际工作中会有需求,两个不同的内部网络之间互访,而不是出网访问,就是上面例子的情况。

 

    本题的答案:

 

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

 

解答实践:

 

[root@oldboy ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

 

SIOCADDRT: 网络不可达 #==>当连不通地址192.168.1.1时,无法添加路由。

 

[root@oldboy ~]# ifconfig eth0:0 192.168.1.1/24 up #==>添加一个IP别名用于临时测试,如果永久生效最好加双网卡或写入到配置文件。

 

[root@oldboy ~]# ifconfig eth0:0 #==>查看添加的IP别名(网络里把这种多IP的方式称为子接口)

 

eth0:0    Link encap:Ethernet  HWaddr 00:0C:29:65:A4:FD 

 

          inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0

 

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

 

再来添加去192.168.1.0的数据包,交给192.168.1.1处理。

 

[root@oldboy ~]# route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

 

[root@oldboy ~]# netstat -rn   #==>和route -n很像。

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface

 

10.0.0.0        0.0.0.0         255.255.255.0   U         0 0          0 eth0

 

192.168.1.0     192.168.1.1     255.255.255.0   UG        0 0          0 eth0 #==>这就是网络路由

 

192.168.1.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 eth0

 

0.0.0.0         10.0.0.254      0.0.0.0         UG        0 0          0 eth0

 

拓展:其他写法

 

[root@oldboy ~]# route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0  #==>指定设备而不是地址。

 

[root@oldboy ~]# route -n

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

 

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

 

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

 

192.168.1.0     192.168.1.1     255.255.255.0   UG    0      0        0 eth0

 

192.168.1.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 eth0

 

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0

 

[root@oldboy ~]# route del -net 192.168.1.0/24 dev eth0   

 

[root@oldboy ~]# route add -net 192.168.1.0/24 dev eth0   

 

[root@oldboy ~]# route -n

 

Kernel IP routing table

 

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface

 

10.0.0.0        0.0.0.0         255.255.255.0   U     0      0       0 eth0

 

192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0

 

192.168.1.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 eth0

 

0.0.0.0         10.0.0.254      0.0.0.0         UG    0     0        0 eth0

 

总结:

 

route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

 

route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0

 

route add -net 192.168.1.0/24 dev eth0 

 

route del -net 192.168.1.0/24 dev eth0  

 

特别强调:以上配置在重启网络时都会失效,那么如何让它永久生效呢?

 

如果要是永久生效,有如下几种方法:

方法一:

 

vi /etc/sysconfig/network-scripts/route-eth0  #默认不存在此文件

 

加入如下内容:

 

192.168.1.0/24 via 192.168.1.1

 

提示:写到配置里,重启网络服务和重启系统都会生效!

 

 

 

 

方法二:

 

vi /etc/sysconfig/static-routes  #默认不存在此文件

 

加入如下内容:

 

any net 192.168.1.0/24 gw 192.168.1.1

 

提示:写到配置里,重启网络服务和重启系统都会生效!

 

 

 

 

方法三:

 

vi /etc/rc.local

 

加入如下内容:

 

route add -net 192.168.1.0/24 gw 192.168.1.1

 

PS: 方法一推荐生产环境使用

 

提示:方法三写到/etc/rc.local里只在开机时加载,当手工重启网络后会失效,但是重启系统后会生效!

 

 

如果是配置默认路由网关可以再网卡配置里:

[root@oldboy ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-eth0

GATEWAY=10.0.0.254

 

c.主机路由:就是去往某个主机地址如何配置路由

 

/sbin/route add -host 192.168.2.13 dev eth2

 

/sbin/route add -host 202.81.11.91 dev lo

 

例如:keepalived或heartbeat高可用服务器对之间的使用单独网卡接心跳线通信就会用到以上主机路由。

route命令拓展:

 

删除一条默认路由:

 

route del default gw 10.0.0.254

 

删除一条静态路由:

 

route del –net 目标网络 netmask

 

如:route del -net 192.168.1.0/24 或route del -net 192.168.1.0 netmask 255.225.255.0

 

删除一条主机路由:

 

route del -host 192.168.1.10 dev eth0

 

有关route命令更详细的内容需要大家执行man route查看帮助,并仔细总结。

 

有关此题,我们谈下多网段生产环境网段划分及路由的解决方案(1000台机器划分网段方案)。我们能感受到route命令不同功能应用案例

 

1.   使用背景
需要接入两个网络,一个是部署环境所在内网环境,这个环境是上不了外网, 外网环境很可能是一个无线网络。如果两者都连接上,很可能导致有一方不能起作用,即外网或内网上不了,常常需要使用繁琐的“禁用网络连接”、“启用网络连接”的操作来进行内外网的切换,甚是麻烦。
 
为了解决这个问题,可以使用route命令来使得同时内外网都可用。
 
2.   route命令
route命令是在本地 IP 路由表中显示和修改条目网络命令。
 
route命令的语法如下:
 
route [-f] [-p] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]]
route命令常用的命令如下:
 
1)route delete:删除路由;
2)route print:打印路由的Destination;
3)route add:添加路由;
4)route change:更改现存路由。
 
一般使用route delete、route add、route print这三条命令可解决路由的所有功能。
 
2.1 打印路由信息
 
       打印路由信息使用命令:route print。
 
===========================================================================
Interface List
0x1  MS TCP Loopback interface
0x2 00 26 18 31 4f d1  Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ether
net NIC - 数据包计划程序微型端口
0x50004 00 53 45 00 00 00  WAN (PPP/SLIP) Interface
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface Metric
          0.0.0.0          0.0.0.0   116.69.106.119 116.69.106.119       1
          0.0.0.0          0.0.0.0    192.168.2.226    192.168.2.79       20
    115.168.64.94 255.255.255.255   116.69.106.119 116.69.106.119       1
   116.69.106.119 255.255.255.255        127.0.0.1       127.0.0.1       50
 116.255.255.255 255.255.255.255   116.69.106.119 116.69.106.119       50
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.2.0    255.255.255.0     192.168.2.79    192.168.2.79       20
     192.168.2.79 255.255.255.255        127.0.0.1       127.0.0.1       20
    192.168.2.255 255.255.255.255     192.168.2.79    192.168.2.79       20
        224.0.0.0        240.0.0.0     192.168.2.79    192.168.2.79       20
        224.0.0.0        240.0.0.0   116.69.106.119 116.69.106.119       1
 255.255.255.255 255.255.255.255   116.69.106.119 116.69.106.119       1
 255.255.255.255 255.255.255.255     192.168.2.79    192.168.2.79       1
Default Gateway:    116.69.106.119
===========================================================================
Persistent Routes:
 None
第一列是网络目的地址。列出了路由器连接的所有的网段。
 
第二行网络掩码列提供这个网段本身的子网掩码,而不是连接到这个网段的网卡的子网掩码。这基本上能够让路由器确定目的网络的地址类。
 
第三列是网关。一旦路由器确定它要把这个数据包转发到哪一个目的网络,路由器就要查看网关列表。网关表告诉路由器这个数据包应该转发到哪一个IP地址才能达到目的网络。
 
第四列接口列告诉路由器哪一个网卡连接到了合适的目的网络。从技术上说,接口列仅告诉路由器分配给网卡的IP地址。那个网卡把路由器连接到目的网络。然而,路由器很聪明,知道这个地址绑定到哪一个物理网卡。
 
第五列是测量。测量本身是一种科学。该值越小的,可信度越高
 
下面说说每一行内容代表的内容:
Network Destination      Netmask          Gateway         Interface      Metric 
0.0.0.0                    0.0.0.0          116.69.106.119  116.69.106.119      1 
   这表示发向任意网段的数据通过本机接口116.69.106.119被送往一个默认的网关:116.69.106.119,它的管理距离是1,管理距离指的是在路径选择的过程中信息的可信度,管理距离越小的,可信度越高。
 
第二行的内容:
Network Destination      Netmask          Gateway         Interface      Metric 
0.0.0.0                    0.0.0.0          192.168.2.226  192.168.2.79      20
   这表示发向任意网段的数据通过本机接口192.168.2.79被送往网关192.168.2.226,但是因为该行的管理距离(Metric)比第一行大,即表示第二行的可信度没有第一行高,所以在默认情况下会优先选择第一行的网关出去。
 
第三行的内容:
Network Destination      Netmask          Gateway         Interface          Metric 
115.168.64.94           255.255.255.255    116.69.106.119 116.69.106.119       1
 
第四行的内容:
Network Destination      Netmask          Gateway         Interface          Metric 
116.69.106.119          255.255.255.255    127.0.0.1        127.0.0.1             50
      表示从自己的主机发送到自己主机的数据包,如果使用的是自己主机的IP地址,跟使用回环地址效果相同,通过同样的途径被路由,也就是如果我有自己的站点,我要浏览自己的站点,在IE地质栏里面输入localhost与116.69.106.119是一样的,尽管localhost被解析为 127.0.0.1。
 
 第五行的内容:
Network Destination      Netmask          Gateway         Interface          Metric 
116.255.255.255          255.255.255.255    116.69.106.119 116.69.106.119       50
   这里的目的地址是一个局域广播地址,系统对这样的数据包的处理方法是把本机116..69.106.119作为网关,发送局域广播帧,这个帧将被路由器过滤。
 
第六行的内容:
Network Destination      Netmask          Gateway         Interface          Metric 
127.0.0.0                   255.0.0.0          127.0.0.1       127.0.0.1           1
 
2.2 删除路由信息
所用的命令为:
 
route delete 网络目的地址 [mask] [子网掩码]
   例如想要删除网络目的地址为192.168.2.0,子网掩码为255.255.255.0的路由,可用:
 
route delete 192.168.2.0 mask 255.255.0.0
    删除路由时还可以用模糊匹配,例如要删除以115开头的IP路由表中的所有路由时,可用:
 
route delete 115*
 
2.3 添加路由信息
 
       添加路由信息使用如下命令:
 
route add 网络目的地址 mask 子网掩码网关 [metric] [测量值]
   例如若要向带有255.255.0.0子网掩码、10.27.0.1网关,测量值为7的10.41.0.0的目标地址添加一条路由,可使用如下命令:
 
route add 10.41.0.0 mask 255.255.0.0 10.27.0.1 metric 7
3.   应用实例
 
以调试环境为例,需要接入内网进行调试,内网地址为5.0.217.47。另外接了个无线,可以上外网自动分配了个192.168.2.110。
插上内网网线,并成功连接上外网后,此时内网是通的,但是外网连接不上。在命令窗口使用ipconfig和route print命令可以打印出当前的信息:
 
route print
===========================================================================
Interface List
0x1  MS TCP Loopback interface
0x2 00 26 18 31 4f d1  Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ether
net NIC - 数据包计划程序微型端口
0x3 00 24 2c e7 57 11  Atheros AR5006X Wireless Network Adapter - 数据
包计划程序微型端口
 
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface Metric
          0.0.0.0          0.0.0.0        5.0.217.1      5.0.217.47       10
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.110       25
        5.0.217.0 255.255.255.192       5.0.217.47      5.0.217.47       10
       5.0.217.47 255.255.255.255        127.0.0.1       127.0.0.1       10
    5.255.255.255 255.255.255.255       5.0.217.47      5.0.217.47       10
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.110   192.168.1.110       25
    192.168.1.110 255.255.255.255        127.0.0.1       127.0.0.1       25
    192.168.1.255 255.255.255.255    192.168.1.110   192.168.1.110       25
        224.0.0.0        240.0.0.0       5.0.217.47      5.0.217.47       10
        224.0.0.0        240.0.0.0    192.168.1.110   192.168.1.110       25
 255.255.255.255 255.255.255.255       5.0.217.47      5.0.217.47       1
 255.255.255.255 255.255.255.255    192.168.1.110   192.168.1.110       1
Default Gateway:       192.168.1.1
===========================================================================
Persistent Routes:
 None
 
ipconfig
 
Windows IP Configuration
Ethernet adapter 本地连接:
        Connection-specific DNS Suffix . :
        IP Address. . . . . . . . . . . . : 5.0.217.47
        Subnet Mask . . . . . . . . . . . : 255.255.255.192
        Default Gateway . . . . . . . . . :
Ethernet adapter 无线网络连接:
        Connection-specific DNS Suffix . :
        IP Address. . . . . . . . . . . . : 192.168.1.110
        Subnet Mask . . . . . . . . . . . : 255.255.255.0
        Default Gateway . . . . . . . . . : 192.168.1.1
由route print命令的结果的第一行可以看到,只所以访问不到外网,是因为默认的情况是通过5.0.217.1的内网的网关出去的。
 
为了达到能同时访问内外网的需求,只需要删除掉0.0.0.0的路由后,添加两条路由即可,将5开头的地址都通过5.0.217.1网关路由出去,而其余的地址都通过无线的网关192.168.1.110出去。参考如下:
 
route delete 0.0.0.0
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1
route add 5.0.0.0 mask 255.0.0.0 5.0.217.1
 
此时运行route print命令,可看到运行结果如下:
route print
===========================================================================
Interface List
0x1  MS TCP Loopback interface
0x2 00 26 18 31 4f d1  Realtek RTL8168C(P)/8111C(P) PCI-E Gigabit Ether
net NIC - 数据包计划程序微型端口
0x3 00 24 2c e7 57 11  Atheros AR5006X Wireless Network Adapter - 数据
包计划程序微型端口
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface Metric
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.110       1
          5.0.0.0        255.0.0.0        5.0.217.1      5.0.217.47       1
        5.0.217.0 255.255.255.192       5.0.217.47      5.0.217.47       10
       5.0.217.47 255.255.255.255        127.0.0.1       127.0.0.1       10
    5.255.255.255 255.255.255.255       5.0.217.47      5.0.217.47       10
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.110   192.168.1.110       25
    192.168.1.110 255.255.255.255        127.0.0.1       127.0.0.1       25
    192.168.1.255 255.255.255.255    192.168.1.110   192.168.1.110       25
        224.0.0.0        240.0.0.0       5.0.217.47      5.0.217.47       10
        224.0.0.0        240.0.0.0    192.168.1.110   192.168.1.110       25
 255.255.255.255 255.255.255.255       5.0.217.47      5.0.217.47       1
 255.255.255.255 255.255.255.255    192.168.1.110   192.168.1.110       1
Default Gateway:       192.168.1.1
===========================================================================
Persistent Routes:
 None
   可看到默认是通过无线的192.168.1.110出去的,此时内外网都可以同时用了
---------------------
作者:zqixiao_09
来源:CSDN
原文:https://blog.csdn.net/zqixiao_09/article/details/53401818
版权声明:本文为博主原创文章,转载请附上博文链接!

 

原文链接:http://blog.51cto.com/13574027/2084953

一 路由的基础知识:
1)路由概念
路由: 跨越从源主机到目标主机的一个互联网络来转发数据包的过程
路由器:能够将数据包转发到正确的目的地,并在转发过程中选择最佳路径的设备
路由表:在路由器中维护的路由条目,路由器根据路由表做路径选择
直连路由:当在路由器上配置了接口的IP地址,并且接口状态为up的时候,路由表中就出现直连路由项
静态路由:是由管理员手工配置的,是单向的。
默认路由:当路由器在路由表中找不到目标网络的路由条目时,路由器把请求转发到默认路由接口 。

2)静态路由和默认路由的特点
静态路由特点:
路由表是手工设置的;
除非网络管理员干预,否则静态路由不会发生变化;
路由表的形成不需要占用网络资源;
适用环境:一般用于网络规模很小、拓扑结构固定的网络中。

默认路由特点:
在所有路由类型中,默认路由的优先级最低
适用环境:一般应用在只有一个出口的末端网络中或作为其他路由的补充

浮动静态路由:
路由表中存在相同目标网络的路由条目时,根据路由条目优先级的高低,将请求转发到相应端口;
链路冗余的作用;

3)路由器转发数据包时的封装过程
源IP和目标IP不发生变化,在网络的每一段传输时,源和目标MAC发生变化,进行重新封装,分别是每一段的源和目标地址

4)要完成对数据包的路由,一个路由器必须至少了解以下内容:
a)目的地址
b)相连路由器,并可以从哪里获得远程网络的信息
c)到所有远程网络的可能路由
d)到达每个远程网络的最佳路由
e)如何维护并验证路由信息
f)路由和交换的对比
路由工作在网络层
a)根据“路由表”转发数据
b)路由选择
c)路由转发
交换工作在数据链路层
d)根据“MAC地址表”转发数据
e)硬件转发
二.命令参数:
-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 命令的显示功能。可以使用十进制或十六进制值进行接口索引。
三 命令使用例子
1.添加到主机的路由
#route add -host 192.168.1.2 dev eth0:0
#route add -host 10.20.30.148 gw 10.20.30.40
2.添加到网络的路由
#route add -net 10.20.30.40 netmask 255.255.255.248 eth0
#route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
#route add -net 192.168.1.0/24 eth1
3.添加默认路由
#route add default gw 192.168.1.1

4.删除路由
#route del -host 192.168.1.2 dev eth0:0
#route del -host 10.20.30.148 gw 10.20.30.40
#route del -net 10.20.30.40 netmask 255.255.255.248 eth0
#route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
#route del -net 192.168.1.0/24 eth1
#route del default gw 192.168.1.1 //route del default 删除所有的默认路由

添加一条默认路由
#route add default gw 10.0.0.1 //默认只在内存中生效开机自启动可以追加到/etc/rc.local文件里
#echo "route add default gw 10.0.0.1" >>/etc/rc.local

添加一条静态路由
#route add -net 192.168.2.0/24 gw 192.168.2.254
要永久生效的话要这样做:
#echo "any net 192.168.2.0/24 gw 192.168.2.254" >>/etc/sysconfig/static-routes

添加到一台主机的静态路由
route add -host 192.168.2.2 gw 192.168.2.254
要永久生效的话要这样做:
#echo "any host 192.168.2.2 gw 192.168.2.254 " >>/etc/sysconfig/static-routes
注:Linux 默认没有这个文件 ,得手动创建一个
5设置包转发
在Linux中默认的内核配置已经包含了路由功能,但默认并没有在系统启动时启用此功能;
开启Linux的路由功能可以通过调整内核的网络参数来实现,方法如下:
临时开启路由功能:
#echo 1 > /proc/sys/net/ipv4/ip_forward
或者# sysctl -w net.ipv4.ip_forward=1
永久开启路由功能
#vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
#sysctl -p
6.静态路由配置
添加静态路由到路由表的语法如下:
1.ip route [destination_network] [mask] [next-hop_address]administrative_distance]
参数解析:
ip route 用于创建静态路由的命令。
Destination_network 需要发布到路由表中的网段。
Mask 在这一网络上使用的子网掩码。
Next-hop_address 下一跳路由器的地址。
administrative_distance 默认时,静态路由有一个取值为1 的管理性距离。在这个命令的尾部添加管理权来修改这个默认值。
例如
ip route 172.16.1.0 255.255.255.0 172.16.2.1
查看路由表除了使用route -n命令外,还可以使用ip route
[root@dev~]# ip route
192.168.1.17 dev ppp0 proto kernel scope link src 192.168.1.190
10.1.32.14 dev tun0 scope link
10.1.32.12 dev tun0 scope link
10.4.8.2 via 192.168.9.254 dev eth0 src 192.168.9.200 mtu 1500 advmss 1460
10.4.9.0/24 dev tun0 scope link
192.168.9.0/24 dev eth0 proto kernel scope link src 192.168.9.200 metric 1
10.2.0.0/16 dev tun0 scope link
10.0.0.0/16 dev tun0 scope link
10.1.0.0/16 dev tun0 scope link
192.168.0.0/16 dev tun0 scope link
default via 192.168.9.254 dev eth0
[root@dev ~]# ip route
192.168.1.17 dev ppp0 proto kernel scope link src 192.168.1.190
10.1.32.14 dev tun0 scope link
10.1.32.12 dev tun0 scope link
10.4.8.2 via 192.168.9.254 dev eth0 src 192.168.9.200 mtu 1500 advmss 1460
10.4.9.0/24 dev tun0 scope link
192.168.9.0/24 dev eth0 proto kernel scope link src 192.168.9.200 metric 1
10.2.0.0/16 dev tun0 scope link
10.0.0.0/16 dev tun0 scope link
10.1.0.0/16 dev tun0 scope link
192.168.0.0/16 dev tun0 scope link
default via 192.168.9.254 dev eth0
二. linux网卡命令
Centos6
ifconfig 查看所有网卡
ifconfig -网卡名 查看单个网卡信息
ifconfig up 网卡名 重启网卡
ifconfig down 网卡名 禁用网卡
/etc/sysconfig/network-scripts/ 网卡配置文件
Centos6手动改网卡:
vim /etc/sysconfig/network-scripts/ifcfg-ethX
DEVICE=eth0 //设备名字
ONBOOT=yes //是否开启
NM_CONTROLLED=yes //是否实时生效
BOOTPROTO=static //ip的状态
IPADDR=172.18.253.211 //ip
PREFIX=16 //ip id
GATEWAY=172.18.0.1//网关
DNS1=172.18.0.1 //域名
HWADDR=00:0C:29:55:04:FE //mac地址

Centos7 nmlic命令集
显示所有网络连接:nmcli con show
显示活动网络连接:nmcli con show -active
显示指定网络连接的详情:nmcli con show eno16777728
显示网络设备连接状态:nmcli dev status
显示所有网络设备的详情:nmcli dev show
显示指定网络设备的详情:nmcli dev show eno16777728
启用网络连接:nmcli con up eno16777728 停用网络连接(可被自动激活):nmcli con down eno33554960
禁用网卡,防止被自动激活:nmcli dev dis eth0
删除网络连接的配置文件:nmcli con del eno33554960
重新加载配置网络配置文件:nmcli con reload
动态获取IP方式的网络连接配置:nmcli con add con-name eno16777728 type ethernet ifname eno16777728
指定静态IP方式的网络连接配置:nmcli con add con-name eno16777728 ifname eno16777728 autoconnect yes type ethernet ip4 10.1.254.254/16 gw4 10.1.0.1
启用/关闭所有的网络连接:nmcli net on/off 禁用网络设备并防止自动激活:nmcli con dis eno33554960
查看添加网络连接配置的帮助:nmcli con add help

修改网络连接单项参数
nmcli con mod IF-NAME connection.autoconnect yes修改为自动连接
nmcli con mod IF-NAME ipv4.method manual | dhcp修改IP地址是静态还是DHCP
nmcli con mod IF-NAME ipv4.addresses “172.25.X.10/24 172.25.X.254”修改IP配置及网关
nmcli con mod IF-NAME ipv4.gateway 10.1.0.1修改默认网关
nmcli con mod IF-NAME +ipv4.addresses 10.10.10.10/16添加第二个IP地址
nmcli con mod IF-NAME ipv4.dns 114.114.114.114添加dns1
nmcli con mod IF-NAME +ipv4.dns 8.8.8.8添加dns2
nmcli con mod IF-NAME -ipv4.dns 8.8.8.8删除dns

posted @ 2019-02-05 17:07  马昌伟  阅读(17882)  评论(0编辑  收藏  举报
博主链接地址:https://www.cnblogs.com/machangwei-8/