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. spring jpa 语法

    摘自http://www.cnblogs.com/BenWong/p/3890012.html Table 2.3. Supported keywords inside method names Ke ...

  2. node.js学习4--------------------- 根据不同路径来响应内容,以及中文乱码的解决

    /** * http服务器的搭建,相当于php中的Apache或者java中的tomcat服务器 */ // 导包 const http=require("http"); //创建 ...

  3. 解决getElementsByClassName()在IE8下的兼容问题

    getElementsByClassName,这个方法让我们可以通过 class 属性中的类名来访问元素,但是IE9 以下的浏览器不支持 .为解决这个问题,我们写一个兼容函数 getByClass() ...

  4. Legal or Not ,图的拓扑

    ACM-DIY is a large QQ group where many excellent acmers get together. It is so harmonious that just ...

  5. 运维rpm语法

    Linux软件包分类 rpm 常用命令1.安装一个包 # rpm -ivh 2.升级一个包 # rpm -Uvh 3.卸载一个包 # rpm -e 4.安装参数 --force 即使覆盖属于其它包的文 ...

  6. hadoop day 6

    1.为hive配置mysql数据库 conf/hive-site.xml <property> <name>javax.jdo.option.ConnectionURL< ...

  7. Kafka如何彻底删除topic及数据

    前言:删除kafka topic及其数据,严格来说并不是很难的操作.但是,往往给kafka 使用者带来诸多问题.项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况.本文总结多个删 ...

  8. 【EMV L2】Select PSE应用选择相关的卡片数据格式

    The data field of the response message contains the FCI specific to the selected PSE, DDF, or ADF. 一 ...

  9. chm提取

    Python读写CHM文件 7z 可以将chm解包为HTML

  10. light sdk

    //请求ajax var request = function (url,method,params,cb) { var d = ajax({ url:url, type:method, data:p ...