Linux 路由 静态路由
Linux 路由 静态路由
注意:本文中使用
;隔开的命令等价
一、临时生效,使用命令route
A、添加到主机的路由
route add -host IP dev eth0 # 默认Gateway指向0.0.0.0 Flags: UH
route add -host IP gw GWIP [dev eth0] # 指定Gateway指向的IP Flags: UGH
route add -host 192.168.1.100 dev eth0
route add -host 192.168.1.1 gw 10.0.0.100
B、添加到网络的路由
route add -net IP netmask MASK eth0 ; route add -net IP/24 eth0
route add -net IP netmask MASK gw IP ; route add -net IP/24 gw IP
route add -net 192.168.1.0/24 dev eth0 # 默认Gateway指向0.0.0.0 Flags: U
route add -net 192.168.1.0/24 gw 10.0.0.100 # 指定Gateway指向的IP Flags: UG
C、添加默认路由
route add default gw 10.0.0.10 ;
route add -net 0.0.0.0 gw 10.0.0.10 ;
route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.0.0.10
D、删除路由
route del -host 192.168.1.100
route del -net 192.168.1.0/24
route del default gw 10.0.0.10 ; route del -net 0.0.0.0 gw 10.0.0.10
E、查看所有路由信息
[root@centos7 ~]# route -n # -n 显示数字地址,而不是尝试确定符号主机名
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.0.0.2 0.0.0.0 UG 0 0 0 eth0
10.0.0.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 1002 0 0 eth0
二、临时生效,使用命令ip route
A、添加路由,和route比较
ip route add 192.168.1.100 dev eth0 ; route add -host 192.168.1.100 dev eth0
ip route add 192.168.1.1 via 10.0.0.100 ; route add -host 192.168.1.1 gw 10.0.0.100
ip route add 192.168.1.0/24 dev eth0 ; route add -net 192.168.1.0/24 dev eth0
ip route add 192.168.1.0/24 via 10.0.0.100 ;
route add -net 192.168.1.0/24 gw 10.0.0.100
ip route add default via 10.0.0.10 ; route add default gw 10.0.0.10 ;
ip route add 0.0.0.0 via 10.0.0.10 ; route add -net 0.0.0.0 gw 10.0.0.10 ;
B、改变路由,路由必须已存在
ip route chg 192.168.1.1 dev eth0
ip route chg 192.168.1.1 via 10.0.0.110
ip route chg 192.168.1.0/24 dev eth0
ip route chg 192.168.1.0/24 via 10.0.0.100
ip route chg default dev eth0
ip route chg default via 10.0.0.10
ip route chg 0.0.0.0 dev eth0
ip route chg 0.0.0.0 via 10.0.0.10
C、替换路由,路由不存在则添加
ip route replace 192.168.1.1 dev eth0
ip route replace 192.168.1.1 via 10.0.0.110
ip route replace 192.168.1.0/24 dev eth0
ip route replace 192.168.1.0/24 via 10.0.0.100
ip route replace default dev eth0
ip route replace default via 10.0.0.10
ip route replace 0.0.0.0 dev eth0
ip route replace 0.0.0.0 via 10.0.0.10
D、删除路由
ip route del 192.168.1.1
ip route del 192.168.1.0/24
ip route del default
ip route del 0.0.0.0
E、清空路由
ip route flush 192.168.1.1
ip route flush 192.168.1.0/24
ip route flush cache # 清除所有路由cache
ip route flush dev eth0 # 清空网卡的所有路由, 慎用!!
F、查看路由表
ip route show查看到的路由信息方便存入配置文件中
[root@centos7 ~]# ip route # 查看main路由表
default via 10.0.0.2 dev eth0
10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.202
169.254.0.0/16 dev eth0 scope link metric 1002
ip route ; ip route ls table main ; ip route ls table 254 # 查看指定路由表
G、查看单个路由
ip route show命令只是显示现有的路由,而ip route get命令在必要时会派生出新的路由
ip route get 10.0.0.2 # 获得单个路由
H、缩写
route、r
show、sh、s、list、lst、ls、l
add、a
change、chg、c
replace、repl、r
delete、del、d
flush、f
table、t
get、g
三、永久生效,写入配置文件/etc/sysconfig/network-scripts/route-ethX
其中ethX是网卡名称,内容为添加路由的格式:
[root@centos7 ~]# cat /etc/sysconfig/network-scripts/route-eth0
default via 10.0.0.10
192.168.1.0/24 via 10.0.0.100
192.168.1.100 dev eth0
192.168.1.1 via 10.0.0.100
四、故障报错
执行route add提示SIOCADDRT: Network is unreachable
添加静态路由规则的时候,需要保证gateway(gw)的IP和eth0(本机IP)在同一个网段内。
实验:实现三个路由器与两个主机互通(单臂静态路由)
拓扑图:

路由表配置图:
实现原理:R1配置路由器,是A访问B的过程,A主机和R1路由器1接口为直连,然后从R1本机的2接口出去,在R1上添加相邻路由器R2的3接口Ip地址作为网关,同理,在R1上添加R2路由器3接口(IP地址作为网关)和B主机(172.18.0.0)的网段。
R2路由器同理,左侧出去的是3接口,在R2上添加相邻的R1路由器接口IP地址(2接口)就是网关,从右侧出去(4接口),在R2上添加R3路由器的5接口IP地址作为网关。
R3路由器同理,B主机与R3路由器的6接口直连,不需要网关,R3出去的5接口与10.100.0.0在同一个网段,不需要网关,R3的5接口出去,在R3上添加相邻的R2路由器4接口Ip地址作为网关;再将192.168.34.0网段添加网关(即为R2路由器4接口的IP地址),出口为R3的5接口。

在A主机上配置IP地址和网关:
将主机A的网络与路由器R1的1接口在同一个物理网络上:
cat` `/etc/sysconfig/network-scripts/ifcfg-eth0` `DEVICE=eth0``BOOTPROTO=static``IPADDR=192.168.34.100``GATEWAY=192.168.34.200``PREFIX=24``DNS1=114.114.114.114
配置R1路由器
R1的1接口与A主机在一个物理网段
cat` `/etc/sysconfig/network-scripts/ifcfg-eth0` `DEVICE=eth0``BOOTPROTO=static``IPADDR=192.168.34.200 ``# IP地址改为A主机的网关地址``PREFIX=24``DNS1=114.114.114.114
配置R1的2接口IP地址,2接口和A主机不在一个物理网段,但是路由器工作在内核中,只要有一个接口可以通,另外的一个跨网段的接口也可以通。
cat` `/etc/sysconfig/network-scripts/ifcfg-eth1` `DEVICE=eth1``BOOTPROTO=static``IPADDR=10.0.0.1``PREFIX=8``DNS1=114.114.114.114
配置R2路由器
R2的3接口路由器要与R1的2接口路由器在同一个网段
cat` `/etc/sysconfig/network-scripts/ifcfg-eth0` `DEVICE=eth0``BOOTPROTO=static``IPADDR=10.0.0.1``PREFIX=8``DNS1=114.114.114.114
配置R2的4接口路由器
cat` `/etc/sysconfig/network-scripts/ifcfg-eth0` `DEVICE=eth0``BOOTPROTO=static``IPADDR=10.100.0.100``PREFIX=16``DNS1=114.114.114.114
配置R3路由器
配置R3的5接口,要与R2的4接口在一个网段
cat` `/etc/sysconfig/network-scripts/ifcfg-eth0` `DEVICE=eth0``BOOTPROTO=static``IPADDR=10.100.0.200``PREFIX=16``DNS1=114.114.114.114
配置R3的6接口,IP地址为B主机的网关地址
cat` `/etc/sysconfig/network-scripts/ifcfg-eth1` `DEVICE=eth1``BOOTPROTO=static``IPADDR=172.18.0.200``# IP地址改为B主机的网关地址``PREFIX=16``DNS1=114.114.114.114
配置B主机IP和网关
cat` `/etc/sysconfig/network-scripts/ifcfg-eth0` `DEVICE=eth0``BOOTPROTO=static``IPADDR=172.18.0.100``GATEWAY=172.18.0.200``PREFIX=16``DNS1=114.114.114.114
在R1路由器上添加路由规则
# route add -net 10.100.0.0/16 gw 10.0.0.2``# route add -net 172.18.0.0/16 gw 10.0.0.2
在R2路由器上添加路由规则
# route add -net 192.168.34.0/24 gw 10.0.0.1``# route add -net 172.18.0.0/16 gw 10.100.0.200
在R3路由器上添加路由规则
# route add -net 10.0.0.0/8 gw 10.100.0.100``# route add -net 192.168.34.0/24 gw 10.100.0.100
在R1/R2/R3路由器上开启路由功能
# vim /etc/sysctl.conf # 修改到配置文件中``net.ipv4.ip_forward=1` `# sysctl -p # 使路由配置生效
测试效果:
可以看到,此时A主机可以访问到B主机,B主机也可以访问A主机。
Linux 路由 静态路由的更多相关文章
- linux 添加静态路由
Linux下静态路由修改命令方法一:添加路由route add -net 192.168.0.0/24 gw 192.168.0.1route add -host 192.168.1.1 dev 19 ...
- 配置Linux实现静态路由
配置Linux实现静态路由 背景和原理 路由器的功能是实现一个网段到另一个网段之间的通信,路由分为静态路由.动态路由. 默认路由和直连路由.静态路由是手工指定的,使用静态路由的好处是网络安全保密性高. ...
- linux添加静态路由
1.使用route命令,查看本机路由直接输入route回车即可.route 命令参数: add 增加路由 del 删除路由 -net 设置到某个网段的路由 -host 设置到 ...
- Linux服务器静态路由配置
转载自:点击打开链接 静态路由是在路由器中设置的固定的路由表.除非网络管理员干预,否则静态路由不会发生变化.由于静态路由不能对网络的改变作出反映,一般用于网络规模不大.拓扑结构固定的网络中.静态路由的 ...
- 《Linux系统静态路由和火墙路由》
本篇主要写的是关于静态路由表的添加,和如何让你不能上网的主机通过火墙路由表实现上网的功能. 静态路由表: 要是你的主机是2块网卡,并且做了网卡的绑定,依照我下面的方法是成功不了的,你可以去编辑: # ...
- vue路由--静态路由
vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来.传统的页面应用,是用一些超链接来实现页面切换和跳转的.在vue-router单页面应用中,则是路径之间的切换,也就是 ...
- Linux 实现静态路由实验
环境: 四台主机: A主机:eth0 NAT模式 R1主机:eth0 NAT模式,eth1 仅主机模式 R2主机:eth0 桥接模式,eth1仅主机模式 B主机:eth0 桥接模式 手动修改IP地址 ...
- Python编程系列---使用字典实现路由静态路由
def index(): print('Index Page....') def bbs(): print('BBS Page....') def login(): print('Login Page ...
- CCNA 之 五 路由协议 一 静态路由
静态路由 路由选择原理 什么是路由? 就如同去某一个地方,会有很多种路线,每一条路线经都可以称之为路由: 路由器中会维护一张路由表,每一个表项都是一条路由,也就是去往某个网络的路径,然后将对应的数据包 ...
随机推荐
- 第4.3节 Python中与迭代相关的函数
下面要介绍的enumerate.range.zip.reversed.sorted属于Python内置的函数或者类别,返回的对象都可通过迭代方法访问. 一. enumerate函数 1. ...
- PyQt(Python+Qt)入门:Designer组件属性编辑界面中QWidget类相关属性详解
本文适用人员:本文比较长,适合不理解Qt Designer部件属性的人员阅读或资料查找. 声明: 1.如果有人认为本文是简单的复制粘贴+翻译而成,敬请读本文最后的后记: 2.本文为老猿Python学习 ...
- SASRec 实践
SASRec--2018,ICDM,论文<Self-Attentive Sequential Recommendation> 源代码链接:https://github.com/kang20 ...
- python 读取目录下的文件
参考方法: import os path = r'C:\Users\Administrator\Desktop\file' for filename in os.listdir(path): prin ...
- 冰点文库下载器 v3.2.12(0314) 去广告单文件
冰点文库,免积分免登陆文档下载神器!付费文档免费下载工具.百度文库免费下载工具. 冰点文库下载器,免费下载文档工具,无需积分也无需登陆就能自由下载百度文库.豆丁网.丁香网.电器网.MBA ...
- 第六篇 Scrum 冲刺博客
一.站立式会议 1. 会议照片 2. 工作汇报 团队成员名称 昨日完成的工作 今天计划完成的工作 工作中遇到的困难 陈锐基 - 完成关注/取关功能以及动态绑定- 完成点赞/取消点赞功能以及动态绑定 - ...
- 使用eslint将项目中的代码修改统一的缩进
背景 继承了组里师兄师姐写的项目的前端代码,但是是两个人写的,有两格缩进的,有四格缩进的,有字符串外用单引号的,有用双引号的. 于是搜索了一下,可以用eslint强制转化. eslint在github ...
- NOI Online #2 提高组 游戏
没用二项式反演的菜比. 题目链接 Solution 非平局代表的树上祖先关系是比较好统计,(可以在处理一个点时,考虑用他去匹配他的子树中的东西)而平局的关系比较难统计.我们不妨求出至少 \(k\) 个 ...
- AH/HNOI 2017 礼物
题目链接 描述 两个序列 \(x, y\),可以将一个序列每个值同时加非负整数 \(c\),其中一个序列可以循环移位,要求最小化: \[\sum_{i = 1}^{n}(x_i - y_i) ^ 2 ...
- RocketMQ(六):nameserver队列存储定位解析
在rocketmq中,nameserver充当了一个配置管理者的角色,看起来好似不太重要.然而它是一个不或缺的角色,没有了它的存在,各个broker就是一盘散沙,各自为战. 所以,实际上,在rocke ...