linux 策略路由实例解析

1.前言

公司的服务器为了避免单点故障采用了双ISP接入。即联通和电信都接入。联通的线路为100M,作为首选,电信的线路为30M,当联通线路出现故障的时候,先切换到电信线路救急。

但是因为电信的线路闲着就是浪费,结合业务的需求下,在一台主服务器中同时配置了电信的公网ip和一个私网ip,这个私网ip映射的是联通的公网ip。

那么问题就出现了,路由怎么配置,当有数据需要传输的时候,他会选择哪个线路出去,如果你配上两个网关的话会出现问题吗?很显然linux没有那么智能。这个时候策略路由就闪耀登场了。

2.操作

(1)配置ip

bond0:192.168.0.36    映射的联通的ip,网关为192.168.0.1(此处做的链路聚合,不在赘述)

eth1:1.202.XXX.XX

网卡按如上配置,映射的网卡文件中有网关选项,直接配置的公网ip地址没有配置网关

[[email protected] network-scripts]# vim ifcfg-bond0

DEVICE=bond0                                     //做的链路聚合,不在赘述
IPADDR=192.168.0.3                             //ip地址
NETMASK=255.255.255.0                     //子网掩码
GATEWAY=192.168.0.1                         //网关
BROADCAST=192.168.0.255                 //广播地址
NM_CONTROLLED=yes                        //允许NetworkManager管理(图形化界面)
ONBOOT=yes                                       //开机自启
BOOTPROTO=none                              //静态ip
TYPE=Ethernet                                      //类型以太网
IPV6INIT=no                                         //ipv6不允许
USERCTL=no                                         //不允许非root用户控制该设备

[[email protected] network-scripts]# vim ifcfg-eth1

DEVICE=eth1
HWADDR=78:2B:CB:69:39:77
NM_CONTROLLED=yes
ONBOOT=yes
IPADDR=1.202.197.87
BOOTPROTO=none
NETMASK=255.255.255.240
TYPE=Ethernet
DNS1=202.106.0.20
IPV6INIT=no
USERCTL=no

(2)增加路由表

[[email protected] ~]# vim /etc/iproute2/rt_tables

251 cnc                            //增加一个路由表 cnc,优先级为251
252 tel                              //增加一个路由表tel,优先级为252

(3) 配置路由

ip route add default via 192.168.0.1 dev bond0 table cnc     //在cnc表中增加路由条目
ip route add default via 1.202.XXX.XX dev eth1 table tel       //在tel表中增加路由条目
ip rule add from 192.168.0.0/24 table cnc                             //192.168.0.0/24使用cnc路由表
ip rule add from 1.202.XXX.XX/28 table tel                            //1.202.XXX.XX/28使用tel路由表

(4)查看路由表

时间: 2024-10-11 08:49:59

linux 策略路由实例解析的相关文章

深入浅出实例解析linux内核container_of宏

做一件事情首先应该知道它的目的是什么. container_of的目的:如何通过结构中的某个变量获取结构本身的指针. 总体思路:假想一下,你的结构体中有好几个成员,你如何通过里面的"任一成员"获取整个结构体的首地址呢.container_of的做法就是通过typeof定义一个与"任一成员"同类型的指针变量pvar_a(假设变量名就是pvar_a),并让指针变量pvar_a指向这个"任一成员",然后用 "pvar_a的地址" 减

Linux DNS正向解析和反向解析配置实例(一)

示例:建立正向反向解析区域为ning.com 在下面的配置中,有详细的解析配置: 1.配置文件的内容设置 #vim /etc/named/named.conf options {   // listen-on port 53 { 127.0.0.1; };----------必须监听在可以和外部通信的一个地址上可以指定,注意书写格式.(注释//掉是监听到所有的53号端口上)   //listen-on-v6 port 53 { ::1; };--------------IPV6的监听地址(注释/

Linux命令行抓包及包解析工具tshark(wireshark)使用实例解析

在Linux下,当我们需要抓取网络数据包分析时,通常是使用tcpdump抓取网络raw数据包存到一个文件,然后下载到本地使用wireshark界面网络分析工具进行网络包分析. 最近才发现,原来wireshark也提供有Linux命令行工具-tshark.tshark不仅有抓包的功能,还带了解析各种协议的能力.下面我们以两个实例来介绍tshark工具.1.安装方法 CentOS: yum install -y wireshark    Ubuntu: apt-get install -y tsha

第7章 Android HAL实例解析

第7章 Android HAL实例解析 通过本章介绍Android的HAL知道HAL是为了一些硬件提供商提出的保护专利的驱动程序而产生的,是为了避开Linux的GPL束缚.HAL主要的存储目录有:1.libhardware_legany  2.libhardware:3.ril   4.msm7k.主要包含以下一些模块:Gps.Vibrator.Wifi.Copybit.Audio.Camera.Lights.Ril.Overlay等.大概了解了Android  HAL. 第1中方法 直接调用s

基于Android2.3.5系统:JNI与HAL实例解析[一]

*************************************************************************************************************************** 作者:EasyWave                                                                                                           时间:2015.

Android开发之IPC进程间通信-AIDL介绍及实例解析

一.IPC进程间通信 IPC是进程间通信方法的统称,Linux IPC包括以下方法,Android的进程间通信主要采用是哪些方法呢? 1. 管道(Pipe)及有名管道(named pipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进程间的通信:   2. 信号(Signal):信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除了用于进程间通信外,进程还可以发送信号给进程本身:linux除了支持Unix早期

exec函数族实例解析

fork()函数通过系统调用创建一个与原来进程(父进程)几乎完全相同的进程(子进程是父进程的副本,它将获得父进程数据空间.堆.栈等资源的副本.注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间.linux将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间.),也就是这两个进程做完全相同的事. 在fork后的子进程中使用exec函数族,可以装入和运行其它程序(子进程替换原有进程,和父进程做不同的事). fork创建一个新的进程就产生了一个新的PID,e

linux iptables 实例1

柘扑图: shell脚本: 说明:内网可以正常上网,只能通过端口访问DMZ里的服务器 firewall服务器和DMZ里的器不能上网,但是可以指定访问外网某个IP 外网可以通过访问DNAT映射访问内网web和FTP服务器 指定某个IP进行管理iptables,不允许外网进行管理 服务器不能主动上外网 [[email protected] ~]# cat /opt/firewall.sh #!/bin/bash /sbin/modprobe nf_conntrack_ftp /sbin/modpro

搭建NFS文件共享--实例解析

1 NFS简介 NFS 是Network File System的缩写,即网络文件系统.一种使用于分散式文件系统的协定,由Sun公 司开发,于1984年向外公布.功能是通过网络让不同的机器.不同的操作系统能够彼此分享个别的数据, 让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是实现磁盘文件共享的一种方法. NFS 的基本原则是"容许不同的客户端及服务端通过一组RPC分享相同的文件系统",它是独立于操作 系统,容许不同硬件及操作系统的系统共同进行文件的分享. 2 NFS服务器的配