Linux 路由 静态路由

摘要:
Linux路由静态路由目录Linux路由静态路由一、临时生效,使用命令routeA、添加到主机的路由B、添加到网络的路由C、添加默认路由D、删除路由E、查看所有路由信息二、临时生效,使用命令iprouteA、添加路由,和route比较B、改变路由,路由必须已存在C、替换路由,路由不存在则添加D、删除路由E、清空路由F、查看路由表G、查看单个路由H、缩写三、永久生效,写入配置文件/etc/sysco
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)在同一个网段内。

实验:实现三个路由器与两个主机互通(单臂静态路由)

拓扑图:

![img](Linux 路由 静态路由.assets/1769223-20200419121106862-1092428675.png)

路由表配置图:

实现原理: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接口。

![img](Linux 路由 静态路由.assets/1769223-20200419120959385-1666153048.png)

在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 路由 静态路由》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇mysql5.7密码过期ERROR 1862 (HY000): Your password has expired. To log in you must changespring 定时任务下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

5 监控TCP的11种状态、

1、如何监控12种状态 假如:有人给服务器发ddos攻击,tcp什么状态会特别多 这个值比较大的时候监控 所以需要监控tcp状态 1、12种状态查看 [root@linux-node1 ~]# netstat -ant 状态查看 12种状态 [root@linux-node1 ~]# man netstat State The s...

day1_postman和jmeter处理接口入参既有key-value类型,也有上传文件类型的方式,利用postman实现自动化

    jmeter的处理逻辑是:   服务器名称或IP是不包含http://,把key-value类型的入参放到Parameters里,上传文件的入参切换到Files Upload,点击浏览按钮找到对应的文件显示在文件名称这里,参数名称写上入参名称,这里是file,如下图所示:   使用管理员beijing120(这个是被赋予管理员权限的用户),po...

Vue + Element UI 实现权限管理系统 前端篇(十):动态加载菜单

动态加载菜单 之前的 导航树 是写死的,实际应用中需要从后台服务器获取菜单数据之后动态生成。 之前的mock已经准备好了模拟数据 接口模块化 之前说过,当接口变多时,放在一个 interface.js 中不方便维护。 现在改名为 api.js 作为集合文件,将里面的 相关接口 都转入新的文件夹 modules 里面。  模块化之后,模块接口写在相应的模块...

frp 开机自启动

frp 开机自启动 进入 frp 根目录的 systemd 文件夹 vim frps.service [Unit] Description=Frp Server Service After=network.target syslog.target [Service] Type=simple User=root Restart=on-failure R...

qemu kvm 虚拟化

虚拟化: KVM是一个基于Linux内核的虚拟机,属于完全虚拟化。虚拟机监控的实现模型有两类:监控模型(Hypervisor)和宿主机模型(Host-based)。由于监控模型需要进行处理器调度,还需要实现各种驱动程序,以支撑运行其上的虚拟机,因此实现难度上一般要大于宿主机模型。KVM的实现采用宿主机模型(Host-based),KVM是集成在Linux内...

linux 7 添加永久路由方法

linux 7 添加永久路由 用route命令添加 仅仅是当前状态下生效,一旦重启就会失效。 所以要在/etc/sysconfig/network-scripts/这个路径下添加一个文件route-{网卡名,例:eth0} 用vi 对这个文件进行编辑,在这里添加路由,然后systemctl restart network即可使路由生效 例:172.16.1...