摘自鸟哥的私房菜
路由修改 route 
我们在网路基础的时候谈过关于路由的问题,两部主机之间一定要有路由才能够互通 TCP/IP 的协定,否则就无法进行连线啊!
一般来说,只要有网路介面,该介面就会产生一个路由,例如在鸟哥实验室内部的主机有一个 eth0 及 lo ,所以:
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [网域或主机] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [网域或主机] netmask [mask] [gw|dev]
观察的参数:
-n :不要使用通讯协定或主机名称,直接使用 IP 或 port number;
-ee :使用更详细的资讯来显示
增加 (add) 与删除 (del) 路由的相关参数:
-net :表示后面接的路由为一个网域;
-host :表示后面接的为连接到单部主机的路由;
netmask :与网域有关,可以设定 netmask 决定网域的大小;
gw :gateway 的简写,后续接的是 IP 的数值喔,与 dev 不同;
dev :如果只是要指定由那一块网路卡连线出去,则使用这个设定,后面接 eth0 等
范例一:单纯的观察路由状态
[root@linux ~]# route -n
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
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.10.30 0.0.0.0 UG 0 0 0 eth0
[root@linux ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.10.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default server.cluster 0.0.0.0 UG 0 0 0 eth0
由上面的例子当中仔细观察 route 与 route -n 的输出结果,你可以发现有加 -n参数的主要是显示出 IP ,至于使用 route 而已的话,显示的则是『主机名称』喔!也就是说,在预设的情况下, route 会去找出该 IP 的主机名称,如果找不到呢?就会显示的钝钝的(有点小慢),所以说,鸟哥通常都直接使用 route -n 啦!由上面看起来,我们也知道 default = 0.0.0.0/0.0.0.0 ,而上面的资讯有哪些你必须要知道的呢?

· Destination, Genmask:这两个玩意儿就是分别是 network 与netmask 啦!所以这两个咚咚就组合成为一个完整的网域囉!

· Gateway:该网域是通过那个 gateway 连接出去的? 如果显示 0.0.0.0 表示该路由是直接由本机传送,亦即可以透过区域网路的 MAC 直接传讯;如果有显示 IP 的话,表示该路由需要经过路由器 (通讯闸) 的帮忙才能够传送出去。

· Flags:总共有多个旗标,代表的意义如下:

o U (route is up):该路由是启动的;

o H (target is a host):目标是一部主机 (IP) 而非网域;

o G (use gateway):需要透过外部的主机 (gateway) 来转递封包;

o R (reinstate route for dynamic routing):使用动态路由时,恢复路由资讯的旗标;

o D (dynamically installed by daemon or redirect):已经由服务或转 port 功能设定为动态路由

o M (modified from routing daemon or redirect):路由已经被修改了;

o ! (reject route):这个路由将不会被接受(用来抵挡不安全的网域!)

· Iface:这个路由传递封包的介面。

此外,观察一下上面的路由排列顺序喔,依序是由小网域(192.168.10.0/24 是 Class C),逐渐到大网域(169.254.0.0/16 Class B) 最后则是预设路由 (0.0.0.0/0.0.0.0)。然后当我们要判断某个网路封包应该如何传送的时候,该封包会经由这个路由的过程来判断喔!举例来说,我上头仅有三个路由,若我有一个传往 192.168.10.20 的封包要传递,那首先会找 192.168.10.0/24 这个网域的路由,找到了!所以直接由 eth0 传送出去;如果是传送到 Yahoo 的主机呢? Yahoo 的主机 IP 是 202.43.195.52,我通过判断

1)不是 192.168.10.0/24,
 2)不是 169.254.0.0/16 结果到达

3)0/0 时,OK!传出去了,透过 eth0 将封包传给 192.168.10.30那部 gateway 主机啊!所以说,路由是有顺序的。因此当你重复设定多个同样的路由时,例如在你的主机上的两张网路卡设定为相同网域的 IP 时,会出现什么情况?会出现如下的情况:
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 传送出去,所以,在一部主机上面设定两个相同网域的 IP 本身没有什么意义!有点多此一举就是了。除非是类似虚拟主机 (Xen, VMware 等软体) 所架设的多主机时,才会有这个必要~
范例二:路由的增加与删除
[root@linux ~]# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0
# 上面这个动作可以删除掉 169.254.0.0/16 这个网域!
# 请注意,在删除的时候,需要将路由表上面出现的资讯都写入
# 包括 netmask , dev 等等参数喔!注意注意
[root@linux ~]# route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0
# 透过 route add 来增加一个路由!请注意,这个路由必须要能够与你互通。
# 举例来说,如果我下达底下的指令就会显示错误:
# route add -net 192.168.200.0 netmask 255.255.255.0 gw 192.168.200.254
# 因为我的环境内仅有 192.168.10.100 这个 IP ,所以不能与 192.168.200.254
# 这个网段直接使用 MAC 互通!这样说,可以理解喔!?
[root@linux ~]# route add default gw 192.168.10.30
# 增加预设路由的方法!请注意,只要有一个预设路由就够了喔!
# 在这个地方如果您随便设定后,记得使用底下的指令重新设定你的网路
# /etc/init.d/network restart
 如果是要进行路由的删除与增加,那就得要参考上面的例子了,其实,使用 man route 里面的资料就很丰富了!仔细查阅一下囉!你只要记得,当出现『SIOCADDRT: Network is unreachable』这个错误时,肯定是由于 gw 后面接的 IP 无法直接与您的网域沟通 (Gateway 并不在你的网域内),所以,赶紧检查一下是否输入错误啊!加油吧!

# route 命令添加的路由,机器重启或者网卡重启后就没掉了,在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
2.在/etc/sysconfig/network里添加到末尾
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y

转载于:https://blog.51cto.com/lintie/1383645

route 更改网络设置相关推荐

  1. 4g网络设置dns地址_上网速度慢,修改一下win10系统的DNS设置,网速飙升

    无论何时申请上网服务,互联网服务提供商(ISP)都会提供所需的网络设置(包括域名系统(DNS)地址),用户可以使用这些设置来加载喜欢的网站.访问在线服务以及下载文件.但是,它们的DNS服务器往往速度较 ...

  2. 解决bug--解决VS2019“无法下载安装文件,请检查网络设置”问题

    今天要交图形学作业,打开VS发现没有MFC应用,在资源库找了很久发现下载不成功,提示"无法下载安全文件,请检查网络设置" 浅逛了一下微软社区发现没有相关问题,博客上的解决方法试了几 ...

  3. Linux 网络设置(ifconfig、route、traceroute、netstat、ss、nslookup、dig、ping状态返回分析)

    Linux 网络设置 一.查看网络 1.查看网络接口地址 2.查看更改主机名 3.查看路由表条目 4.查看网络连接情况 netstat 命令 ss 命令 二.测试网络连接 1.测试网络连通性 2.跟踪 ...

  4. linux网络设置与基础服务命令(ifconfig、hostname、route、netstat、ss、ping、traceroute、nslookup、route)

    文章目录 linux网络设置与基础服务 前言 查看网络配置 使用ifconfig命令查看网络接口地址 查看指定网络接口信息 使用 hostname命令查看当前主机名称 使用route命令查看路由表条目 ...

  5. 怎么更改计算机的网络设置,电脑中如何通过修改注册表来设置网络连接备注

    ‍ 大家知道在电脑系统中可以通过适配管理器来查看具体的网络连接.不过在存在多个网络连接的情况下,有时候可能会忘记需要使用哪一个.对此,我们可以通过以下方法,修改相关的注册表值,来设置网络连接备注. 1 ...

  6. Linux网络设置(第二版) --Linux网络设置

    Linux网络设置 --网络配置文件与命令 网络配置文件 1./etc/sysconfig/network-scripts/ifcfg-eth0 #[保存了IP地址和网关] [设置静态IP] IPAD ...

  7. Linux系统下ifconfig和route配置网络详解

    Linux系统下ifconfig和route配置网络详解 ifconfig和route合用于配置网络(ip命令综合二者功能,此处不讲),通常在前者设置好ip地址等信息后,采用route命令配置路由.( ...

  8. CentOS网络设置

    CentOS网络设置 这里介绍一下Linux下的网络设置文件,这是网络计算机服务器的前提条件. 1.网络的基本设置 我们在设置网络环境的时候,提前要弄清楚以下的相关信息. IP IP地址        ...

  9. 网络设置及其修改配置文件全程实操,可跟做

    一.查看网络设置 二.测试网络连接 三.使用网络配置命令 四.修改网络配置文件 1.用ifconfig命令查看所有活动网络接口的信息 2.hostname查看主机名 修改当前主机名: 3.查看路由表条 ...

最新文章

  1. Entity Framewrok 7beta7中不同版本sql server自动生成分页sql语句的问题
  2. Java 基于 TCP/IP 实现 Socket中的多客户端通信
  3. php实现解压功能的函数
  4. 什么是通用字符名称?_通用名称
  5. 怎么样得到平台相关的换行符?
  6. linux modprobe命令参数及用法详解--linux加载模块命令
  7. hdu 1505 City Game
  8. JDK源码解析之 java.lang.Exception
  9. HTML5 实现图片预览和查看原图
  10. mysql escape 注入_php 防mysql注入函数 addslashes和mysql_real_escape_string
  11. 推荐一款超好用的vue的markdown 编辑器
  12. 基于Unity3D的AR射击游戏设计与实现
  13. NLP自然语言处理系列-时间序列数据分析-趋势性、周期性、自相关性、冲量、差分、移动平均误差计算
  14. js 身份证号码验证包含15位和18位
  15. 征途服务器关闭注册,你不是一个人 征途手机版老服务器的进入法则
  16. win10配置apache
  17. CISCO CCNA CCNP CCIE认证题库下载
  18. Torch深度学习的60分钟教程(翻译)
  19. 沐圣moolsun:做真正的民族品牌
  20. mysql 备份锁表_mysqldump 备份数据说明+ 避免锁表

热门文章

  1. 汇编语言:实验10 根据材料编程—1.显示字符串
  2. Delphi:第一个hello world程序
  3. XAF-BI.Dashboard模块概述 web/win
  4. Scala-Unit6-final/type关键字、样例类样例对象
  5. Data intensive Application (1)
  6. 数据库之SqlDataAdapter
  7. 模板的日常~。~。。。(持续更新中...)
  8. 算法导论——排序算法
  9. ant 彻底了解(转)
  10. 8个应用案例告诉你,机器学习都能做什么?