LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 662|回复: 0

请教为什么从网关下载数据很慢,上传很快没问题(iptables)[已解决]

[复制链接]
发表于 2006-10-27 17:01:40 | 显示全部楼层 |阅读模式
我测试从网关(192.168.1.1)向内部机器(如192.168.1.45)拷数据有上10MB/s
从内部机器向网关拷数据却只有250KB/s左右
造成局域网内的机器上外网速度非常慢,

不知道怎么回事,192.168.1.1使用双网卡,用iptable设成网关,作一些端口映射,其他就没有了

iptables的脚本如下:[PHP]#
# Configurations
#
IPTABLES="/sbin/iptables"

#
# reset the default policies in the filter table.
#
$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

#
# reset the default policies in the nat table.
#
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT

#
# reset the default policies in the mangle table.
#
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT

#
# flush all the rules in the filter and nat tables.
#
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
#
# erase all chains that's not default in filter and nat table.
#
$IPTABLES -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X


########################################################################
########################################################################



INET_IP="222.222.222.222"
INET_IFACE="eth0"
INET_BROADCAST="222.222.222.95"

LAN_IP="192.168.1.1"
LAN_IP_RANGE="192.168.1.0/24"
LAN_IFACE="eth1"

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/sbin/iptables"

#
# TCP rules
#

$IPTABLES -A INPUT -p TCP -s 0/0 --dport 8086 -j ACCEPT
$IPTABLES -A INPUT -p TCP -s 0/0 --dport 8087 -j ACCEPT

# servers from localmachines

$IPTABLES -A FORWARD -i $INET_IFACE -p TCP -d 192.168.1.45 --dport 9911 -j ACCEPT
$IPTABLES -A FORWARD -i $INET_IFACE -p TCP -d 192.168.1.240 --dport 8911 -j ACCEPT

#
# 4.2.4 PREROUTING chain        实现端口映射
#

$IPTABLES -t nat -A PREROUTING -d $INET_IP -p tcp --dport 8086 -j DNAT --to 192.168.1.45:9911
$IPTABLES -t nat -A PREROUTING -d $INET_IP -p tcp --dport 8087 -j DNAT --to 192.168.1.240:8911

#
# Enable simple IP Forwarding and Network Address Translation
#

                                # 让外网知道端口映射
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

                                # 让局域网ip知道端口映射
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP[/PHP]

问题解决:
原来是最后一句的问题:
$IPTABLES -t nat -A POSTROUTING -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP
画蛇添足!注释掉就好了~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表