中国富人投资:在LINUX下怎样代理上

来源:百度文库 编辑:高校问答 时间:2024/04/29 17:05:37
我想在下通过两块网卡代理上网
一块网卡接外网一块接内网请问要怎么设制呢

你是说把自己设置为代理服务器?
先设置好你内外二块网卡
然后
$echo 1 > /proc/sys/net/ipv4/ip_forward
我记得是如此的,把信息包转发打开形成一个最简单的路由
然后让其他内网的机器把gateway指向你机器的内网ip就可以了。
缺点是每次你重启计算机都要敲上面那行命令,$不用敲,只是说得用root来作。

或者你就得配置动态路由了,那个比较麻烦也需要安装相应的软件
再或者使用代理服务器软件好像叫什么squid记不清了

你说的是设置双网卡代理服务吧
#! /bin/sh

IPTABLES=/usr/sbin/iptables
EXTERNAL="eth1" ---> 外网的接口
INTERNAL="eth0" ---> 内网的接口
IP=192.168.0.0/24 ---> 内网地址

kver=`uname -r | cut -c 1-3`
if [ "$kver" != "2.4" ] && [ "$kver" != "2.5" ]; then
echo "Your Linux Kernel Version may not be suported by this script!"
echo "This scripts will not be runing"
exit
fi
ipchains=`lsmod | grep ipchains`
if [ "$ipchains" != "" ]; then
echo "unload ipchains in your system"
rmmod ipchains 2> /dev/null
fi

$IPTABLES -P INPUT ACCEPT
$IPTABLES -P FORWARD ACCEPT
$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT

$IPTABLES -F
$IPTABLES -t nat -F

$IPTABLES -X
$IPTABLES -t nat -X

start() {
echo -n $"Starting firewall "
# Enable IPV4 Packet Forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

for i in /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/*
do
t=`echo $i |sed 's/\.o$//g'`
module=`basename $t`
modprobe $module
done
#
#允许ICMP数据包(ping)
$IPTABLES -A INPUT -p icmp -j ACCEPT

#允许内部网之间的数据通讯

$IPTABLES -A INPUT -i $INTERNAL -s $PRINET -j ACCEPT
$IPTABLES -A OUTPUT -o $INTERNAL -d $PRINET -j ACCEPT

$IPTABLES -t nat -A POSTROUTING -o $EXTERNAL -j MASQUERADE
echo_success
}

stop(){
echo -n $"Stopping Firewall"

flush

for i in /lib/modules/`uname -r`/kernel/net/ipv4/netfilter/*
do
t=`echo $i |sed 's/\.o$//g'`
module=`basename $t`
modprobe -r $module
done

# Disale IPV4 Packet Forwarding
echo "0" > /proc/sys/net/ipv4/ip_forward
echo_success
}

restart()
{
stop
start
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac

修改此脚本后执行就可以了。
参考资料:http://www.chinalinuxpub.com/bbs/showthread.php?t=17308

squid也可以试下