Network 版 (精华区)

发信人: mxmgy (MXM), 信区: Network
标  题: 帮人做了一个实验室服务器
发信站: 哈工大紫丁香 (Fri Aug  5 00:00:45 2005), 转信

使用的是FreeBSD+pf

昨天有人问我winroute和sygate的使用问题,这些东西我都没有用过
后来决定给他用FreeBSD做一个。
pf的说明书看了不少次了,但是nat转发这部分只看过没有实现过
以前玩虚拟机的时候用ipfw做个,但是ipfw限制ip的规则写起来不爽。

以后可能还会用到,所以写下来
首先编译内核,使其支持pf和ALTQ
device pf 
device pflog 
device pfsync 
options ALTQ                         
options ALTQ_CBQ 
ALTQ这部分必须有,否则不能nat
这也是为什么要编译内核了,如果只用到pf,大可以开机加载


/etc/rc.conf    
defaultrouter="220.118.234.254"
hostname="www.123.com"
ifconfig_dc0="inet 202.118.234.13  netmask 255.255.255.0"
ifconfig_dc1="inet 192.168.254.1  netmask 255.255.255.0"
inetd_enable="YES"
pf_enable="YES"
pflog_enable="YES"

/etc/sysctl.conf
net.inet.ip.forwarding=1              
开启 NAT 的 IP Forwarding 环境

/etc/inetd.conf    
ftp-proxy       stream  tcp     nowait  root    /usr/libexec/ftp-proxy  ftp-proxy
打开 ftp 的替代 port 如此 NAT 內部才能对外使用 ftp 抓東西

/etc/pf.conf
table <freeip> persist file "/etc/freeip"
int_if = "dc1"
ext_if ="dc0"
set block-policy return
set loginterface $ext_if
scrub in all
nat on $ext_if from $int_if:network to any -> ($ext_if)
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
block all
pass from any to <freeip>

freeip中加上如下3行 
127.0.0.0/8                       允许ftp
172.16.0.0/16                   10公寓ip段
192.168.0.0/16                  允许内网

完毕,因为只为了一个nat,没有给做很多优化,目前工作良好
--
   Linux is for people who hate Windows
     BSD is for people who love UNIX


※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 172.16.6.98]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.168毫秒