南方Linux论坛   首页 | 行业 | 下载 | Blog | 桌面应用 | 数据库 | 电子商务 | 文摘 | 网络服务 | 开源 | 系统管理 | 内核代码 | 教程

返回   南方Linux论坛 > Linux基础技术支持区 > Linux 网络与服务器架设
注册账号 Blog 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记讨论区已读

Linux 网络与服务器架设 Web服务器、Ftp服务器 、域名服务器、邮件服务器、代理服务器等

发表新主题 回复
 
主题工具 显示模式
旧 2007-11-01, 10:21 AM   #1
为爱々天涯 帅哥
级别:0 | 在线时长:0小时 | 升级还需:5小时
初级会员
 
注册日期: 2007-11-01
帖子: 4
精华: 0
现金: 8 金币
资产: 8 金币
声望: 10 为爱々天涯 正向着好的方向发展
发 QQ 消息给 为爱々天涯
微笑 大学校园网LINUX免费IP代理

LINUX透明网关代理程序:
touch /var/lock/subsys/local
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
echo "1">/proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

免费IP列表程序:
#!/bin/sh
a=1
while [ $a -lt 375 ]
do
sed -n "$a p" /etc/rc.d/ip2.txt >/tmp/tmp
read ip</tmp/tmp
a=`expr $a + 1`
/sbin/iptables -A FORWARD -p tcp -s $ip -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s $ip -j ACCEPT
done
/sbin/iptables -A FORWARD -i eth0 -j DROP

以上程序为yangjie四年前编译很实用在此表示感谢

这个程序只是限制了出口的限制。返回的时候还是有流量的收费。麻烦杰杰再帮我改改。听说你有新的程序了麻烦再帮我发出来。谢谢

此帖于 2007-11-01 02:01 PM 被 为爱々天涯 编辑.
为爱々天涯 当前离线  
回复时引用此帖
旧 2007-11-01, 01:18 PM   #2
yangjie 帅哥
级别:1 | 在线时长:11小时 | 升级还需:1小时
论坛义工
 
yangjie 的头像
 
注册日期: 2006-06-30
住址: 深圳
帖子: 80
现金: 135 金币
资产: 135 金币
声望: 10 yangjie 正向着好的方向发展
发 QQ 消息给 yangjie 发送 MSN 消息给 yangjie
默认 回复: 大学校园网LINUX免费IP代理

谢谢楼上的兄弟。首先我分析一下这规则的意义吧

LINUX透明网关代理程序:
touch /var/lock/subsys/local
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
上面的是加载一些IPTABLES的模块,不过现在的IPTABLES很智能了。不需要人手加载这些模块了

/sbin/iptables -F #清空所有规则
/sbin/iptables -F -t nat #清空 Netfilter 表的内容
/sbin/iptables -P INPUT ACCEPT #设置INPUT链的默认规则为ACCEPT
/sbin/iptables -P FORWARD ACCEPT #设置FORWARD链的默认规则为ACCEPT
/sbin/iptables -P OUTPUT ACCEPT #设置FORWARD链的默认规则为ACCEPT
echo "1">/proc/sys/net/ipv4/ip_forward #打开转发功能
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE #设置IP伪装

免费IP列表程序:
#!/bin/sh
a=1
while [ $a -lt 375 ]
do
sed -n "$a p" /etc/rc.d/ip2.txt >/tmp/tmp
read ip</tmp/tmp
a=`expr $a + 1`
#上面的程序是从一个文本内读取允许访问的域名及IP列表
/sbin/iptables -A FORWARD -p tcp -s $ip -j ACCEPT #由于代理后的客户机是靠FORWARD链进行转发的所以在此处将读取的IP及域名添加进改链内,进行控制。
/sbin/iptables -A FORWARD -p udp -s $ip -j ACCEPT #由于代理后的客户机是靠FORWARD链进行转发的所以在此处将读取的IP及域名添加进改链内,进行控制。
done
/sbin/iptables -A FORWARD -i eth0 -j DROP #由于IPTABLES是一条条规则匹配的。所以在不符合所有规则后将包丢弃。

由于我没有环境进行测试,只能自己分析,总结一下楼主说还会有其他的域名或IP可以进入,那么,修改后规则如下,请楼主测试一下。


touch /var/lock/subsys/local
/sbin/modprobe ip_tables
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
/sbin/iptables -F
/sbin/iptables -F -t nat
/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
echo "1">/proc/sys/net/ipv4/ip_forward
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

免费IP列表程序:
#!/bin/sh
a=1
while [ $a -lt 375 ]
do
sed -n "$a p" /etc/rc.d/ip2.txt >/tmp/tmp
read ip</tmp/tmp
a=`expr $a + 1`
/sbin/iptables -A INPUT -p tcp -s $ip -j ACCEPT
/sbin/iptables -A INPUT -p udp -s $ip -j ACCEPT
/sbin/iptables -A FORWARD -p tcp -s $ip -j ACCEPT
/sbin/iptables -A FORWARD -p udp -s $ip -j ACCEPT

done
/sbin/iptables -A FORWARD -i eth0 -j DROP
/sbin/iptables -A INPUT -i eth0 -j DROP
yangjie 当前离线  
回复时引用此帖
旧 2007-11-01, 01:56 PM   #3
为爱々天涯 帅哥
级别:0 | 在线时长:0小时 | 升级还需:5小时
初级会员
 
注册日期: 2007-11-01
帖子: 4
精华: 0
现金: 8 金币
资产: 8 金币
声望: 10 为爱々天涯 正向着好的方向发展
发 QQ 消息给 为爱々天涯
呲牙 回复: 大学校园网LINUX免费IP代理

感谢杰杰的帮助。哈哈。我只是一个菜鸟不敢多做注释。还要靠你来解释说明这些的意思。我会尽快做测试来告诉你是否还有什么问题。
为爱々天涯 当前离线  
回复时引用此帖
旧 2007-11-01, 07:56 PM   #4
yangjie 帅哥
级别:1 | 在线时长:11小时 | 升级还需:1小时
论坛义工
 
yangjie 的头像
 
注册日期: 2006-06-30
住址: 深圳
帖子: 80
现金: 135 金币
资产: 135 金币
声望: 10 yangjie 正向着好的方向发展
发 QQ 消息给 yangjie 发送 MSN 消息给 yangjie
默认 回复: 大学校园网LINUX免费IP代理

等待你的测试结果
yangjie 当前离线  
回复时引用此帖
旧 2008-03-19, 03:50 PM   #5
为爱々天涯 帅哥
级别:0 | 在线时长:0小时 | 升级还需:5小时
初级会员
 
注册日期: 2007-11-01
帖子: 4
精华: 0
现金: 8 金币
资产: 8 金币
声望: 10 为爱々天涯 正向着好的方向发展
发 QQ 消息给 为爱々天涯
默认 回复: 大学校园网LINUX免费IP代理

#!/bin/bash

ExtIp=202.118.225.238
IntIp=100.100.100.100
LocalAddr=100.100.100.0/24
EXT=eth0
INT=eth1

FreeIpList=/etc/freeiplist

stop () {
iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT

CHAINS=`iptables -n -L |perl -n -e '/Chain\s+(\S+)/ && !($1 =~
/^(INPUT|FORWARD|OUTPUT)$/) && print "$1 "'`
echo "remove defined chains: $CHAINS"
for c in $CHAINS; do
iptables -F $c
done
for c in $CHAINS; do
iptables -X $c
done

}

start () {
if ! [ -f $FreeIpList ]; then
echo Not Found necessory files: $FreeIpList
echo iptables firewall not be set!
exit 1
fi

Modules="ip_tables ip_nat_ftp ip_conntrack ip_conntrack_ftp ip_gre"
echo "Loading iptables modules:"
echo -n $"$Modules"
echo
for i in $Modules ; do
modprobe $i
done

iptables -F
iptables -F -t nat
iptables -F -t mangle
iptables -P INPUT ACCEPT
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -t nat -P POSTROUTING DROP
iptables -t nat -P PREROUTING DROP
iptables -t nat -P OUTPUT ACCEPT
iptables -t mangle -P PREROUTING ACCEPT
iptables -t mangle -P POSTROUTING ACCEPT
iptables -t mangle -P INPUT ACCEPT
iptables -t mangle -P OUTPUT ACCEPT
iptables -t mangle -P FORWARD ACCEPT

CHAINS=`iptables -n -L |perl -n -e '/Chain\s+(\S+)/ && !($1 =~
/^(INPUT|FORWARD|OUTPUT)$/) && print "$1 "'`
echo "remove defined chains: $CHAINS"
for c in $CHAINS; do
iptables -F $c
done
for c in $CHAINS; do
iptables -X $c
done

###### new chain freeip,ctrl #############
iptables -N freeip
FreeIPMaskList=`cat $FreeIpList | grep -e "^[[:space:]]*\
\(\([0-9]\{1,3\}\)\.\)\{3\}\([0-9]\{1,3\}\)/\
\(\(\([0-9]\{1,3\}\)\.\)\{3\}\([0-9]\{1,3\}\)\|[0-9]\{1,2\}\)\
[[:space:]]*$"`
for i in $FreeIPMaskList ; do
iptables -A freeip -d $i -j ACCEPT
done

iptables -A OUTPUT -o $EXT -j freeip
iptables -A OUTPUT -o $INT -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 28800 > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $INT -s $LocalAddr -m state --state NEW -j freeip
iptables -A FORWARD -i $EXT -d $LocalAddr -m state --state NEW -j ACCEPT
iptables -A FORWARD -m state --state INVALID -j freeip

iptables -t nat -A POSTROUTING -s $ExtIp -j ACCEPT
iptables -t nat -A POSTROUTING -s $IntIp -j ACCEPT
iptables -t nat -A POSTROUTING -s 127.0.0.1 -j ACCEPT
iptables -t nat -A POSTROUTING -s $LocalAddr -o $EXT -j SNAT --to $ExtIp
iptables -t nat -A POSTROUTING -d $LocalAddr -o $INT -j ACCEPT

iptables -t nat -A PREROUTING -i $INT -s $LocalAddr -j ACCEPT
iptables -t nat -A PREROUTING -i $EXT -p tcp --dport 3341 -j DNAT --to 100.100.100.197:3389
iptables -t nat -A PREROUTING -i $EXT -p tcp --dport 3146 -j DNAT --to 100.100.100.196:3389
iptables -t nat -A PREROUTING -i $EXT -d $ExtIp -j ACCEPT
iptables -t nat -A PREROUTING -i lo -j ACCEPT

}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
start
;;

*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac

exit 0
为爱々天涯 当前离线  
回复时引用此帖
旧 2008-03-19, 03:51 PM   #6
为爱々天涯 帅哥
级别:0 | 在线时长:0小时 | 升级还需:5小时
初级会员
 
注册日期: 2007-11-01
帖子: 4
精华: 0
现金: 8 金币
资产: 8 金币
声望: 10 为爱々天涯 正向着好的方向发展
发 QQ 消息给 为爱々天涯
默认 回复: 大学校园网LINUX免费IP代理

杰杰上面的帖是他们用的脚本做代理的。请帮忙看看。做一下注释。
为爱々天涯 当前离线  
回复时引用此帖
发表新主题 回复


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 
主题工具
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


所有时间均为北京时间。现在的时间是 07:43 AM


vBulletin 3.6.8 Powered by 南方Linux联盟
版权所有 ©2004 - 2009, bbs.linuxunion.net