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 之 五 路由协议 一 静态路由
静态路由 路由选择原理 什么是路由? 就如同去某一个地方,会有很多种路线,每一条路线经都可以称之为路由: 路由器中会维护一张路由表,每一个表项都是一条路由,也就是去往某个网络的路径,然后将对应的数据包 ...
随机推荐
- C#数据结构-二叉树-顺序存储结构
什么是二叉树:每个树的节点只有两个子树的树形结构. 为什么使用顺序存储结构:使用数组存放满二叉树的各结点非常方便,可以根据一个结点的索引号很容易地推算出它的双亲.孩子.兄弟等结点的编号,从而对这些结点 ...
- 老猿学5G随笔:5G网元功能体NF以及NF之间的两种接口--服务化接口和参考点
一.5G功能体之间的接口类型 5G不同功能体之间提供了两种接口: 服务化接口:Service-basedinterface,这个是类似微服务化架构的服务注册和服务发现来实现的功能体对外暴露的接口,这种 ...
- 基于CefSharp开发(六)浏览器网页缩放
一.网页缩放分析 缩放入口 1.Ctrl + 鼠标滑轮缩放 2.菜单中缩放子菜单缩放 3.搜索框中网页缩放按钮缩放 缩放属性及命令 ChromiumWebBrowser 提供了缩放量值.缩放级别.放大 ...
- 乌云wooyun网站硬盘复活
AWD比赛防止没有网络,在移动硬盘里面准备一个乌云漏洞库. 之前也想过弄一个乌云的镜像网站,无奈学生机性能太低下了,部署到公网上服务器存储空间都不够,只能部署在本地硬盘了. 乌云镜像的开源地址:htt ...
- Scrum冲刺_Day07
一.团队展示: 1.项目:light_note备忘录 2.队名:删库跑路队 3.团队成员 队员(不分先后) 项目角色 黄敦鸿 后端工程师.测试 黄华 后端工程师.测试 黄骏鹏 后端工程师.测试 黄源钦 ...
- WPF页面刷新
WPF页面刷新: 在WPF项目中,类的属性变了,但界面值没有变,且我们也没有对类的属性做PropertyChanged的set处理. 如何实现呢? 首先我们需要实现一个INotifyPropertyC ...
- 题解-[WC2011]最大XOR和路径
[WC2011]最大XOR和路径 给一个 \(n\) 个点 \(m\) 条边(权值为 \(d_i\))的无向有权图,可能有重边和子环.可以多次经过一条边,求 \(1\to n\) 的路径的最大边权异或 ...
- Sublime2-3 Package Control安装
从菜单 View - Show Console 或者 ctrl + ~ 快捷键,调出 console.将以下 Python 代码粘贴进去并 enter 执行,不出意外即完成安装.以下提供 ST3 和 ...
- .NET Core +Angular 项目 部署到CentOS
前言: 最近公司需要开发项目能在Linux系统上运行,示例开发项目采用.Net Core + Angular开发:理论上完全支持跨平台. 但是实践才是检验真理的唯一标准:那么还是动手来验证实现下:过程 ...
- thinkphp thinkphp6 安装JWT
第一步:composer安装 composer require firebase/php-jwt 下图是执行成功 cd 进入项目目录的vendor 找到firebase 看到下面有一个php-jw ...