linux isp通信,Linux上的负载均衡和NAT多个ISP连接

我使用lartc.org和iptables方法完成了负载平衡,我发现iptables方法更容易理解和实现.唯一的缺点是你需要一个相当新的iptables版本才能使用统计模块

让我们假设一些事情:

LAN:eth0:192.168.0.1/24

ISP1:eth1:192.168.1.1/24,网关:192.168.1.2/24

ISP2:eth2:192.168.2.1/24,网关:192.168.2.2/24

所以这是我将如何使用iptables方法:

路线表

首先编辑/ etc / iproute2 / rt_tables以在路由表编号和ISP名称之间添加映射

...

10 ISP1

20 ISP2

...

因此,表10和20分别用于ISP1和ISP2.我需要使用此代码片段(使用hxxp://linux-ip.net/html/adv-multi-internet.html)从主表的路径填充这些表.

ip route show table main | grep -Ev '^default' \

| while read ROUTE ; do

ip route add table ISP1 $ROUTE

done

并通过该ISP1的网关将默认网关添加到ISP1:

ip route add default via 192.168.1.2 table ISP1

为ISP2做同样的事情

所以现在我有2个路由表,每个ISP 1个.

iptables的

# iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark

# iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j ACCEPT

# iptables -t mangle -A PREROUTING -j MARK --set-mark 10

# iptables -t mangle -A PREROUTING -m statistic --mode random --probability 0.5 -j MARK --set-mark 20

# iptables -t mangle -A PREROUTING -j CONNMARK --save-mark

NAT

NAT很简单:

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

# iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值