首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

操作系统

Windows 9X | Linux&Uinx | Windows Server | 其它操作系统 | Vista | FreeBSD | Windows 7 |
首页 > 操作系统 > FreeBSD > FreeBsd5.4+pf+squid反向代理实战笔记 > 正文

FreeBsd5.4+pf+squid反向代理实战笔记

出处:5DMail.Net收集整理 作者:请作者联系 时间:2006-11-21 11:23:00

1、硬件配置
HP NETSERVER 800 PⅢ1000 内存256M Inter82559网卡两张
2、分区情况
Filesystem Size Used Avail Capacity Mounted on
/dev/da0s1a 248M 54M 174M 24% /
devfs 1.0K 1.0K 0B 100% /dev
/dev/da0s1f 4.8G 130M 4.3G 3% /home
/dev/da0s1d 248M 12K 228M 0% /tmp
/dev/da0s1g 4.8G 565M 3.9G 12% /usr
/dev/da0s1e 5.8G 410K 5.3G 0% /var
3、系统安装情况
采用最小化安装
并且安装src和ports(原本打算采用ports安装,但是不知道怎么搞的,竟然不能cvs源码,当然也就不能通过ports安装,无奈之下只能采用源码编译)
4、内核编译
没有对内核采用优化,这里只是为了验证pf和squid结合做反向代理的可行性,在实际的生产应用中应该对服务器内核做一定程度的优化。

cd /usr/src/sys/i386/conf
cp GENERIC cache

编辑内核cache在内核中添加如下选项
device pf
device pflog
device pfsync
options ALTQ
options ALTQ_CBQ

编译内核
/usr/sbin/config cache
cd ../config/cache
make depend
make
make install

至此内核编译完毕
reboot

5、让系统自动加载pf
编辑/etc/rc.conf
usbd_enable="NO"
defaultrouter="218.4.xxx.xxx"
hostname="cache.aaa.com"
ifconfig_fxp0="inet 218.4.xxx.xxx netmask 255.255.255.248"
ifconfig_fxp1="inet 192.168.2.10 netmask 255.255.255.0"
gateway_enable="YES"
inetd_enable="YES"
pf_enable="YES"
pf_rules="/etc/pf.conf"
pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
sshd_enable="YES"

6、打开ip转发
在/etc/sysctl.conf中添加如下内容
net.inet.ip.forwarding=1

7、实现共享上网,最简单的pf设置
wan_if="fxp0"
lan_if="fxp1"
inter_net="192.168.2.0/24"
web_server="192.168.2.3"
ftp_server="192.168.2.3"
scrub in all
nat on $wan_if from $inter_net to any -> fxp0

rdr on fxp1 proto tcp from $lan_if to any port 80 -> $lan_if port 80

rdr on fxp1 proto tcp from any to any port 21 -> 127.0.0.1 port 8021
#rdr on fxp0 proto tcp from any to $wan_if port 80 ->$web_server port 8080
#rdr on fxp1 proto tcp from $lan_if to $wan_if port 80 ->$web_server port 8080

rdr on $wan_if proto tcp from any to any port 21 -> $ftp_server port 21
rdr on $wan_if proto tcp from any to any port 49152:65535 -> $ftp_server port 49152:65535

# in on $wan_if
pass in quick on $wan_if proto tcp from any to $ftp_server port 21 keep state
pass in quick on $wan_if proto tcp from any to $ftp_server port > 49151 keep state

# out on $lan_if
pass out quick on $lan_if proto tcp from any to $ftp_server port 21 keep state
pass out quick on $lan_if proto tcp from any to $ftp_server port > 49151 keep state

#Disable danger port
#Danger_Port="{445 135 139 593 5554 9995 9996}"
#block quick on $wan_if inet proto tcp from any to any port $Danger_Port
#block quick on $wan_if inet proto tcp from any to any port $Danger_Port
pass in all
pass out all

(最后这两条在实际的应用中是不可靠的,应该先限制所有,然后逐步打开自己需要的服务)
pf的设置到此基本完毕
下面开始squid部分
1、安装squid

./configure --enable-useragent-log
--enable-referer-log
--enable-default-err-language=Simplify_Chinese
--enable-err-languages="Simplify_Chinese English"
--disable-internal-dns
--enable-pf-transparent
#make
#make install
#mkdir /home/cache(创建存放cache的目录)


2、增加squid运行的用户和用户组(我的都设为squid)

chown squid:squid /home/cache
ee /usr/local/squid/etc/squid.conf


在/etc/hosts中加入内部的DNS解析,比如我的:

192.168.2.2 www.aaa.com
192.168.2.3 mail.aaa.com


3、下面开始配置squid.conf文件(下面是我的配置文件)

visible_hostname cache . example.com
cache_dir ufs /home/cache 1024 16 256
cache_mem 100 MB
cache_effective_user squid
cache_effective_group squid

http_port 80

httpd_accel_host virtual
httpd_accel_single_host off
httpd_accel_port 80
httpd_accel_uses_host_header on
httpd_accel_with_proxy on
# accelerater my domain only
acl acceleratedHostA dstdomain . example1.com
#acl acceleratedHostB dstdomain .example2.com
#acl acceleratedHostC dstdomain .example3.com
# accelerater http protocol on port 80
acl acceleratedProtocol protocol HTTP
acl acceleratedPort port 80
# access arc
acl all src 0.0.0.0/0.0.0.0
# Allow requests when they are to the accelerated machine AND to the
# right port with right protocol
http_access allow acceleratedProtocol acceleratedPort acceleratedHostA
#http_access allow acceleratedProtocol acceleratedPort acceleratedHostB
#http_access allow acceleratedProtocol acceleratedPort acceleratedHostC
# logging
emulate_httpd_log on
cache_store_log none
# manager
acl manager proto cache_object
http_access allow manager all
cachemgr_passwd pass all


squid.conf文件配置完成
4、目录权限设置

chown –R squid:squid /home/cache


创建日志文件,默认的在/usr/local/squid/var/access.log
5、创建缓存目录:

/usr/local/squid/sbin/squid -z


启动squid

/usr/local/squid/sbin/squid

在这个笔记中我的构建意图是
web服务通过squid反向代理来完成
至于其他(我现在只有ftp)服务则通过pf来完成
那么为了完成这个目标我们还需要在pf规则中添加如下语句

rdr on $lan_if proto tcp from $lan_if to any port 80 -> $lan_if port 80


($lan_if是我网关机的内网卡)凡是对80端口的访问,都统统转发到网关上Squid侦听端口80,而在pf规则中只允许ftp服务通过(疑问是外网访问呢,是否也需要添加类似的这句呢)

至此,FreeBsd5.4+pf+squid反向代理基本完成。

相关文章 热门文章
  • freebsd 安装邮件系统extmail 防毒 防垃圾
  • FreeBSD上建立一个功能完整的邮件服务器(POSTFIX)
  • Freebsd环境下基于qmail系统的反病毒反垃圾邮件系统构建
  • 用Postfix架设FreeBSD下中小规模邮件系统
  • FreeBSD 服务器上彻底禁用 sendmail
  • 门户级反垃圾邮件系统KBAS发布FreeBSD版本
  • 在 FreeBSD 上彻底禁用 sendmail
  • 制作可以随身携带的FreeBSD系统
  • FreeBSD安装配置E-mail服务器
  • RSYNC ON FreeBSD 5.2 HOWTO V1.0
  • 浅谈FreeBSD 5.2常用操作的改变
  • FreeBSD 6.0-下建立高速DNS缓存服务器
  • 制作U盘启动的RAMDISK为根目录的FreeBSD
  • 打造FreeBSD桌面系统
  • 菜鸟学装FreeBSD5.1图解(一)
  • Free BSD常用指令简述
  • 使用FreeBSD的SNMP+MRTG网络流量分析
  • 菜鸟学装FreeBSD5.1图解(二)
  • 使用FreeBSD配置基于ADSL的VPN网关+防火墙
  • 安装实战:FreeBSD6.1桌面安装指南
  • 制作软盘上运行的FreeBSD系统
  • FreeBSD 5.0 硬盘安装指南
  • 给FreeBSD新手的一些建议
  • 新兴桌面软件 Ubuntu叫板 Windows
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号