FreeBSD内核级透明代理(IPFILTER)代理服务器教程
|
| 论文作者:佚名 论文来源:不详 论文发布时间:2006-6-19 18:14:34 论文发布人:chjchjchj |
减小字体
增大字体
摘要:FreeBSD内核级透明代理(IPFILTER) 操作系统:FreeBSD 4.7 (带源码安装) 两块网卡: 1:3COM 2:DLINK
安装步骤: [code:1:23e4f4bda2] 一、编译内核 cd /usr/src/sys/i386/conf cp GENERIC proxy vi proxy
将一下四行加入 options IPFILTER options IPFILTER_LOG options RANDOM_IP_ID options BRIDGE
config proxy cd ../../compile/proxy make depend make make install
二、配置 vi /etc/rc.conf 内容如下: gateway_enable="YES" hostname="soocol.com" # 设为你的hostname kern_securelevel_enable="NO" nfs_reserved_port_only="NO" sendmail_enable="NONE" # 用作nat/firewall, 不需要 sendmail sshd_enable="YES" # usbd_enable="NO" cron_enable="NO" network_interfaces="rl0 rl1 lo0" ifconfig_rl0="202.102.121.67 netmask 255.255.255.0" ifconfig_rl1="inet 192.168.0.1 netmask 255.255.255.0" ifconfig_lo0="inet 127.0.0.1"
# 设置IPFILTER ipfilter_enable="YES" ipfilter_flags="" ipmon_enable="YES" ipmon_flags="-Dsvn" ipnat_enable="YES"
vi /etc/resolv.conf 内容为: nameserver 211.167.97.67 nameserver 202.99.96.68
三、设置IPNAT vi /usr/local/etc/rc.d/ipnat.sh 内容为: #!/bin/sh [ -x /sbin/ipnat ] && /sbin/ipnat -CF -f /etc/ipnat.rules && ipf=-y && echo -n 'ipnat'
vi /etc/ipnat.rules 内容为: map rl0 192.168.0.0/24 -> 0.0.0.0/32 proxy port ftp ftp/tcp map rl0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp 10000:60000 map rl0 192.168.0.0/24 -> 0.0.0.0/32 [/code:1:23e4f4bda2]
重新启动系统后局域网中的其他机器将网关设为192.168.0.1就可以上网了
段誉 回复于:2003-07-11 09:18:26这个是大家需要的一个精华。
BTW:startdd,如果有时间,你来做斑竹吧!
startdd 回复于:2003-07-11 11:59:11我可以试一试!终归为大家服务是好事!
段誉 回复于:2003-07-11 14:48:00好啊,举双手、双脚赞成。 我这就去推荐,希望我们的板子更加兴旺。
清茶淡淡 回复于:2003-07-11 22:31:14可以加入端口重定向配合squid吗?
startdd 回复于:2003-07-11 23:19:45map规则是用于转换外出数据包的源地址,使得被转换后的地址好象是从外部地址中发起的。而另一个规则rdr 用于转换数据包中的目的地址,这样就能使得一个数据包被转发到某个特定计算机上进行处理,这可用于构建端口映射关系。
rdr rl0 212.102.245.60 port 80 -> 192.168.0.1 port 80
上面的规则将指定ipfilter在 rl0 网络接口上将发送给212.102.245.60,端口为80的数据包,转换为发送给内部地址192.168.0.1 。
rdr的另一个重要用途是可以用以构建透明的代理服务器,普通代理服务器都需要在客户机上进行设置,如果不进行设置,客户机将直接访问Internet上的计算机而不通过代理服务器,然而防火墙可以将这些应用请求转发给代理服务器,完成代理工作。此时对外界发送请求是在内部网络接口rl0上发起的,因此也要在这里进行地址转换,而使用0.0.0.0/0 代表对所有目的地址,并且是80端口的浏览请求都转发到127.0.0.1上去,而127.0.0.1 必须运行代理服务器软件(例如:squid),以提供代理服务。
rdr rl0 0 0.0.0.0/0 port 80 -> 127.0.0.1 port 80
startdd 回复于:2003-07-11 23:43:57ipnat -C ipnat -f /etc/ipnat.conf ipnat -l
当前使用-C参数用于清除现有的转换规则,-f用于从配置文件中读取转换规则。设置了转换规则之后,就可以使用-l参数查看当前设置的转换规则和已经激活的转换关系。
段誉 回复于:2003-07-11 23:48:14startdd,那个邮件系统是你做的?? ps:什么时候能够来作斑竹??
startdd 回复于:2003-07-12 00:01:41http://www.soocol.com 做了有一段时间了,现在有1万多用户了! 随时可以!
段誉 回复于:2003-07-12 22:45:55不错的站点,:)
startdd 回复于:2003-07-13 00:20:55谢谢“段玉”兄的好意,我看我还是不当这个版主吧!有人还因为我不公开 http://www.soocol.com 代码的事情而耿耿于怀!没有其他事的时候我会多发些技术帖子,使大家共同学习共同进步吧!
|
|
|
|
|
|
|
| ∷相关技术评论 |
(评论内容只代表网友观点,与本站立场无关!) [查看发表评论...] | |
|
|
| |
站内广告 |
| |
|
站内搜索 |
| |
栏目导航 |
| |
|
|
本月热门 |
| |
|
|
本日热门 |
| |
|
|
|