以下均为个人实验验证结果,如有问题,恳请指正。

现在服务器一般都有四张网卡,给了我们更多网络模型的选择。为了业务的需求,有时我们需要如下网络架构

系统:centos 7.2 x64

两张网卡不在同一个网络里,
        eno16777736: 10.0.0.11/24
        eno33554984: 192.168.111.128/24
    ping 10.0.0.1

抓包查看如下:

证明网卡:报文是从eno16777736网卡出去的。

ping 192.168.111.129

抓包查看如下:

证明网卡报文是从eno33554984网卡出去的。

ping baidu.com

抓包如下:

证明连接外网是从eno16777736网卡出去的。

说明:在linux上,默认的配置就实现了如上的需求,接下来我们查看该服务器的路由情况。

为了进一步理解路由的作用,我们一条一条的分析。

首先删除第一条路由规则:
        第一条路由规则为默认路由:

尝试ping 10.0.0.1

此时,我们在尝试ping baidu.com

网络直接返回不可达。

路由的概念:路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程。
    而当我们把默认路由删除,对于访问同网段10.0.0.0/24地址来说,不需要路由的转发,同网段的访问是直接mac地址通信,而当你要访问非本网段内的主机时,就需要一台设备明确的知道你要访问的主机在何处,而你的主机就必须指向这台设备才行,这台设备就启用转发的功能帮你完成数据包的发送,这个设备就叫做路由设备。

接下来,我们的路由表里还有两条路由规则:

10.0.0.0/24 dev eno16777736  proto kernel  scope link  src 10.0.0.11  metric 100

说明:当需要发送/接收网段为:10.0.0.0/24报文时,从 eno16777736 网卡进行发送/接收。

192.168.111.0/24 dev eno33554984  proto kernel  scope link  src 192.168.111.128  metric 100

说明:当需要发送/接收网段为:192.168.111.0/24报文时,从 eno33554984 网卡发送/接收。

删除第二条规则进行验证:

ping 192.168.111.129

对于本机网卡来说,此路由规则就好像是一扇门,当删掉这条路由规则时,门就关闭了,外面的人进不来,里面的人出不去。

因此,我们总结下:
        在使用一张物理网卡的主机上,至少需要两条路由规则,一条为默认网关路由,一条为网卡路由。
        在使用两张物理网卡的主机上,至少需要三条路由规则,一条为默认网关路由,两条为网卡路由。
        以此类推。

如果想让服务器隔离外网,直接删除默认路由即可。

附:

    ip route 命令使用如下;
# ip route show 查看路由表
# ip route add default via 10.0.0.1 添加默认路由
# ip route del 192.168.111.0/ 删除路由
# ip route add 192.168.111.0/ dev eno33554984 添加网卡路由

【 浅谈Linux路由机制 】的更多相关文章

  1. 浅谈Linux中的信号处理机制(二)

    首先谢谢 @小尧弟 这位朋友对我昨天夜里写的一篇<浅谈Linux中的信号处理机制(一)>的指正,之前的题目我用的“浅析”一词,给人一种要剖析内核的感觉.本人自知功力不够,尚且不能对着Lin ...

  2. 浅谈 Linux 内核无线子系统

    浅谈 Linux 内核无线子系统 本文目录 1. 全局概览 2. 模块间接口 3. 数据路径与管理路径 4. 数据包是如何被发送? 5. 谈谈管理路径 6. 数据包又是如何被接收? 7. 总结一下 L ...

  3. 【VS开发】【DSP开发】浅谈Linux PCI设备驱动(二)

    我们在 浅谈Linux PCI设备驱动(一)中(以下简称 浅谈(一) )介绍了PCI的配置寄存器组,而Linux PCI初始化就是使用了这些寄存器来进行的.后面我们会举个例子来说明Linux PCI设 ...

  4. (转)浅谈 Linux 内核无线子系统

    前言 Linux 内核是如何实现无线网络接口呢?数据包是通过怎样的方式被发送和接收呢? 刚开始工作接触 Linux 无线网络时,我曾迷失在浩瀚的基础代码中,寻找具有介绍性的材料来回答如上面提到的那些高 ...

  5. []转帖] 浅谈Linux下的五种I/O模型

    浅谈Linux下的五种I/O模型 https://www.cnblogs.com/chy2055/p/5220793.html  一.关于I/O模型的引出 我们都知道,为了OS的安全性等的考虑,进程是 ...

  6. Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理

    Java网络编程和NIO详解7:浅谈 Linux 中NIO Selector 的实现原理 转自:https://www.jianshu.com/p/2b71ea919d49 本系列文章首发于我的个人博 ...

  7. 浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释

    浅谈linux中shell变量$#,$@,$0,$1,$2,$?的含义解释 下面小编就为大家带来一篇浅谈linux中shell变量$#,$@,$0,$1,$2的含义解释.小编觉得挺不错的,现在就分享给 ...

  8. 浅谈Linux下/etc/passwd文件

    浅谈Linux 下/etc/passwd文件 看过了很多渗透测试的文章,发现在很多文章中都会有/etc/passwd这个文件,那么,这个文件中到底有些什么内容呢?下面我们来详细的介绍一下. 在Linu ...

  9. 浅谈linux IO csy 360技术 2021-01-18

    浅谈linux IO csy 360技术 2021-01-18

随机推荐

  1. shell功能

    日志切割: function rotate() { logs_path=$ echo Rotating Log: $ cp ${logs_path} ${logs_path}.$(date -d &q ...

  2. PHP与webserver【简书看到的】

    很久以前,人们造出来一个机器人,它的英文名字叫web server,中文名叫网页服务器.(为了简写,下文称web server为server) server的工作很简单,就是做内容的分发. 初期的se ...

  3. text-overflow使用文字超多div的宽度或超过在table中<td>

    关键字:text-overflow:ellipsis 语法:text-overflow:clip | ellipsis 取值 clip:默认值.不显示省略标记(...),而是简单的裁切. ellips ...

  4. 正式进军Matlab图像处理

    Matlab取整函数有:fix, floor, ceil, round,具体应用方法如下: 1. fix朝零方向取整,如fix(-1.3) = -1; fix(1.3) = 1; 2. floor顾名 ...

  5. BZOJ4602: [Sdoi2016]齿轮 DFS 逆元

    这道题就是一个DFS,有一篇奶牛题几乎一样.但是这道题卡精度. 这道题网上的另一篇题解是有问题的.取对数这种方法可以被轻松卡.比如1e18 与 (1e9-1)*(1e9+1)取对数根本无法保证不被卡精 ...

  6. [bzoj] 2038 小Z的袜子(hose) || 莫队

    原题 给出一个序列,求给定[l,r]内有任意取两个数,有多大概率是一样的 简单的莫队,每次+-当前区间里有的这个颜色的袜子的个数,最后除以(r-l+1)*(r-l)/2即可. 记得约分. #inclu ...

  7. BZOJ2753 [SCOI2012]滑雪与时间胶囊 【kruskal】

    题目链接 BZOJ2753 题解 完了我连\(kruskal\)裸题都做不出来了.. 题目是求最小树形图,即有向图最小生成树 我们不能直接上\(kruskal\),而要保证先加入前面的点, 所以我们排 ...

  8. BZOJ1927 [Sdoi2010]星际竞速 【费用流】

    1927: [Sdoi2010]星际竞速 Time Limit: 20 Sec  Memory Limit: 259 MB Submit: 2582  Solved: 1601 [Submit][St ...

  9. word公式编辑中的转义字符

    Some of the commonly used symbols:      \infty - Infinity      \leq - Less then or equal      \geq - ...

  10. bzoj1914 [Usaco2010 OPen]Triangle Counting 数三角形 计算机和

    [Usaco2010 OPen]Triangle Counting 数三角形 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 526  Solved: 2 ...