https://www.cnblogs.com/luckyall/p/6418965.html

https://www.cnblogs.com/dapaitou2006/p/6564622.html
一、启用Linux路由功能
配置文件在 /etc/sysctl.conf 里的 net.ipv4.ip_forwartd=1启用路由功能
root@t1:~# cat /proc/sys/net/ipv4/ip_forward
0
默认是关闭的

二、设置路由转发
1添加静态路由
在linux1/etc/sysconfig/nework-scripts/route-eth1 创建一个route-eth1的文件,添加如下:
ADDRESS1=192.168.80.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.20
或者: route add -net 192.168.80.0 netmask 255.255.255.0 gw 192.168.20.20

在linux2/etc/sysconfig/nework-scripts/route-eth0 创建一个route-eth0的文件,添加如下:
ADDRESS1=192.168.10.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.10
或者: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10

2添加默认路由
如果添加的是默认路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。

三、策略路由

Linux 最多可以支持 255 张路由表,其中有 3 张表是内置的,不能删除。
表255 本地路由表(Local table):本地接口地址,广播地址,已及NAT地址都放在这个表。该路由表由系统自动维护,管理员不能直接修改。
表254 主路由表(Main table) :如果没有指明路由所属的表,所有的路由都默认都放在这个表里。旧的路由工具(如route)所添加的路由都会加到这个表。
表253 默认路由表 (Default table):这个表的作用不清楚,一般也用不到
表 0 保留

root@t1:~# ip rule ls
0: from all lookup local
32766: from all lookup main
32767: from all lookup default

默认的路由策略
通过 ip rule ls 可以看到 Linux 默认的路由策略:

可以看到:
1. 有三条策略,它们的优先级分别是 0,32766 和 32767;
2. 这些策略都是根据源地址来选择路由表,它们适用于任何源地址的情况(from all);
3. 0 级的策略优先级最高,它选定 local 表,这适应于目的地址是本机地址或者广播地址的情况。
4. 32766 级的策略选定 main 表,它适用于目的地址为普通地址的情况,这张表也就是通过工具 ‘route’ 看到的那张路由表。

在linux1上创建策略路由表和策略

一、创建策略路由表
[root@www ~]# vi /etc/iproute2/rt_tables

# reserved values
255 local
254 main
253 default
0 unspec

251 dianxin #电信
252 liantong #联通
# local
#1 inr.ruhep

添加静态路由到表中。说明到80网段有两个路径到。

[root@www ~]# ip route add 192.168.80.0/24 via 192.168.20.20 table 251
[root@www ~]# ip route add 192.168.80.0/24 via 192.168.30.20 table 252
[root@www ~]# ip route show table 251
192.168.80.0/24 via 192.168.20.20 dev eth1
[root@www ~]# ip route show table 252
192.168.80.0/24 via 192.168.30.20 dev eth2

二、创建策略
创建规则:说明100地址回去的路径走"table 251"的路由表。pref是优先级,独立IP地址的优先级当然更高。
[root@www ~]# ip rule add from 192.168.10.100/32 table 251 pref 10
[root@www ~]# ip rule add from 192.168.10.0/24 table 252 pref 100

[root@www ~]# ip rule show
0: from all lookup 255
10: from 192.168.10.100 lookup dianxin
100: from 192.168.10.0/24 lookup liantong
32766: from all lookup main
32767: from all lookup default

======================================

ip route add 192.168.2.0/24 via 192.168.1.1
ip route add 192.168.6.0/24 via 192.168.2.1
ip route add 192.168.7.0/24 via 192.168.2.1 dev eth1
ip route del 192.168.7.0/24 via 192.168.2.1 dev eth1
ip route del 192.168.2.0/24 via 192.168.1.1
ip route add 192.168.2.0/24 via 192.168.1.15 metric 10
ip route add default via 192.168.3.254 #添加默认路由
ip route append 192.168.2.0/24 via 192.168.1.12 #追加一个指定网络的路由,为了平滑切换网关使用
ip route change 192.168.2.0/24 via 192.168.1.11
ip route replace 192.168.2.0/24 via 192.168.1.111
ip route flush 192.168.2.0/24 #这个是清理所有192.168.2.0/24相关的所有路由,有时候设置错网关存在多条记录,就需要一次性清空相关路由再进行添加

ip addr add 192.168.0.193/24 dev wlan0
ip addr del 192.168.0.193/24 dev wlan0

ip route get 192.168.100.1
192.168.100.1 via 192.168.3.254 dev bond1 src 192.168.3.52 uid 0
cache

使用route命令添加一条静态路由:
route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1
使用route命令添加一条路由,并指定eth1网卡:
route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1
使用route命令添加一条指向某一个主机的路由:
route add -host 192.168.5.125 gw 192.168.2.1

(不指定网关,做为路由,自己就是网关)

补充:如果机器中存在多块网卡,我们可以为不同网卡指定不同的静态路由。
比如还有eth1,eht2;那么方法是一样的,我们依次为每块网卡创建一个对应的路由配置文件。route-eth0;route-eth1;route-eth2

1添加静态路由
在linux1/etc/sysconfig/nework-scripts/route-eth1 创建一个route-eth1的文件,添加如下:
ADDRESS1=192.168.80.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.20
或者: route add -net 192.168.80.0 netmask 255.255.255.0 gw 192.168.20.20

在linux2/etc/sysconfig/nework-scripts/route-eth0 创建一个route-eth0的文件,添加如下:
ADDRESS1=192.168.10.0
NETMASK1=255.255.255.0
GATEWAY1=192.168.20.10
或者: route add -net 192.168.10.0 netmask 255.255.255.0 gw 192.168.20.10

2添加默认路由
如果添加的是默认路由,在配置/etc/sysconfig/nework-scripts/ifcfg-ethX的GATEWAY值。

linux路由的更多相关文章

  1. 一个非典型的Linux路由配置方案

    上周帮人解决了一个问题,这个问题绝对是非典型性的,采用了非常规的方法.虽然最终的方案非常不符合常规,非常不通用,充满了各种藏得很深的技巧或者说是trick,但是这个问题却是一个学习Linux路由的绝好 ...

  2. Linux路由:CentOS6的多种玩法

    将一台Linux主机作路由器使用,这本是件很容易的事情,利用Linux主机强大的网络功能,很轻松就实现了.这里在虚拟机环境下设定一台CentOS主机通过另一台CentOS主机路由接入Internet网 ...

  3. Linux 路由 策略路由

    Linux 路由 策略路由 目录 Linux 路由 策略路由 一.路由表 编辑路由表配置文件:/etc/iproute2/rt_tables添加删除修改路由表 二.IP策略 查看IP策略 添加IP策略 ...

  4. Linux 路由 静态路由

    Linux 路由 静态路由 目录 Linux 路由 静态路由 一.临时生效,使用命令route A.添加到主机的路由 B.添加到网络的路由 C.添加默认路由 D.删除路由 E.查看所有路由信息 二.临 ...

  5. 利用systemtap学习Linux路由代码

    http://bbs.chinaunix.net/thread-4090162-1-1.html 一.为什么要这样做读kernel route子系统代码,当我弄懂了数据结构之间的关系以及控制流程后,心 ...

  6. 总结linux路由技术

    Linux系统的route命令用于显示和操作IP路由表,要实现两个不同的网段之间的通信,需要一台连接两个网络的路由器,或者同时连接位于两个网络的网关来实现. 在Linux系统中,设置路由通常是为了解决 ...

  7. 基于嵌入式linux路由转发功能的实现

    环境 arm7开发板, uclinux系统,kernel version: linux-2.4.x arm芯片的单网卡双网口设备,eth0 WAN口 ipaddr 192.168.9.61 eth0: ...

  8. 【 浅谈Linux路由机制 】

    以下均为个人实验验证结果,如有问题,恳请指正. 现在服务器一般都有四张网卡,给了我们更多网络模型的选择.为了业务的需求,有时我们需要如下网络架构 系统:centos 7.2 x64 两张网卡不在同一个 ...

  9. linux路由服务

    本文介绍怎样使用linux创建一台简单的路由server. 主要包含几个參数的设置:ip_forward和rp_filter. 1.开启IP forwarding # 重新启动后失效 $ echo & ...

随机推荐

  1. vue项目使用前端框架开发,实现滑动效果,若不刷新页面则无法达到预期效果的问题及解决方法

    滑动等效果的初始化时机很重要,在vue项目开发中,需到mounted()钩子函数 (当组件中的DOM结构被渲染好并放到页面中后,会执行这个钩子函数,此时即可初始化滑动效果的js代码). 若组件未挂载到 ...

  2. Spring 基础知识(二)Spring的bean初始化与生命周期,以及注入

    Spring bean 初始化: 参考博文: https://www.cnblogs.com/luyanliang/p/5567164.html 1. 加载xml 文件. 扫描注解 ,形成bean定义 ...

  3. JavaWeb笔记三、MVC 设计模式

    一.通过 MVC 进行查询和删除操作 1. 准备一个数据表(examstudent) 2. 创建一个 查询 页面(test.jsp) 通过连接进入 Servlet(listAllStudents.ja ...

  4. L364 Should Your Resume Be One Page or Two?

    Should Your Resume Be One Page or Two? Conventional wisdom suggests that you should keep it short: A ...

  5. python模块之time_random

    把老师的资料放在最上面: 参考: http://www.cnblogs.com/yuanchenqi/articles/5732581.html 导入模块的方法: #!/usr/bin/env pyt ...

  6. styled-components的基本使用

    一.官网地址 https://www.styled-components.com/ 二.styled-components 1.styled-components 样式化组件,主要作用是它可以编写实际 ...

  7. linux之关于学习必备知识

    文件列表的定义: 第一个字符表示文件类型  d为目录  -为普通  1为链接  b为可存储的设备接口  c为键盘鼠标等输入设备 2~4个字符表示所有者权限,5~7个字符表示所有者同组用户权限,8~10 ...

  8. 搭建、访问ftp

    FTP是文件传输协议,是在网络上进行文件传输的协议,使用的是C/S模式,属于网络传输协议的应用层.FTP是讲文件从一台计算机传送到另一台计算机上,不受操作系统的限制,TCP端口号是21,数据库端口号是 ...

  9. java 二分法学习

    假设有一个数组 { 12, 23, 34, 45, 56, 67, 77, 89, 90 },现要求采用二分法找出指定的数值并将其在数组的索引返回,如果没有找到则返回 -1.代码如下: package ...

  10. Archlinux安装总结

    Archlinux安装总结 一.引导 1.BIOS与UEFI root@archiso ~ # ls /sys/firmware/efi/efivars ls: cannot access '/sys ...