站长论坛

标题: SSH脚本偷点带宽 [打印本页]

作者: lupd    时间: 2007-9-9 23:03
标题: SSH脚本偷点带宽
本楼宽带用户接自同一交换机,交换机对各家用户限定固定大小的带宽。于是大家都在一个大局域网内,测试了一下,发现大部分用户的网关服务器IP皆为192.168.0.x,所以让公司一部分人通过其它网关服务器访问外网,偷点带宽。
  服务器上两块网卡,eth0接入外网交换机,eth1为内网网口,内网偷带宽的机器IP段为192.168.1.x。

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

以下脚本由crontab每隔10分钟调用一次

#!/bin/sh

pid_file=/tmp/network_debianl.tmp[[ -f $pid_file ]] && echo "Another instance with this program is running!" && exit

touch $pid_file

trap "script_exit" 2 3

function script_exit ()
{
    unlink $pid_file
    exit
}

ping -c 1 210.52.149.2
[[ $? = 0 ]] && echo "Connected internet" && unlink $pid_file && exit

if [ -f /etc/gateways ]; then
    for LOOP in `cat /etc/gateways`
    do
        ping -c 1 $LOOP
        if [ $? = 0 ]; then
            route del default
            route add default gw $LOOP
            sed '$d' /etc/resolv.conf > /etc/resolv.conf.bak            mv /etc/resolv.conf.bak /etc/resolv.conf            echo "nameserver $LOOP" >> /etc/resolv.conf            ping -c 1 210.52.149.2
            [[ $? = 0 ]] && echo "Connected internet" && unlink $pid_file && exit
        fi
    done
fi

LOOP=1
while [ $LOOP -lt 250 ]
do
    [[ -f /etc/gateways ]] && grep 192.168.0.$LOOP /etc/gateways > /dev/null &&
      [[ $? = 0 ]] && LOOP=`expr $LOOP + 1` && continue
    ping -c 1 192.168.0.$LOOP
    if [ $? = 0 ]; then
        echo 192.168.0.$LOOP >> /etc/gateways        route del default        route add default gw 192.168.0.$LOOP
        sed '$d' /etc/resolv.conf > /etc/resolv.conf.bak        mv /etc/resolv.conf.bak /etc/resolv.conf        echo "nameserver 192.168.0.$LOOP" >> /etc/resolv.conf        ping -c 1 210.52.149.2
        [[ $? = 0 ]] && echo "Connected internet" && unlink $pid_file && exit
    fi
    LOOP=`expr $LOOP + 1`
done

echo "Can't connect internet"

unlink $pid_file

引用地址:http://www.gbunix.com/htmldata/2006_07/14/18/article_1341_1.html




欢迎光临 站长论坛 (https://tzlink.com/bbs/) Powered by Discuz! X3.2