文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>单网卡网关脚本

单网卡网关脚本

时间:2006-05-13  来源:xiaosuo

此脚本针对于只有一个网卡,还需将此台Linux主机作为网关,代理其它处于同一个网段内的主机上网,效率应该没有双网卡高,但是作为应急还是不错的。
#!/bin/bash

IPTABLES=/sbin/iptables
IFCONFIG=/sbin/ifconfig
MODPROBE=/sbin/modprobe

if [ $# -lt 1 ]; then
        echo Usage $0 GatewayIP
        exit
fi
GATEWAYIP=$1

echo -n Setup network card ...
public_ip=`ifconfig eth0 | sed -n 's/\([ \t]*\)inet addr:\([^ \t]*\)\(.*\)/\2/p'`
$IFCONFIG eth0:1 $GATEWAYIP netmask 255.255.255.0
[ $? -eq 0 ] || exit
echo OK

echo Load necessary modules
MODULEPATH=/lib/modules/`uname -r`/kernel/net/ipv4/netfilter
KERNELMAJOR=`uname -r`
KERNELMAJOR=${KERNELMAJOR%%-*}
left=${KERNELMAJOR#*.}
left=${left#*.}
left=".$left"
KERNELMAJOR=${KERNELMAJOR%$left}
if [ -d $MODULEPATH ]; then
        for i in $MODULEPATH/ip_nat_*; do
                if [ "X$KERNELMAJOR" = "X2.6" ]; then
                        i=${i%.ko}
                else
                        i=${i%.o}
                fi
                i=${i##*/}
                echo -n Load module $i ...
                $MODPROBE $i
                [ $? -eq 0 ] || exit
                echo OK
        done
fi

echo -n Allow forwarding ...
echo 1 > /proc/sys/net/ipv4/ip_forward
[ $? -eq 0 ] || exit
echo OK

echo -n Set default rules ...
$IPTABLES -P FORWARD DROP &&
$IPTABLES -F FORWARD &&
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT &&
$IPTABLES -t nat -F POSTROUTING
[ $? -eq 0 ] || exit
echo OK

while read ip ; do
        echo -n Allow $ip ...
        $IPTABLES -A FORWARD -s $ip/32 -j ACCEPT &&
        $IPTABLES -t nat -A POSTROUTING -s $ip/32 -j SNAT --to-source  $public_ip
        [ $? -eq 0 ] || exit
        echo OK
done < /etc/iplist.conf
应有此脚本的条件是你的Linux主机需要打开NAT支持,并且安装有iptables用户空间软件。接下来你只要把你需要代理的机器的IP加入到/etc/iplist.conf就行了,一行一个ip地址。
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
192.168.0.6
然后运行上面的脚本:
gateway.sh 192.168.0.1
享受上网吧,就这么简单。
后记:
本来是一个朋友让我给他配这个网络,弄了老半天也没好,后来发现回应的包做完SNAT的反向工作之后没能通过FORWARD链,因为源IP地址不符啊。所以,做事一定要认真啊!
相关阅读 更多 +
排行榜 更多 +
城市公交模拟器2019

城市公交模拟器2019

模拟经营 下载
假面骑士魂骑模拟器

假面骑士魂骑模拟器

模拟经营 下载
市政工程模拟器

市政工程模拟器

模拟经营 下载