Linux配置双网关

以Centos7为例配置双网关

系统默认只有1个主路由表,一个路由表只有一个默认网关。在这种情况下会有多个路由表,可以有多个默认网关。

系统环境:CentOS 7

网络环境:

eno1:10.0.7.2/26    gw :10.0.7.254    netmask:255.255.255.192
eno2:168.6.101.2/24   gw :168.6.101.254   netmask:255.255.255.0

具体配置:

1、网卡一正常配置,网卡二不配置网关信息(GATEWAY)
2、配置完成后重启网卡 service network restart

3添加路由表

vim /etc/iproute2/rt_tables,添加内容:

    252  1

    251  2

3、执行下列命令(添加原路返回路由——此处注意在命令行执行下列命令是临时生效 )

#ip route flush table 1    注意:所有的 RPDB 规则都是在系统启动时加载进内核内存的,因此还需要 flush 缓存。这会强制内核重新加载规则和路由数据库 (其实就是清空路由表1的路由) 
#ip route add default via 10.0.7.254 dev eno1 src 10.0.7.2 table 1
#ip rule add from 10.0.7.2 table 1
#ip route flush table 2
#ip route add default via 168.6.101.254 dev eno2 src 168.6.101.2 table 2
#ip rule add from 168.6.101.2 table 2

ps:添加以上命令时建议添加到/etc/rc.d/init.d/network文件的后面,保证系统重启开机自动运行

5、详细说明

从Linux-2.2开始,内核把路由归纳到许多路由表中,这些表都进行了编号,编号数字的范围是1到255。

可以在路由表配置文件:/etc/iproute2/rt_tables 中为路由表命名。

默认情况下,所有的路由都会被插入到表main(编号254)中。在进行路由查询时,内核只使用路由表main。

local:本地和广播地址。该路由表由内核维护,用户无法向该表中添加任何条目
main:由 route 或 ip route 管理(部分由内核管理),在不指定策略的时候会使用该表
default:为后处理规则(post-processing rules)保留
unspec:用于失效安全(failsafe),请勿修改和移除
inr.ruhep:这行是个例子,告诉用户可以这样以 <整数值 名称> 的方式来设置路由表。

第一列:冒号之前的数字,表示该路由表被匹配的优先顺序,数字越小,越早被匹配。范围是0~32767。默认0、32766、32767三个优先级别已被占用。如果在添加规则时没有定义优先级别,那么默认的优先级别会从32766开始递减,可以通过prio ID参数在设置路由表时添加优先级。

第二列:from,这里显示的是匹配规则,当前表示的是从哪里来的数据包,还有:
From -- 源地址
To -- 目的地址(这里是选择规则时使用,查找路由表时也使用)
  Tos -- IP包头的TOS(type of sevice)域
  Dev -- 物理接口
  Fwmark -- 防火墙参数

第三段:loacl/main/default, 这些都是路由表名称,表示数据包要从那个路由表送出去。local表包含本机路由及广播信息,main表就是我们route -n看到的内容,default表,默认为空。

查看访问某个目的ip会命中哪条路由:

ip route get 192.168.2.25

查看所有路由规则:

ip rule list

查看每一个路由规则对应的路由表里的条目:

ip route show table local

ip rule 命令:

Usage: ip rule [ list | add | del ] SELECTOR ACTION (add 添加;del 删除; llist 列表)/

6添加规则

1)Source IP

根据来源端IP来决定数据包参考哪个路由表发送出去。以下两个示例分别指出,如果数据包的来源端IP是192.168.182.10,就参考路由表10;如果来源端IP为192.168.182.0/24网段的IP,就参考路由表20。

ip rule add from 192.168.182.10 table 10 
ip rule add from 192.168.182.0/24 table 20

2)Destination IP

根据目的端IP来决定数据包参考哪个路由表发送出去。以下两个示例分别指出,如果数据包的目的端IP是192.168.183.1,就参考路由表10;如果目的端IP是192.168.183.0/24网段的IP,就参考路由表20。

ip rule add to 192.168.183.1 table 10 
ip rule add to 192.168.183.0/24 table 20

  • 38
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值