route命令走一波
1.写文章去了解某个命令完全是兴起,并没有下定决心去学哪一套课程,目前的状态仍然是犹豫中,废话不多说进入正文,九月二十七这天看到了route命令,发现对路由这个命令很陌生,陌生到根本不知道它是用来干什么的,更别说什么参数之类的,随即找了若干博客,可是看不太懂,他们或许自己明白了,言语表达能力不行,亦或是我的理解能力有问题?so,anyway!看到了老男孩在12年写的博客,写的很明白、很清晰,故写此博客。
2.先来三道题:
a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254?
route add default gw 10.0.0.254
b.192.168.1.0网段, 192.168.1.1网关的某一服务器想连入172.16.1.0/24段,该如何添加路由?
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
c.如何添加一条主机路由?
route add -host 192.168.2.13 dev eth2
3.缺省网关路由,第一道题考的就是这个,在linux里缺省就是默认意思,英文名--迪佛特(default),默认网关就是数据包不匹配任何设定的路由规则(或者是匹配不到),最后流经的地址关口。
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth1
0.0.0.0 172.16.8.1 0.0.0.0 UG 0 0 0 eth1
第一行表示你所在的网段是172.16.8.0,若数据传送目标是在本局域网内通信,则可直接通过eth1转发数据包;
第四行表示数据传送目的是访问Internet,则由接口eth0,将数据包发送到网关172.16.8.1,route -n (-n 表示不解析名字,列出速度会比route 快),表示去任何地方(0.0.0.0),都发给10.0.0.254,因为是默认网关,所以放在了最后一条。路由也是有顺序的,如果不符合任何一条规则就交给默认网关处理;
route del default gw 172.16.8.1 ==>这个命令是删除默认的网关
route add default gw 172.16.8.1 ==>这个命令是添加默认的网关,也是a题的答案
route add default gw 172.16.8.1 就相当于route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.8.1
U Up表示此路由当前为启动状态;H Host,表示此网关为一主机;G Gateway,表示此网关为一路由器。
4.网络路由:即去往某一网络或网段的路由, 实际工作中会有需求,两个不同的内部网络之间互访,而不是出网访问,就是b题的情况。
[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
172.16.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 192.168.1.1 255.255.255.0 UG 0 0 0 eth1 #==>这就是网络路由
拓展:其他写法
[root@oldboy ~]# route add -net 192.168.1.0 netmask 255.255.255.0 dev eth1 #==>指定设备而不是地址。
[root@oldboy ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.8.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
总结:
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@Linkdood ~]# grep GATEWAY /etc/sysconfig/network-scripts/ifcfg-Auto_eth1
GATEWAY=172.16.8.1
5.主机路由:就是去往某个主机地址如何配置路由
/sbin/route add -host 192.168.2.13 dev eth1
/sbin/route add -host 202.81.11.91 dev eth1
例如:keepalived或heartbeat高可用服务器对之间的使用单独网卡接心跳线通信就会用到以上主机路由。
删除一条默认路由: 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命令走一波的更多相关文章
- 路由知识之ip route 命令中的疑惑
1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...
- linux route命令的使用详解 添加永久静态路由 tracert traceroute
linux route命令的使用详解 添加永久静态路由 tracert traceroute route -n Linuxroute print Windows traceroute ...
- CentOS里route命令详解
Route 功能简述:linux系统中的route命令能够用于IP路由表的显示和操作.它的主要作用是创建一个静态路由让指定一个主机或者一个网络通过一个网络接口,如eth0.当使用"add&q ...
- 每天一个linux命令(53):route命令
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- Debian 8(Jessie) 安装pptp-linux (PPTP客户端), 以及route命令说明
命令, 这里定义这个pptp的连接名称为hcoffice #安装 sudo apt-get install pptp-linux #用户名和口令 sudo vim /etc/ppp/chap-secr ...
- 每天一个linux命令:route命令
Linux系统的route命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器,或 ...
- route命令
Linux系统的route 命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需要一台连接两个网络的路由器, ...
- window route 命令
使用 Route 命令行工具查看并编辑计算机的 IP 路由表.Route 命令和语法如下所示: route [-f] [-p] [Command][Destination] [mask Netmask ...
- 每天一个linux命令(45):route命令
Linux系统的route 命令用于显示和操作IP路由表(show / manipulate the IP routing table).要实现两个不同的子网之间的通信,需 要一台连接两个网络的路由器 ...
随机推荐
- Android之通过adb shell 模拟器 error: more than one device and emulator 改ip dns
error: more than one device and emulator 如果出现上面那种情况 请关闭 ide 输入下面的 再次重新启动 模拟器 如果实际上只有一个设备或模拟器,并且查到有 ...
- 原 荐 使用Spring Boot Actuator、Jolokia和Grafana实现准实时监控
原 荐 使用Spring Boot Actuator.Jolokia和[可视化]Grafana实现准实时监控. 监控系统: 日志- 基础处理 - 表格 - 可视化一体化解决方案. ...
- Spring框架针对dao层的jdbcTemplate操作crud之delete删除数据库操作 Spring相关Jar包下载
首先,找齐Spring框架中IoC功能.aop功能.JdbcTemplate功能所需的jar包,当前13个Jar包 1.Spring压缩包中的四个核心JAR包,实现IoC控制反转的根据xml配置文件或 ...
- 简单的Redis数据迁移
dump迁移 1.安装redis-dump工具 sudo apt-get install ruby rubygems ruby-devel -y gem sources --add http://ge ...
- 非memory空间有地址分配
对于非memory空间有地址分配,是由于有寄存器配置,比如AHB.APB.一些外设.
- js的setInterval和setTimeout的那些浅坑
setInterval和setTimeout的区别简单提一下 setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式.方法会不停地调用函数,直到 clearInterval() ...
- 关于Relay Log无法自动删除的问题
本文介绍了一次运维实践中relay-log长期无法自动删除的原因和解决过程 背景: 今天在运维一个mysql实例时,发现其数据目录下的relay-log 长期没有删除,已经堆积了几十个relay-lo ...
- xtu数据结构 G. Count the Colors
G. Count the Colors Time Limit: 2000ms Memory Limit: 65536KB 64-bit integer IO format: %lld Jav ...
- [uiautomator篇] UiWatcher的使用
//package com.softwinner.pad.mark3d; package com.softwinner.performance.benchmark.mark3d; import and ...
- 九度oj 题目1201:二叉排序树
题目描述: 输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历. 输入: 输入第一行包括一个整数n(1<=n<=100). 接下来的一行包括n个整数. 输出: 可能有多组测试 ...