| ||
|
| Linux首页 | Linux论坛 | 论坛精华 | 开源新闻 | 技术文章 | 专题专栏 | 新手指南 | 迁移方案 | 产品方案 | 开源项目 | 开源图书 | 软件下载 | 人才招聘 | Linux博客 |
| 您的位置:
Linux时代 > 技术文档 > 系统安全 >
FreeBsd5.4+pf+squid反向代理实战笔记
1、硬件配置 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 $wan_if proto tcp from any to any port 21 -> $ftp_server port 21 # in on $wan_if # out on $lan_if #Disable danger port (最后这两条在实际的应用中是不可靠的,应该先限制所有,然后逐步打开自己需要的服务) 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 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
在这个笔记中我的构建意图是 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反向代理基本完成。 原文链接:http://www.cnfug.org/journal/systems/2006/000130.html 本文被浏览次
| |||||||||||
| 关于我们 | 联系方式 | 广告合作 | 诚聘英才 | 网站地图 | 免费注册 |
Copyright © 2001-2006 ChinaUnix.net All Rights Reserved 感谢所有关心和支持过ChinaUnix的朋友们 |