往事依依,随风而行。淡忘过去的一切,在风中迎接新的希望。
浏览模式: 标准 | 列表 | 无广告2009年11月的文章

最近很懒。。懒得一塌糊涂

发现什么事情都没有做,混沌的日子。算了 睡觉~

About School Network(2)

最近改进了一下iptables策略感觉 网络质量好多了

# iptables -vnL
Chain INPUT (policy DROP 11295 packets, 2190K bytes)
 pkts bytes target     prot opt in     out     source               destination

 2080  333K ACCEPT     0    --  vlan1  *       172.17.10.1          0.0.0.0/0

 1380 44160 ACCEPT     0    --  vlan1  *       172.17.1.1           0.0.0.0/0

    0     0 DROP       0    --  br0    *       0.0.0.0/0            172.17.167.1
9
  183 12320 DROP       0    --  *      *       0.0.0.0/0            0.0.0.0/0
        state INVALID
11820 1343K ACCEPT     0    --  *      *       0.0.0.0/0            0.0.0.0/0
        state RELATED,ESTABLISHED
15016 1457K ACCEPT     0    --  br0    *       0.0.0.0/0            0.0.0.0/0

   15   840 ACCEPT     0    --  lo     *       0.0.0.0/0            0.0.0.0/0

  304 18240 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0

    0     0 REJECT     tcp  --  vlan1  *      !192.168.1.0/24       0.0.0.0/0
        tcp dpt:23 reject-with tcp-reset
    0     0 REJECT     tcp  --  vlan1  *      !192.168.1.0/24       0.0.0.0/0
        tcp dpt:80 reject-with tcp-reset
1399K  129M DROP       0    --  vlan1  *       172.17.0.0/16        0.0.0.0/0

 

内网包直接drop掉1399k个 不知道是什么包

路由开机5天

# uptime
 22:25:39 up 5 days,  3:56, load average: 0.08, 0.03, 0.03

iptables 昨天晚上配置的。(计数器清零)

这个结果我很惊讶。

看来学校的网络架构很恶心了,通过用抓包软件获得  广播包为80-90/S

今晚8点在线主机436台。 其中包括学校核心路由1太 dhcp1太 computer lab 核心机5台 web服务器3台 应该还有几台路由

可想而知网速为什么那么慢了。

都快广播风暴了。按理来说应该100台机器配一个路由来隔离广播域    

事实上不知道是不是如此。 如果没错100台机器一个路由   广播包为80-90/S 太。。。。。了吧  肯定是广播风暴。

或者是在路由上开了arp代理?  但是按照默认网关是172.17.1.1 mask 255.255.0.0 可以确定只有一个路由没有分子网

40%的网络被无用的广播包占据。

网关至少65000个端口 刨去3000个常用的至少还有 60000个端口可以用在做nat

60000/400= 150 port/ip 。。。这个数字很保守了 

可能还是主机配置的有些问题 端口大概只开了1w 所以会造成网络很慢。

没有具体数据先写这么多吧

对了峰值主机不一定是436台   oak 250人 max

pinahall至少500人 所以峰值大概在600台电脑  600台 影响网速的还是 广播包 和 nat端口 如果多家几台路由  分成100台主机的一个小网 估计性能提升不止是1倍2倍的了

 

Tags: canada, network

dualwan固件下的asus-wl520gu的单wan口多ip绑定实验



前几天显得无聊弄个个asus的wl520gu 回来 52刀 价格还是不错的 主要是可以刷tomato 这样正好可以练习下linux的网关技术 ^_^
下面简单说下吧。
wl520gu 用的是博通的芯片4mflash 16m ddr 带个几台下bt的机器足够用了。我刷的是dualwan 改版的tomato。

好了下面说下实验的环境。学校的网关是172.17.1.1 采用dhcp,我利用自己的权限偷偷给了自己n个静态ip(静态dhcp列表)172.17.167.17/18/19
路由器绑定是172.17.167.19
打算把172.17.167.18绑到laptop上,172.17.167.17绑到bt server上面方便从学校内网的其他机器访问。
拓扑图
大小: 24.27 K
尺寸: 441 x 242
浏览: 9 次
点击打开新窗口浏览全图
因为不论tomato、dd-wrt还是dualwan的web设置都是很简单的 所以直接ssh到 路由
telnet 192.168.1.1
用户名为root 不要输成admin。

进入后就是busybox busybox是个linux的命令行 他简化了linux 可以自己添加命令 主要用于工程机。 具体信心google吧。
先用ifconfig 查看下网卡状态
# ifconfig
br0        Link encap:Ethernet  HWaddr 00:26:18:13:54:65
           inet addr:192.168.1.1  Bcast:192.168.1.255  Mask:255.255.255.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:4738408 errors:0 dropped:0 overruns:0 frame:0
           TX packets:4377015 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:796135268 (759.2 MiB)  TX bytes:4205217353 (3.9 GiB)

eth0       Link encap:Ethernet  HWaddr 00:26:18:13:54:65
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:40477302 errors:12636 dropped:0 overruns:3651 frame:3651
           TX packets:3943571 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:100
           RX bytes:3945465567 (3.6 GiB)  TX bytes:692054944 (659.9 MiB)
           Interrupt:4 Base address:0x1000

eth1       Link encap:Ethernet  HWaddr 00:26:18:13:54:67
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:4741308 errors:0 dropped:0 overruns:0 frame:57195958
           TX packets:4633764 errors:2023 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:100
           RX bytes:862835253 (822.8 MiB)  TX bytes:4266446464 (3.9 GiB)
           Interrupt:13 Base address:0x5000

imq0       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00
0-00
           UP RUNNING NOARP  MTU:1500  Metric:1
           RX packets:4181208 errors:0 dropped:0 overruns:0 frame:0
           TX packets:4181001 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:30
           RX bytes:4083558188 (3.8 GiB)  TX bytes:4083286490 (3.8 GiB)

imq1       Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00
0-00
           UP RUNNING NOARP  MTU:1500  Metric:1
           RX packets:3052447 errors:0 dropped:0 overruns:0 frame:0
           TX packets:3052447 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:30
           RX bytes:476100316 (454.0 MiB)  TX bytes:476100316 (454.0 MiB)

lo         Link encap:Local Loopback
           inet addr:127.0.0.1  Mask:255.0.0.0
           UP LOOPBACK RUNNING MULTICAST  MTU:16436  Metric:1
           RX packets:467 errors:0 dropped:0 overruns:0 frame:0
           TX packets:467 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:36671 (35.8 KiB)  TX bytes:36671 (35.8 KiB)

vlan0      Link encap:Ethernet  HWaddr 00:26:18:13:54:65
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:0 errors:0 dropped:0 overruns:0 frame:0
           TX packets:368198 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:0 (0.0 B)  TX bytes:67479636 (64.3 MiB)

vlan1      Link encap:Ethernet  HWaddr 00:26:18:13:54:68
           inet addr:172.17.167.19  Bcast:172.17.255.255  Mask:255.255.0.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:40477302 errors:0 dropped:0 overruns:0 frame:0
           TX packets:3575373 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:0
           RX bytes:3216874131 (2.9 GiB)  TX bytes:624575308 (595.6 MiB)

vlan1就是wan1口
vlan0是wan2口 我把它禁用了
然后给vlan1增加ip
ifconfig vlan1:1 172.17.167.18 broadcast 172.17.255.255 netmask 255.255.0.0
ifconfig vlan1:2 172.17.167.17 broadcast 172.17.255.255 netmask 255.255.0.0
再用ifconfig查看
vlan1:1    Link encap:Ethernet  HWaddr 00:26:18:13:54:68
           inet addr:172.17.167.18  Bcast:172.17.255.255  Mask:255.255.0.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
vlan1:2    Link encap:Ethernet  HWaddr 00:26:18:13:54:68
           inet addr:172.17.167.17  Bcast:172.17.255.255  Mask:255.255.0.0
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
多出2个vlan1 这样ip就绑定对了 你再试试用几个ip能访问到80端口不。
为了安全在iptables先做下安全
iptables -A INPUT -i vlan1 -p tcp --dport 23 -s ! 192.168.1.1/255.255.255.0 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i vlan1 -p tcp --dport 80 -s ! 192.168.1.1/255.255.255.0 -j REJECT --reject-with tcp-reset
幽默点对于非192.168.1.1/24这段ip 访问路由器 全部返回 tcp-reset 就是连接重置。
开始进行nat
先把192.168.1.254 nat 到172.17.167.17上
iptables -t nat -I POSTROUTING -s 192.168.1.1/255.255.255.0 -d 192.168.1.254 -j SNAT --to-source 172.17.167.17
iptables -t nat -I PREROUTING -d 172.17.167.17 -j DNAT --to-destination 192.168.1.254
iptables -t nat -I POSTROUTING -o vlan1 -s 192.168.1.254 -j SNAT --to 172.17.167.17
iptables -I FORWARD -i vlan1 -d 192.168.1.254 -j ACCEPT
在吧192.168.1.118 nat 到172.17.167.18上
iptables -t nat -I POSTROUTING -s 192.168.1.1/255.255.255.0 -d 192.168.1.118 -j SNAT --to-source 172.17.167.18
iptables -t nat -I PREROUTING -d 172.17.167.18 -j DNAT --to-destination 192.168.1.118
iptables -t nat -I POSTROUTING -o vlan1 -s 192.168.1.118 -j SNAT --to 172.17.167.18
iptables -I FORWARD -i vlan1 -d 192.168.1.118 -j ACCEPT
ok  这样nat 就ok了

为了开机自动执行脚本

ifconfig vlan1:1 172.17.167.18 broadcast 172.17.255.255 netmask 255.255.0.0
ifconfig vlan1:2 172.17.167.17 broadcast 172.17.255.255 netmask 255.255.0.0
加到wan联网时

iptables -t nat -I POSTROUTING -s 192.168.1.1/255.255.255.0 -d 192.168.1.254 -j SNAT --to-source 172.17.167.17
iptables -t nat -I PREROUTING -d 172.17.167.17 -j DNAT --to-destination 192.168.1.254
iptables -t nat -I POSTROUTING -o vlan1 -s 192.168.1.254 -j SNAT --to 172.17.167.17
iptables -I FORWARD -i vlan1 -d 192.168.1.254 -j ACCEPT
iptables -t nat -I POSTROUTING -s 192.168.1.1/255.255.255.0 -d 192.168.1.118 -j SNAT --to-source 172.17.167.18
iptables -t nat -I PREROUTING -d 172.17.167.18 -j DNAT --to-destination 192.168.1.118
iptables -t nat -I POSTROUTING -o vlan1 -s 192.168.1.118 -j SNAT --to 172.17.167.18
iptables -I FORWARD -i vlan1 -d 192.168.1.118 -j ACCEPTiptables -A INPUT -i vlan1 -p tcp --dport 23 -s ! 192.168.1.1/255.255.255.0 -j REJECT --reject-with tcp-reset
iptables -A INPUT -i vlan1 -p tcp --dport 80 -s ! 192.168.1.1/255.255.255.0 -j REJECT --reject-with tcp-reset
加入到防火墙中
结束
目前严重策略路由中 过几天写一下

Tags: linux, iptables, tomato