OpenWRT/Linux多WAN带宽叠加使用iptables标记策略路由负载均衡
来源:互联网 发布:java 静态导入 编辑:程序博客网 时间:2024/06/05 06:47
http://www.haiyun.me/archives/iptables-nth-mark-route-load.html
之前有介绍OpenWrt下ADSL多拨使用nexthop负载均衡,负载不是很理想,本次使用iptable标记数据包并配合策略路由实现负载均衡。
WAN1数据标记:
1
2
3
4
5
iptables -t mangle -N WAN1
iptables -t mangle -A WAN0 -j MARK --
set
-mark 1
#标记数据包
iptables -t mangle -A WAN0 -j CONNMARK --save-mark
#把数据包中的mark设置到整个连接中
WAN2数据标记:
1
2
3
iptables -t mangle -N WAN2
iptables -t mangle -A WAN2 -j MARK --
set
-mark 1
iptables -t mangle -A WAN2 -j CONNMARK --save-mark
把已存在连接中的mark设置到数据包中:
1
2
3
iptables -t mangle -N RESTORE
iptables -t mangle -A RESTORE -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m state --state ESTABLISHED,RELATED -j RESTORE
使用NTH模块公平分发新数据包到WAN1和WAN2:
1
2
iptables -t mangle -A PREROUTING -m state --state NEW -m statistic --mode nth --every 2 --packet 0 -j WAN1
iptables -t mangle -A PREROUTING -m state --state NEW -m statistic --mode nth --every 2 --packet 1 -j WAN2
设置路由表:
1
2
3
4
5
6
7
8
cat /etc/iproute2/rt_tables
#http://www.haiyun.me
255 local
254 main
253 default
0 unspec
252 WAN1
251 WAN2
设置路由表默认路由:
1
2
3
4
ip route flush table WAN1
ip route add table WAN1 default via 2.2.2.2 dev ppp0
ip route flush table WAN2
ip route add table WAN2 default via 1.1.1.1 dev ppp1
根据iptables标记应用路由:
1
2
3
4
5
ip rule del from all fwmark 2 2>
/dev/null
ip rule del from all fwmark 1 2>
/dev/null
ip rule add fwmark 1 table my_wan0
ip rule add fwmark 2 table my_wan1
ip route flush cache
禁用源地址验证:
1
2
cat /etc/sysctl.conf
net.ipv4.conf.default.rp_filter = 0
0 0
- OpenWRT/Linux多WAN带宽叠加使用iptables标记策略路由负载均衡
- linux iptables实现单机多ip出口ip负载均衡(宽带叠加)
- linux下双WAN负载均衡实现
- openwrt Multi-WAN+macvlan单WAN多帐户 多拔叠加网络
- linux下多条ADSL实现带宽负载均衡
- Openwrt虚拟WAN口叠加网速
- linux 使用 ip route , ip rule , iptables 配置策略路由
- Linux 使用 ip route , ip rule , iptables 配置策略路由
- 使用multiwan(多wan)叠加有线和无线
- 策略路由和NAT实现负载均衡实例教程
- bonding-多网卡绑定一起,作为一个网卡使用,实现负载均衡和提高带宽
- openwrt 策略路由
- 路由应用-使用路由实现负载流量均衡
- 使用Linux 策略路由配置多网卡路由
- 使用Linux实现负载均衡
- 使用Linux实现负载均衡
- 利用VMWare和软路由多播实现校园网带宽叠加
- LINUX环境下Iprouter2 + iptables + tc 双线策略路由(转)
- Python+Selenium练习篇之9-清除文本方法
- Java实现敏感词过滤
- 磁盘容量检查脚本
- 310. Minimum Height Trees
- ServerSocket的建立和使用
- OpenWRT/Linux多WAN带宽叠加使用iptables标记策略路由负载均衡
- 一些常用技术文档网站
- 兄弟选择器
- Q&A——性能优化(二)
- 【android】ListView工作原理解析
- 找不到activity
- iOS#import和@class区别
- 从《亮剑》中学到的管理方法
- 剑指offer20:顺时针打印矩阵