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 之 五 路由协议 一 静态路由
静态路由 路由选择原理 什么是路由? 就如同去某一个地方,会有很多种路线,每一条路线经都可以称之为路由: 路由器中会维护一张路由表,每一个表项都是一条路由,也就是去往某个网络的路径,然后将对应的数据包 ...
随机推荐
- day3(django配置跨域)
1.跨越原理 1. 首先浏览器安全策略限制js ajax跨域访问服务器 2. 如果服务器返回的头部信息中有当前域: // 允许 http://localhost:8080 这个网站打开的页面中的js访 ...
- 第9.6节 Python使用read函数读取文件内容
一.语法 read(size=-1) read函数实际上在读取文本文件和二进制文件时,调用的是不同类的read,这是因为文本文件和二进制文件打开后返回的文件对象类型不同,同时读取的具体处理机制上也不同 ...
- 第15.28节 PyQt(Python+Qt)入门学习:Model/View架构中的便利类QTableWidget详解
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.引言 表格部件为应用程序提供标准的表格显示工具,在表格内可以管理基于行和列的数据项,表格中的最大 ...
- PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中当前列currentColumn和选中项selectedItems访问方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 当前列访问方法 树型部件QTreeWidget的currentColumn()方法返回当前项中得到焦 ...
- Docker部署CTF综合性靶场,定时刷新环境
部署如DVWA或upload-labs这类综合性靶场的时候,虽然是使用Docker环境,设置好权限后容器被击穿的问题不需要考虑,但担心部分选手修改了题目环境,比如一直XSS弹窗,所以想要编写脚本每天定 ...
- tensorflow 小记——如何对张量做任意行求和,得到新tensor(一种方法:列表生成式)
希望实现图片上的功能 import tensorflow as tfa = tf.range(10,dtype=float)b = aa = tf.reshape(a,[-1,1])a = tf.ti ...
- 轮廓检测论文解读 | 整体嵌套边缘检测HED | CVPR | 2015
主题列表:juejin, github, smartblue, cyanosis, channing-cyan, fancy, hydrogen, condensed-night-purple, gr ...
- 算法——单词拆分 II
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中.返回所有这些可能的句子. 链接: leetcode. 解题思路 ...
- SQL注入 (一)
一.手工注入 注入点检测 识别方法:通过在url栏输入'.and 1=1.or 1=1.and sleep(1),如果出现报错,或者页面不一致,则可能存在注入点. 注入类型:整数型.字符型.搜索型.B ...
- 【Jenkins】环境配置及安装
下载地址: 国外官网:https://www.jenkins.io/zh/download/(版本最新) 国内镜像:http://mirrors.jenkins-ci.org/windows/ 清华镜 ...