网络安装Freebsd 
今天接需求安装FreeBSD系统,具体步骤网上教程很多了,一开始也想着很简单
后来在服务器DELL-R410上安装FreeBSD 8.3-64位,发现很多问题
首先光驱驱动的问题,在选择安装源时怎么都找不到CDROM,虽然挂载了镜像;
应该是镜像里没有Dell服务器对应驱动所致
没办法只能考虑网络安装
网络安装基本就两种方式FTP,和NFS
这俩之前也都没弄过,百度goole也不难
 
先尝试FTP
首先搭建一个ftp服务器,有iso的话挂载镜像包里就有vsftp这个rpm包,rpm -ivh vsftp.....rpm搞定
然后将iso挂载到/var/ftp/pub目录下,service vsftp start启动
尝试从其他地址连接,提示"500 OOPS: vsftpd: cannot locate user specified in 'ftp_username':ftp
但telnet 21端口有个假象:貌似通了但立马断掉,以为网络问题,再跟网络组同事确认无关后,检查ftp配置
从字面看是用户ftp有问题,百度了下好像也是,于是useradd 加上ftp用户,
果然错误提示变了
500 OOPS: vsftpd: refusing to run with writable anonymous root再查发现是权限问题,将ftp用户家目录改为/var/log/pub,搞定
这样再尝试ok
 
 
 
nfs就相对简单些了
首先将iso mount到一个目录 如/home/pub/freebsd
vi /etc/exports
加入一行 
/home/pub/freebsd *(ro)
 
然后再freebsd的安装界面选择ntf
输入
nfs-ip:/home/pub/freebsd
 
 
安装后的网卡设置
基本配置网卡IP与网关的配置文件是目录/etc下面的rc.conf文件.在配置之前请使用ifconfig -a来查看正确的网卡名,本人的是lnc0,
1.使用ipconfig
# ipconfig fxp0 192.168.8.33/24     # 添加网卡ip
# route add default 192.168.8.1     # 添加路由(也可理解为网关)
立即生效,但是重启后失效。
2.修改/etc/rc.conf配置文件,重启后仍然保持
# ee /etc/rc.conf
ifconfig_fxp0="inet 192.168.8.8 netmask 255.255.255.0 "   # fxp0 网卡地址和子网掩码
defaultrouter="192.168.8.10"      # 网关地址
hostname="study.nowire.com.cn"      # 机器名
ifconfig_wi0="inet 192.168.8.55 netmask 255.255.255.0"   # wi0 网卡地址,对应无线网卡
 
修改 /etc/rc.conf 配置之后可以通过如下方式生效:
第一种方法:# sh /etc/rc
第二种方法:# /etc/netstart
第三种方法:重启机器
 
 
防火墙设置:
目前我知道的两种方法,ipfw和pf
ipfw装好系统自带的,pf需要重新编译内核加入pf模块支持
 
 
分别配置方法
配置ipfw
 
freebsd设置防火墙--IPFW
Freebsd自从6.0开始,系统可以不用编译直接启用防火墙功夫。
一、启用IPFW
首先打开/etc/rc.conf文件:
$ vi /etc/rc.conf
然后,添加如下的设置:
firewall_enable="YES"
firewall_script="YES"
firewall_script="/usr/local/etc/ipfw.rules"
保存并关闭文件。
二:编写防火墙规则脚本
你需要将防火墙规则放到一个被称为/usr/local/etc/ipfw.rule的脚本中:
$ vi /usr/local/etc/ipfw.rule
添加如下的代码:
一个可用的IPFW脚本,比较简单,限制不多
#!/bin/sh
################Common#################
cmd="/sbin/ipfw -q add"
my_ip="xxx.xxx.xxxx.xxx"
nc_in="r11"
nc_out="r10"
dns1="xxx.xxx.xxx.xxx"
#dns2="xxx.xxx.xxx.xxx"
#################Rules#######################
#flush all rules
/sbin/ipfw -q -f flush
#Allow all via loopback to loopback
$cmd 500 allow all from any to any via lo0
$cmd 600 check-state
###################DNS######################
$cmd 700 allow tcp from me to $dns1 53 out
$cmd 750 allow udp from me to $dns1 53 out
$cmd 800 allow tcp from $dns1 53 to me in
$cmd 850 allow udp from $dns1 53 to me in
###############FTP,SSH,WWW,and etc.################
$cmd 01000  allow tcp from any to any 20,21,22,80,443
$cmd 01500  allow tcp from any 20,21,22,80,443 to any
##############limit to link mysql########################
$cmd 2000 allow tcp from me to xxx.xxx.xxx.0/24 3306 out
$cmd 2500 allow tcp from xxx.xxx.xxx.0/24 3306 to me in
#####################SNMP#####################
$cmd 01000  allow udp from any to any 161,162
$cmd 01500  allow udp from any 161,162 to any
#deny and log all packets that fell through to see what they are
$cmd 09999 deny log all from any to any
 
###########################FTP##############################
$cmd 01600  allow all from any to any 20,21,50000-50900
$cmd 01700  allow all from any 20,21,50000-50900 to any
保存并关闭文件。
三:启动防火墙
你可以重新启动服务器,或者通过在命令行输入如下的命令,可以重新加载这些规则:
$ sh /usr/local/etc/ipfw.rules
如果要依次列示所有的规则,需要键入下面的命令:
# ipfw list

配置pf防火墙
# cd /usr/src/sys/i386/conf(注:i386目录要根据具体OS版本选择,64位应选择amd64目录)
# cp GENERIC MYNAME
# vi NAME
machine         i386
#cpu            I486_CPU
#cpu            I586_CPU
cpu             I686_CPU
ident           Q2
 
#options        INET
options         SCSI_DELAY=5000
# 支持双CPU
options         SMP 
options         MAXDSIZ = (2600UL*1024*1024) #max data size
options         MAXSSIZ = (2600UL*1024*1024) #max stack size
options         DFLDSIZ = (2600UL*1024*1024) #initial data size limite
 
#Compile PF
device pf
device pflog
device pfsync
 
#Enabling ALTQ
options         ALTQ
options         ALTQ_CBQ        # Class Bases Queuing (CBQ)
options         ALTQ_RED        # Random Early Detection (RED)
options         ALTQ_RIO        # RED In/Out
options         ALTQ_HFSC       # Hierarchical Packet Scheduler (HFSC)
options         ALTQ_PRIQ       # Priority Queuing (PRIQ)
options         ALTQ_NOPCC      # Required for SMP build
     
 
# /usr/sbin/config MYNAME
# cd ../compile/ MYNAME
# make depend
# make
# make install