当前位置: 首页 > 编程日记 > 正文

r-route 命令 显示/配置ip路由表

文章目录

        • 前言
        • 语法格式
        • 命令使用
        • 输出含义
        • 使用实例

前言

route命令用于显示和配置IP路由表,在不同节点间的网络通信,想要实现同一局域网之间的通信就需要交换机,不同局域网之间的通信就需要路由器。而路由器的存在是为了提供NAT转换,即提供ip地址和物理地址之间的映射关系,因为不同局域网节点之间的通信是需要直到对方局域网的外网ip,此时数据包只能通过外网ip经过NAT(依赖ip 路由表)转换之后获取到局域网内部的节点ip和物理网口。

route命令提供配置和查看 ip路由表的方式

语法格式

  • route [-CFvnNee] [-A family |-4|-6]
  • route [-v] [-A family |-4|-6] add [-net|-host] target [netmask Nm] [gw Gw] [metric N] [mss M] [window W] [irtt I] [reject] [mod] [dyn] [reinstate] [[dev] If]
  • route [-v] [-A family |-4|-6] del [-net|-host] target [gw Gw] [netmask Nm] [metric N] [[dev] If]

在这里插入图片描述
观察的参数:

  • -n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
  • -ee :使用更详细的资讯来显示

增加 (add) 与删除 (del) 路由的相关参数:

  • -net :表示后面接的路由为一个网域;
  • -host :表示后面接的为连接到单部主机的路由;
  • netmask :与网域有关,可以设定 netmask 决定网域的大小;
  • gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
  • dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等

命令使用

  • route -n 打印路由表,-n参数的作用是不适用主机名表示,直接使用ip地址
    在这里插入图片描述
    在命令行中通过 route 命令添加的路由在网卡重启或机器重启后失效。可以在 /etc/rc.local 中添加 route 命令来保证路由设置永久有效

  • route add default gw {IP-ADDRESS} {INTERFACE-NAME}
    用于设置默认路由,其中
    参数{IP-ADDRESS): 用于指定路由器(网关)的IP地址;
    参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。使用/sbin/ifconfig -a可以显示所有接口信息

  • route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
    添加到指定网络的路由规则,其中
    参数{NETWORK-ADDRESS}: 用于指定网络地址
    参数{NETMASK}: 用于指定子网掩码
    参数{INTERFACE-NAME}: 用于指定接口名称,如eth0。
    例:route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0

  • route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
    设置到指定网络为不可达,避免在连接到这个网络的地址时程序过长时间的等待,直接就知道该网络不可达
    route add -net 10.0.0.0 netmask 255.0.0.0 reject

  • route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
    删除路由设置,与add时的使用方式类似

  • route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
    删除设置的网络不可达的路由

输出含义

route -n输出信息如下
在这里插入图片描述
含义如下:

DestinationThe destination network or destination host. #目标主机或者主机名GatewayThe gateway address or '*' if none set. #网关地址,如果没有,则显示*号 GenmaskThe  netmask  for  the  destination net; '255.255.255.255' for a host destination and '0.0.0.0' for thedefault route. #子网掩码,一般将`255.255.255.0` 设置为主机的子网掩码,0.0.0.0 为默认的路由掩码Flags  Possible flags include #多个flag标记U (route is up) #路由时启动的,up状态H (target is a host) #目标是主机,而非网络G (use gateway) #需要通过外部主机(getway) 来传递包R (reinstate route for dynamic routing) #使用动态路由时,恢复路由的旗标D (dynamically installed by daemon or redirect) #已经由服务或转 port 功能设定为动态路由 M (modified from routing daemon or redirect) #路由已经被修改了A (installed by addrconf) C (cache entry)!  (reject route) #这个路由将不会被接受(用来抵挡不安全的网域!)Metric The 'distance' to the target (usually counted in hops). It is not used by recent kernels,  but  may  beneeded by routing daemons.#距离、跳数。到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用。)Ref    Number of references to this route. (Not used in the Linux kernel.) #基本一直为0Use    Count  of  lookups  for  the  route.  Depending on the use of -F and -C this will be either route cachemisses (-F) or hits (-C).#该路由被使用的次数,可以粗略估计通向指定网络地址的网络流量。Iface  Interface to which packets for this route will be sent. #物理网口,即eth0,eth0等网络接口名MSS    Default maximum segment size for TCP connections over this route.Window Default window size for TCP connections over this route.irtt   Initial RTT (Round Trip Time). The kernel uses this to guess about the  best  TCP  protocol  parameterswithout waiting on (possibly slow) answers.HH (cached only) #该参数和一下参数使用 route -ee可以查看The  number  of  ARP  entries  and cached routes that refer to the hardware header cache for the cachedroute. This will be -1 if a hardware address is not needed for the interface of the cached route  (e.g.lo).#表示arp的条数以及路由中缓存的硬件信息的路由数目Arp (cached only)Whether or not the hardware address for the cached route is up to date.

使用实例

route -n 路由状态追踪
在这里插入图片描述
如上打印,路由的排列是有顺序的:
首先预设路由0.0.0.0代表所有目标主机,网络(没有确定的网络,本机的路由表里没有特定条目指明如何到达);所有想要连接当前设备的主机和网络都需要通过网关Gateway : 10.192.56.254 来进行连接

其次路由10.192.56.0,比如有一个发网10.192.56.100的封包,那么会优先找10.192.56.0/24这个网域的路由,发现找到了,则通过br0网口传出。当然 10.192.56.0 网段设备在接收数据的时候也不需要经过网关

其次如果由想要传出10.193.0.0/16网域的封包,则会通过bond2传出。

而网段169.254.0.0/16的访问,或者发送封包,则需要经过大量的中转;通过eth7或者bond2,或者br0传输

网段192.168.122.0/24网段为virbr0 ,它是KVM的虚机地址,即当前节点的kvm的虚机想要发送封包,且虚机地址是在192.168.122.0/24网段之内,可以通过virbr0网口发送,且virbr0为连接其上的虚机网卡提供 NAT 访问外网的功能。关于该功能,系统提供命令virsh进行相关网络的配置。

route add -net 10.192.56.91 netmast 255.255.255.0 gw 10.192.56.254 dev eth0 为eth0进行ip相关配置,通过route增加的路由需要能够和当前节点互通,比如当前节点的网线接入了局域网内
route del -net 10.192.56.91 netmast 255.255.255.0 dev eth0 删除eth0网口的ip和子网掩码配置

相关文章:

suse oracle 12c安装,用半行代码实现在LINUX(SUSE/RH)下安装ORACLE 12C

最近新到单位的朋友总是抱怨在LINUX下安装ORACLE,实在是太麻烦了,而且这些步骤既不知是什么意思,也记不住;索性,我就分析了一下,经过实践,实现了只用半行代码(确切的说,只消4个字母)…

shell--数组的定义/访问/赋值/遍历

1 #!/bin/bash2 # 数组3 4 # 数组的定义5 a(0 1 2 3)6 # 数组元素的访问7 echo "a[0]:${a[0]}"8 # 数组的长度9 echo "length:${#a[*]}" 10 # 所有元素 11 echo "all element:${a[*]}" 12 # 删除某个元素 13 unset a[1] 14 echo "after uns…

四百元值不值——论小米2A与2S

作为一个米2用户,面对这手机市场极快的更新速度,有些跟不上速度。最近出了小米2A与2S,碰巧有人问值不值的问题,于是就小小的进行了一个研究,跟大家讨论一下。首先小米2A与2S在我看来就是2的翻版,现在小米的…

python复习冒泡排序

冒泡排序: 思路: 先找到最大值放到最右边: #encodingutf-8 a[1,9,2,8,3,6,4] print "a before change:",a for i in range(len(a)-1): if a[i] > a[i1]: a[i],a[i1] a[i1],a[i] print "a after change:",a 结果&…

linux 文件查找命令集:find,locate,wheres,which,type

文章目录前言find命令命令格式:常用选项:举例使用locate命令命令格式使用实例whereis命令使用过程:which命令type命令前言 在linux系统中一切皆文件,此时我们想要从海量的文件中快速定位中我们想要的文件来,需要指定的命令来操作…

oracle生成xml方法,oracle存储过程生成xml==转

1.创建如下存储过程,注意将其中location >d:\work之中的目录改为你本机的某个目录.create or replace procedure getXML(newContext_qry varchar2,rowSettag varchar2,rowTag varchar2,filename varchar2) is-- Input query string-- Input rowsetTag , the root…

打算看的书或正在看的书

打算看的书或正在看的书 《Data Structures and Algorithm Analysis in C》 正在看,这本书是在博客园上看到某个去google的大牛推荐的,的确,虽然数据结构,我已经很熟悉了,但是看这本书的时候,有一些细节我是…

Tutorial——使用Maven开发Cloud Driver

2019独角兽企业重金招聘Python工程师标准>>> Before You Start 开发之前,应有以下准备 Apache MavenCloudify调用云API的安全凭证,使用SSH访问你的机器,如果需要访问您的云的存储。 例如,通过以下步骤获得OpenStack的安…

[Machine Learning with Python] Data Visualization by Matplotlib Library

Before you can plot anything, you need to specify which backend Matplotlib should use. The simplest option is to use Jupyter’s magic command %matplotlib inline. This tells Jupyter to set up Matplotlib so it uses Jupyter’s own backend. Scatter Plot housin…

贪心:Burst Balloons 最少次数完成射击气球

已知在一个平面上有一定数量的气球,平面可以看作一个坐标系,在平面的x轴的不同位 置安排弓箭手向y轴方向射箭,弓箭可以向y轴走无穷远;给定气球的宽度 xstart ≤ x ≤ xend,问至少需要多少弓箭手,将全部气球打爆? 例如…

linux服务器加固的命令,Linux 服务器安全加固

一、summary随着互联网的发展,隐私以及安全被大家看的越来越重视,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。优秀的系统应当拥有完善的安全措施,应当足够坚固、能够抵抗来自Internet的侵…

devexpress toolbar 填充整行宽度

设置 bar 的 optionsBar.UseWholeRow True 然后可设置Bar 中 Item的右对齐属性。转载于:https://www.cnblogs.com/perpetual/p/3756101.html

【java】staitc

一、static变量 二、static方法 三、static代码块 四、static类:只能是内部类

002.Docker安装部署

一 docker安装-CentOS系统1.1 docker自动安装脚本 1 rootdocker:~# wget -qO- https://get.docker.com/ | sh2 或——3 rootdocker:~# curl -sSL https://get.docker.com/ | sh 注意:若出现以下错误,可使用yum解决依赖——Delta RPMs disabled because /…

贪心:expedition 最优加油方法

已知一条公路上,有一个起点与一个终点,这之间有n个加油站;已知从这n个加 油站到终点的距离d与各个加油站可以加油的量l,起点位置至终点的距离L与起 始时刻油箱中汽油量P;假设使用1个单位的汽油即走1个单位的距离,油箱没有 上限&am…

UML for Java Programmers之dx实战

dx是一套简单的开发规则。它说白了就是迭代开发,在短周期内迭代处理”所有事情“,这里所指的”所有事情“包括需求、分析、设计、实现、测试和文档等等。 它的大概流程是这样:1. 初始探索 跟客户坐下来一起讨论系统到底是做什么的。在这个…

linux进程池动态维护,可直接商用的跨平台c,c++动态线程池,任务池stpool库

stpool是一个轻便高效的动态跨平台的线程池/任务池库.常规线程池的缺点:1. 总是启动时候就开启固定数目的线程,而不管系统的繁忙状态(这是很浪费系统资源的).2. 当任务繁重的时候,即使线程池被设计成可继续添加更多线程来服务,由于实时服务状…

hdu 1286( 欧拉函数 )

题目链接&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1286 数学题真的是有点吃不消了。。。 View Code 1 #include<iostream>2 #include<cmath>3 using namespace std;4 //可以快速求出欧拉函数的值 ( P为N的质因子 )5 //若(N%P0 && (N/P)%P0…

CF 1093 E. Intersection of Permutations

E. Intersection of Permutations 链接 题意&#xff1a; 给定两个序列&#xff0c;询问第一个排列的[l1,r1]和第二个排列[l2,r2]中有多少个共同的数&#xff0c;支持在第二个排列中交换两个数。 分析&#xff1a; 首先求出一个数组&#xff0c;c[i]&#xff0c;第二个排列的这…

s-seq 生成序列化数字

前言 seq命令用于产生从某个数到另外一个数之间的所有整数。 命令格式 seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST 支持将指定范围的数字打印出来&#xff0c;按照指定的递增规律 -f, --format格式 使用printf 样式的浮点格式…

linux c++ 目录操作,C++文件及文件夹操作整理(代码示例)

一 文件1.1 使用C标准库中的IO库(fstream)读写文件#include #include using namespace std;int main(){char szData[200] "123456 test";fstream fFile;fFile.open("test.txt", ios::app | ios::out | ios::in);/****************将数据写入文件-begin***…

cocos2d-x 音效中断问题

做跑酷重吃金币播音效时&#xff0c;播放其它音效会使得音效所有中断&#xff0c;最后发现时音效上限的问题&#xff0c;2.2.3默认的似乎是5个音效&#xff0c;改动成50后问题解决。 在java中的org.cocos2dx.lib包下有一个Cocos2dxSound.java文件&#xff0c;改动里面 private …

AStyle - SourceInsight

SourceInsight : Options : Custom Commands Add 在弹出对话框写入 C/C Formatter "C:\AStyle\AStyle.exe" --styleansi -s2 --convert-tabs %f SourceInsight : Options : Key Assignments

c# blockingcollections

1 class Program2 {3 static BlockingCollection<int> cols new BlockingCollection<int>(2); //设置阻塞队列最大的容量&#xff1b;4 public static void Main(string[] args)5 {6 7 8 var t1…

递归/回溯:subsets求子集

前言 回溯法又称为试探法&#xff0c;但当探索到某一步时&#xff0c;发现原先选择达不到 目标&#xff0c;就退回一步重新选择&#xff0c;这种走不通就退回再走的技术为回溯法。 已知一组数(其中无重复元素)&#xff0c;求这组数可以组成的所有子集。 结果中不可有无重复的子…

C++ stl vector介绍

转自&#xff1a; STL vector用法介绍 介绍 这篇文章的目的是为了介绍std::vector&#xff0c;如何恰当地使用它们的成员函数等操作。本文中还讨论了条件函数和函数指针在迭代算法中使用&#xff0c;如在remove_if()和for_each()中的使用。通过阅读这篇文章读者应该能够有效地使…

Linux服务器部署ssl证书教程,linux服务器在wdcp面板安装ssl证书教程

不少站长如今越来越在意站内数据传输的安全性&#xff0c;想着把自己建设的网站加密传输&#xff0c;许多站长都需要安装ssl证书&#xff0c;且很多站长都在找寻centos系统服务器linux服务器或者是wdcp面板怎么安装ssl证书&#xff0c;网上找了下没有完整步骤教程&#xff0c;所…

设备节点注册和操作方法连接

今天把驱动程序乱七八糟的看了一通&#xff0c;简单总结一下。 一个完整的驱动&#xff0c;需要提供如下的东西&#xff0c; 第一&#xff0c;用户空间/dev下面的设备节点。当然&#xff0c;如果该设备仅仅是内核的使用&#xff0c;例如I2C&#xff0c;则不需要在/dev下面建立…

maven(一 基本操作 命令 标签)

原来一直没有使用maven 小公司&#xff0c;只是听说过这个东西&#xff0c;我没事就喜欢 去学习一些新东西。maven学了几次&#xff0c;但是 没有用上 所以 最后还是忘记了&#xff0c;或者说不知道怎么使用maven&#xff0c;一年半以前公司 改革 &#xff0c;招了一个技术大牛…

递归/回溯:Subsets II求子集(有重复元素)

上一篇描述了针对数组中没有重复元素进行子集的求取过程递归/回溯&#xff1a;subsets求子集 但是当出现如下数组时&#xff1a; 例如: nums[] [2, 1, 2, 2] 结果为: [[], [1], [1,2], [1,2,2], [1,2,2,2], [2], [2,2], [2,2,2]] 注意: [2,1,2]与[1,2,2]是重复的集合,则不满足…