免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 5469 | 回复: 21
打印 上一主题 下一主题

[网络管理] 多adsl与dnat (已解决) [复制链接]

论坛徽章:
3
IT运维版块每日发帖之星
日期:2015-06-12 22:20:00IT运维版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-06-14 22:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-18 21:57 |只看该作者 |倒序浏览
多adsl与dnat

局域网内,4条动态IP地址adsl线路(512k),主要通过修改ifcfg-pppx文件 PIDFILE=/var/run/pppoe-pppx.pid和DEFROUTE=no已经成功实现多条ADSL的负载均衡上网。通过使用迅雷软件测试,峰值可达到220k/秒,一般下载可稳定在160k/秒左右。

现局域网内有一台WEB服务器,想通过iptables的DNAT功能,实现web网页的对外发布(外部访问的IP地址就是4条ADSL线路拨号后所得的公网地址),代码如下。

问题:运行后发现,从外部访问(第五条ADSL线路)4条adsl线路的公网地址,发现随机的只有1到2个公网地址有相应,其他的公网地址没有反应。
估计问题的原因是 ip route 本身就是随机的指定某一adsl线路作为对外访问的网关。而这同样的造成了,从外部访问的web流量在到达web服务器后,web服务器在回应时,可能走了与近入的web访问请求不同的adsl线路。

最初使用的是redhat as5自带的kernel和iptables,后来把内核升级到linux-2.6.25.5把iptables升级到iptables-1.4.1-rc3 后问题依旧。

不知道大家有没有遇到过类似的问题,望不吝赐教,谢谢。





#!/bin/sh

IPTABLES="/usr/local/sbin/iptables"

LO_IFACE="lo"
LO_IP="127.0.0.1"

LAN_IP="10.1.1.241"
LAN_IP_RANGE="10.1.1.0/24"
LAN_IFACE="eth4"

INET_IFACE_1="ppp0"
INET_IFACE_2="ppp1"
INET_IFACE_3="ppp2"
INET_IFACE_4="ppp3"

ip route add default scope global nexthop dev $INET_IFACE_1 weight 1 nexthop dev $INET_IFACE_2 weight 1 nexthop dev $INET_IFACE_3 weight 1 nexthop dev $INET_IFACE_4 weight 1




echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/default/rp_filter
echo "0" > /proc/sys/net/ipv4/conf/default/accept_source_route
echo "1" > /proc/sys/net/ipv4/ip_dynaddr


$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE_1 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE_2 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE_3 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE_4 -j MASQUERADE

$IPTABLES -t nat -I PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
$IPTABLES -t nat -I PREROUTING -i ppp1 -p tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
$IPTABLES -t nat -I PREROUTING -i ppp2 -p tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
$IPTABLES -t nat -I PREROUTING -i ppp3 -p tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80

[ 本帖最后由 bbz_chinaunix 于 2008-7-17 16:19 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-06-18 22:57 |只看该作者
我在想这四条动态的链路能否组成负载均衡的bonding?然后通过DNAT将访问重定向到bonding上去?

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
3 [报告]
发表于 2008-06-18 23:40 |只看该作者
因为你使用了NAT,因此出现此现象。
解决方法:
1、IPTABLES打标记与标记恢复,实现标记路由。
2、只使用一个ADSL地址做web服务器发布,并做好源策略路由。

论坛徽章:
3
IT运维版块每日发帖之星
日期:2015-06-12 22:20:00IT运维版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-06-14 22:20:00
4 [报告]
发表于 2008-06-19 12:17 |只看该作者
标记路由? 能不能说的具体点。
是不是类似 -j MARK --set-mark xx 这样的标记。
如果从1号adsl线路进入,并打上 mark 01的标记,那么在从web服务器回应的时候怎么利用这个标记?
能不能给点思路 谢谢

论坛徽章:
5
IT运维版块每日发帖之星
日期:2015-08-06 06:20:00IT运维版块每日发帖之星
日期:2015-08-10 06:20:00IT运维版块每日发帖之星
日期:2015-08-23 06:20:00IT运维版块每日发帖之星
日期:2015-08-24 06:20:00IT运维版块每日发帖之星
日期:2015-11-12 06:20:00
5 [报告]
发表于 2008-06-19 19:05 |只看该作者
-j MARK help

调帮助看看,具体的命令忘记了。但是有个哥们实现过。

论坛徽章:
0
6 [报告]
发表于 2008-06-20 02:06 |只看该作者
问题:运行后发现,从外部访问(第五条ADSL线路)4条adsl线路的公网地址,发现随机的只有1到2个公网地址有相应,其他的公网地址没有反应。

没能看懂你的问题…

论坛徽章:
3
IT运维版块每日发帖之星
日期:2015-06-12 22:20:00IT运维版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-06-14 22:20:00
7 [报告]
发表于 2008-06-20 17:25 |只看该作者
这个意思:
比方说我的办公室申请了5条非固定ip地址的512k带宽的adsl线路(分别是:adsl1,adsl2,adsl3,adsl4,adsl5),四台电脑(p1,p2,p3,p4)。

p1电脑安装redhat as5(5块网卡,eth0 10.1.1.241/24 接入局域网,eth1接adsl1,eth2接adsl2,eth3接adsl3,eth4接adsl4,四条adsl线路全部为动态ip地址)
p1已经成功实现多条ADSL的负载均衡上网。4条adsl线路拨号后,自然就有了4个公网地址。

p2电脑安装windwos2003+iis(1块网卡,eth0 10.1.1.6/24 网关指向10.1.1.241)
p2使用iis在80端口,提供web服务。
并利用p1(-j DNAT --to-destination 10.1.1.6:80)对公网发布web服务

p3电脑安装普通xp,(1块网卡,10.1.1.10/24 网关指向10.1.1.241)
p3通过p1(-j MASQUERADE)实现共享上网,使用迅雷软件测试,峰值可达到220k/秒,一般下载可稳定在160k/秒左右。


p4电脑就是普通的xp(1块网卡,接adsl5,拨号上网的单机)
拨号后,在浏览器内,输入p1拨号后得到的4个公网ip地址。发现随机的只有1到2个公网地址有相应 (其实绝大部分只有1个公网地址又反应) ,其他的公网地址没有反应。

不好意思,兄弟语文不好,差不多就是这个意思。
就是想让p4之类的电脑,可以从外部访问p2上的web服务。

[ 本帖最后由 bbz_chinaunix 于 2008-6-20 17:27 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-06-20 18:03 |只看该作者
我们公司也是这么做的没有问题
麻烦贴一下 iptables-save -c的结果

论坛徽章:
3
IT运维版块每日发帖之星
日期:2015-06-12 22:20:00IT运维版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-06-14 22:20:00
9 [报告]
发表于 2008-06-20 21:04 |只看该作者
嗯,谢谢白金兄。 我周一去找来

论坛徽章:
3
IT运维版块每日发帖之星
日期:2015-06-12 22:20:00IT运维版块每日发帖之星
日期:2015-06-13 22:20:00IT运维版块每日发帖之星
日期:2015-06-14 22:20:00
10 [报告]
发表于 2008-06-21 14:00 |只看该作者

iptables-save -c 的结果

iptables-save -c


# Generated by iptables-save v1.4.1-rc3 on Sat Jun 21 13:57:47 2008
*raw
REROUTING ACCEPT [39530290:15156690612]
:OUTPUT ACCEPT [1396609:114263230]
COMMIT
# Completed on Sat Jun 21 13:57:47 2008
# Generated by iptables-save v1.4.1-rc3 on Sat Jun 21 13:57:47 2008
*nat
REROUTING ACCEPT [149183:9375484]
OSTROUTING ACCEPT [4130:216358]
:OUTPUT ACCEPT [87:5362]
[750:39476] -A PREROUTING -i ppp3 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
[1271:66536] -A PREROUTING -i ppp2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
[1091:56844] -A PREROUTING -i ppp1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
[999:52384] -A PREROUTING -i ppp0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 10.1.1.6:80
[32015:1694530] -A POSTROUTING -o ppp0 -j MASQUERADE
[33251:1760142] -A POSTROUTING -o ppp1 -j MASQUERADE
[31968:1728203] -A POSTROUTING -o ppp2 -j MASQUERADE
[33344:1762056] -A POSTROUTING -o ppp3 -j MASQUERADE
COMMIT
# Completed on Sat Jun 21 13:57:47 2008
# Generated by iptables-save v1.4.1-rc3 on Sat Jun 21 13:57:47 2008
*mangle
REROUTING ACCEPT [3618417:1424674798]
:INPUT ACCEPT [1559403:195981986]
:FORWARD ACCEPT [37770619:14937421958]
:OUTPUT ACCEPT [59937:4651073]
OSTROUTING ACCEPT [39167250:15051682773]
COMMIT
# Completed on Sat Jun 21 13:57:47 2008
# Generated by iptables-save v1.4.1-rc3 on Sat Jun 21 13:57:47 2008
*filter
:INPUT ACCEPT [70907:6898530]
:FORWARD ACCEPT [3547481:1417774614]
:OUTPUT ACCEPT [59937:4651073]
COMMIT
# Completed on Sat Jun 21 13:57:47 2008
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP