中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > 服务器 > 代理服务器
FreeBSD内核级透明代理(IPFILTER)
作者:未知 时间:2005-09-13 18:52 出处:ChinaUnix.net 责编:chinaitpower
              摘要: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:45
map规则是用于转换外出数据包的源地址,使得被转换后的地址好象是从外部地址中发起的。而另一个规则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:57
ipnat -C
ipnat -f /etc/ipnat.conf
ipnat -l 
 

  当前使用-C参数用于清除现有的转换规则,-f用于从配置文件中读取转换规则。设置了转换规则之后,就可以使用-l参数查看当前设置的转换规则和已经激活的转换关系。

 段誉 回复于:2003-07-11 23:48:14
startdd,那个邮件系统是你做的??
ps:什么时候能够来作斑竹??

 startdd 回复于:2003-07-12 00:01:41
http://www.soocol.com
做了有一段时间了,现在有1万多用户了!
随时可以!

 段誉 回复于:2003-07-12 22:45:55
不错的站点,:)

 startdd 回复于:2003-07-13 00:20:55
谢谢“段玉”兄的好意,我看我还是不当这个版主吧!有人还因为我不公开 http://www.soocol.com 代码的事情而耿耿于怀!没有其他事的时候我会多发些技术帖子,使大家共同学习共同进步吧!

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有