网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连

就好像一个房间可以有多扇门一样,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包。默认网关。默认网关一般填写192.168.x.1

需要特别注意的是:默认网关必须是电脑自己所在的网段中的IP地址,而不能填写其他网段中的IP地址

直接在命令行下执行route命令来添加路由,不会永久保存,当网卡重启或者机器重启之后,该路由就失效了。永久方法:

  1. 在/etc/rc.local里添加
  2. 在/etc/sysconfig/network里添加到末尾

命令格式

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

-net:路由为一个网域

-host:连接到主机的路由

dev:指定由哪一块网卡连线出去

-f:清除所有不是主路由(网掩码为 255.255.255.255 的路由)、环回网络路由(目标为 127.0.0.0,网掩码为 255.255.255.0 的路由)或多播路由(目标为 224.0.0.0,网掩码为 240.0.0.0 的路由)的条目的路由表

例子

# route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
# route add -host 192.56.76.11 gw 192.168.2.16

-net:必须指定netmask。否则报”Invalid argument”错误

gw:指定下一跳地址

Flags

  1. U (route is up):该路由是启动的
  2. H (target is a host):目标是一主机 (IP) 而非网域
  3. G (use gateway):需要透过外部的主机 (gateway) 来转递封包
  4. R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标
  5. D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由
  6. M (modified from routing daemon or redirect):路由已经被修改了
  7. ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)
  8. A (installed by addrconf)
  9. C (cache entry)

配置路由

比如,你的主机处于192.168.10.0/24,而你想访问192.168.20.0/24网的主机,当然你知道一个网关IP,例如192.168.10.1(必须和你主机处于同一子网)

# route add -net 192.168.20.0 netmask 255.255.255.0 gw 192.168.10.1

路由表

Destination     Gateway         Genmask         Flage Metric Ref Use Iface
192.168.100.0 * 255.255.255.0 U 0 0 0 eth0
127.0.0.0 * 255.255.255.0 U 0 0 0 l0
default 192.168.100.5 0.0.0.0 UG 0 0 0 eth0

第一行指192.168.100.0网段数据包通过eth0口发出

第三行指其余数据包下一跳为192.168.100.5(默认网关)

重复设定多个同样的路由

Kernel  IP  routing  table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1

也就是说,由于路由是依照顺序来排列与传送的,所以不论封包是由那个介面 (eth0, eth1) 所接收,都会由上述的 eth0 传送出去

下达错误指令

# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254

系统会报”No suck process”错误。要求相连网口必须处于同一网段

因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254这个网段直接使用 MAC 互通

linux route路由的更多相关文章

  1. linux route 路由设置小记

    情景一: 有一台ip为172.16.160.53服务器,此服务器为固定ip,由于某些特殊情况,此服务器的ip不能修改. 现在这台服务器需要与另外一个网段ip为172.16.176.150服务器进行局域 ...

  2. linux route命令的使用详解 添加永久静态路由 tracert traceroute

    linux route命令的使用详解 添加永久静态路由  tracert  traceroute route -n    Linuxroute  print  Windows traceroute  ...

  3. linux route命令的使用详解

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

  4. route路由的顺序问题了数据包的转发流程

    2018-02-28   15:29:26 [root@linux ~]# routeKernel IP routing tableDestination     Gateway           ...

  5. Linux下路由配置梳理

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

  6. linux 下路由配置

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

  7. (转)linux route命令深入浅出与实战案例精讲

    linux route命令深入浅出与实战案例精讲 http://blog.51cto.com/oldboy/1119453 深入浅出之-route命令实战使用指南 http://blog.51cto. ...

  8. (转)linux route命令详解

    linux route命令详解 原文:https://www.cnblogs.com/lpfuture/p/5857738.html   &&   http://blog.csdn.n ...

  9. linux route命令的使用详解(转)

    route命令用于显示和操作IP路由表.要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或者同时位于两个网络的网关来实现.在Linux系统中,设置路由通常是 为了解决以下问题:该Linu ...

随机推荐

  1. MyBatisSystemException 【exception】

    org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: ...

  2. limits the number of elements in an IN predicate to 2100 entries.

    org.hibernate.engine.jdbc.spi.SqlExceptionHelper 131 - [TxId : f68db5f5b-qmgnc^1561639897640^271530 ...

  3. Debian9 安装软件汇总

    dpkg dpkg -i 安装本地安装包 echo 'pkgname newstat' | dpkg --set-selections 修改软件包安装状态 newstat install,deinst ...

  4. 剑指offer15 二进制中1的个数

    题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数.例如,把9表示成二进制是1001,有2位是1.因此,如果输入9则函数输出2. int Number(int n) { ; while ...

  5. 使用PostMan进行压力/性能测试

    1. 2. 3. 4.查看结果/导出结果

  6. c++功能与方法笔记

    1. windows判断创建目录 #include <Shlwapi.h> #pragma comment(lib, "shlwapi.lib") //windows ...

  7. NIO (一) NIO是什么

    参考文档:java为什么需要NIO:https://liuchi.coding.me/2017/08/01/浅谈Java为什么需要NIO/美团技术团队 NIO浅析:https://tech.meitu ...

  8. MVC发布出现:未能将文件bin\xxx.xml 复制到 obj\Release\PackageTmp\bin\xxx.xml,未能找到文件

    之前写的项目好好的,也可以发布,然后今天要发布MVC项目,一直报错,报下面这个错误 莫名其妙搞了好久,没搜到合理的解决方案,结果就只能瞎搞了. 突然想起了,我前几天犯贱把项目根目录下的bin文件夹和o ...

  9. TP5接口开发之异常处理接管

    前几天在开发的时候用到了第三方的扩展包,使用过程中第三方扩展包抛出了异常 因为这边是接口开发,需要返回错误代码以及提示信息等,所以就需要接管异常处理. 此文章只做笔记,有不对或不详细的地方欢迎大家留言 ...

  10. keil 编译器V6 定义函数在ram中运行-和在指定地址定义常量

    之前一直是用v5编译,编译速度慢,换成V6编译速度差不多快50% ,而且arm后期只维护v5编译器不在更新v5编译器.切换到V6编译器大势所趋,把之前v5且换到v6需要如下更改: 1. CMSIS包需 ...