• 欢迎访问Ppabc博客网站,专注于Linux、CentOS、Apache、Nginx、MySQL、PHP等开源工具安装优化的技术博客,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入Ppabc博客
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏Ppabc博客吧

freebsd、配置 [firewall]

baidu空间 admin 11年前 (2008-03-08) 153次浏览

# — sysinstall generated deltas — # Tue Jul 15 21:20:28 1997
# Created: Tue Jul 15 21:20:28 1997
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
hostname=”wwwx.3322.org”         # 你的主机域名
ifconfig_fxp0=”inet 192.168.0.1 netmask 255.255.255.0″  #内网网卡 ip 地址,fxp0 是网卡名
inetd_enable=”YES”            # 开机加载 inetd
kern_securelevel_enable=”NO”
linux_enable=”YES”
nfs_reserved_port_only=”NO”
sendmail_enable=”NO”
sshd_enable=”YES”
usbd_enable=”NO”
gateway_enable=”YES”
firewall_enable=”YES”          #启用防火墙
firewall_script=”/etc/rc.firewall”
firewall_type=”open”
firewall_quiet=”YES”
firewall_logging_enable=”YES”
ppp_enable=”YES”             # 开机自动拨号
ppp_mode=”ddial”
ppp_nat=”YES”              # 启用透明代理
ppp_profile=”adsl”            # 配置代号
# — sysinstall generated deltas –  # Wed Jul 16 06:52:13 1997

二、配置

//首先介绍基本的 BSD 命令,
//和 DOS 一样的进入文件目录命令
CD 目录名
//查看当前文件夹内容命令
ls
//运行当前根目录下的程序,必需在程序前加./
./setup.sh

第 1 小节:配置 ssh
//启动计算机并用 root 身份进入系统。提示符 www#
//开启 ssh 远程登陆,SSH 是一个远程桌面控制系统。
ee /etc/rc.conf
//里面如果有 sshd_enable=”YES”则说明我们已经开启 ssh 服务器了,如果没有请加上。
//开启 root 远程登陆
ee /etc/ssh/sshd_config
//找到#PermitRootLogin no 这一行,去掉前面的#号,再把后面的 no 改成 yes,按 ESC 再按两下回车保存退出。如果你会用 VI 也可以。
//重启 SSH 服务
/etc/rc.d/sshd restart
//这样我们现在就可以远程登陆 SSH 控制服务器了。

//如果你的系统没有认出网卡请看后面安装网卡驱动部分。

第 2 小节:更新系统
//安装 cvsup 程序。cvsup 是一个用于从远程服务器主机上的主 cvs(1) 库分发和更新源码树的软件包,用来更新操作系统和软件。
pkg_add -r cvsup-without-gui
//这样我们就安装了 cvsup 程序,但我们要刷新一下命令才可以使用 cvsup。输入
rehash
//现在我们可以使用 cvsup 了,首先更新 ports 软件包源码。
cvsup -L 2 -h cvsup.cn.freebsd.org /usr/share/examples/cvsup/ports-supfile
//其中 cvsup.cn.freebsd.org 可以改成你较近的服务器域名。备用的有 cvsup.freebsdchina.org,大约等待十分钟更新源码。
//接下来我们更新系统内核源码。把系统源码升级到最稳定的 stable 版本。大约又要十几分钟
cvsup -L 2 -h cvsup.cn.freebsd.org /usr/share/examples/cvsup/stable-supfile
 

第 3 小节:优化系统
//升级完成我们就开始编辑内核了。大部新手编译的内核都会出错,我建议你在不用的机器上测试成功才编译系统,实际上编译过的系统性能提升并不明显。
cd /usr/src/sys/i386/conf
//复制内核文件到 root 目录
cp GENERIC /root/MYKERNEL
//将 root 目录指向此目录
ln -s /root/MYKERNEL
//编辑内核
ee MYKERNEL

//要在 UNIX 下用 vi 或 ee 编辑,不能用 WIN 的记事本或写字板编好传上去,编码不一样。这要半个小时到一天不等。

 

三,安装服务器软件

//最近有点忙呵呵,隔了几天,今天我们来完成服务器软件的安装。主要有 apache+php+mysql+eaccelerator 加速+zend 编码器+proftpd(ftp 工具).

//安装 apache
//我们先安装 apache1.3 当然你也可以用 apache22 等最新版本,不过为了稳定而且你的站访问量不超过日 IP 一百万的话我们推荐 1.3。
//这是采用 ports 安装的方法,ports 会自动安装相应的支持文件,如果你的 ports 有问题也可以用 pkg_add 来安装,当然这并不推荐。大约需要十分钟到半小时不等。
cd /usr/ports/www/apache13
make install clean

//安装 PHP
cd /usr/ports/lang/php4
make install clean

//安装 PHP 扩展
cd /usr/ports/lang/php4-extensions
make install clean

//安装 mysql
cd /usr/ports/databases/mysql41-server
make WITH_CHARSET=big5 WITH_XCHARSET=all install clean
cd /usr/ports/databases/php5-mysql
make install clean

//安装 proftpd
cd /usr/ports/ftp/proftpd
make install clean

//安装 eaccelerator
cd /usr/ports/www/eaccelerator/
make install clean
mkdir /tmp/eaccelerator
chown www /tmp/eaccelerator
chmod 0700 /tmp/eaccelerator

//安装 zend,由于 zend 暂时不能从 ports 安装,所以你要先下载后用 ssh 文件传送上去,或者用装好的 proftpd 传上去再安装
./install.sh

//全部安装好了我们把启动项加好。
ee /etc/rc.conf
//内容包括你设置的网络地址机器名等,我们只要在下面加上。
apache_enable=”YES”
mysql_enable=”YES”
proftpd_enable=”YES”
//这样就可以随机启动了。

//然后我们配置 apache,
ee /usr/local/etc/apache/httpd.conf
//把 http.conf 里的 CustomLog 和 ErrorLog 路径指到/usr 分区
//有关 apache 的配置请看相关教程,非常多。包括加虚拟主机啊,等等。
 

//配置/etc/my.cnf 改变数据库路径
//通常是 var 目录下,但我们分配的 var 并不大,所以把路径指向/usr/

//proftpd 的 FTP 帐号和密码是跟据系统用户主目录来的,所以要新建 FTP 帐号,就要新建个用户名,当然也可以通过 MYSQL 验证,不过通过 mysql 验证有很多问题。要注意所给的权限大小,限制 ssh 能力等。
//更改 mysql 负载能力。跟据下面的内存大小,选择相应的文件名复制到/etc/my.cnf
cp /usr/local/share/mysql/my-large.cnf /etc/my.cnf

>> my-small.cnf # <= 64M
>> my-medium.cnf # 32M – 64M
>> my-large.cnf # memory = 512M
>> my-huge.cnf # 1G-2G
>> my-innodb-heavy-4G.cnf # 4GB
 

//安装防火墙

IPFW 放火墙
方法一:加入内核中。速度快 || 方法二:启动加载。方便
1.在内核中加入后编译
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_DEFAULT_TO_ACCEPT (注意不需要)
# 接受过滤器中的静态连接
options ACCEPT_FILTER_DATA
options ACCEPT_FILTER_HTTP
针对 IPv6
options IPV6FIREWALL
options IPV6FIREWALL_VERBOSE
options IPV6FIREWALL_VERBOSE_LIMIT
options IPV6FIREWALL_DEFAULT_TO_ACCEPT (注意)
我们使用方法二:启动加载。调试方便
1.在 /etc/rc.conf 中加入:
firewall_enable=”YES”
firewall_script=”/etc/ipfw.conf”
#firewall_logging=”YES” 目的就是:/etc/sysctl.conf 中的 net.inet.ip.fw.verbose=1

2.在/etc/sysctl.conf
net.inet.ip.fw.verbose=1 (启动日志)
net.inet.ip.fw.verbose_limit=5 (同一个信息只记录 5 次)
配置 ee /etc/syslog.conf
在最下面加入:ipfw.log 的路径
!ipfw
*.* /var/log/ipfw.log
三、关于 ipfw.conf 语法
# ee /etc/ipfw.conf

我添加如下规则:基本适合 web+ssh+ftp+sendmail
######## TCP ##################
ipfw add 0005 deny tcp from any to any in tcpflags syn,fin
######### www ssh ftp ##########
ipfw add 10002 allow tcp from any to me 80 in
ipfw add 10003 allow tcp from any to me 22 in
ipfw add 10004 allow tcp from any to me 21 in
ipfw add 10005 allow tcp from any to me 20 in
ipfw add 10006 allow tcp from any to me 25 in
################################
ipfw add 19008 allow tcp from me to any out setup keep-state
ipfw add 19009 allow all from me to any out
ipfw add 20000 allow udp from any 53 to me #dns for ping wwwsohu.com
######### ICMP #################
ipfw add 30000 allow icmp from any to any icmptypes 3
ipfw add 30001 allow icmp from any to any icmptypes 4
ipfw add 30002 allow icmp from any to any icmptypes 8 out
ipfw add 30003 allow icmp from any to any icmptypes 0 in
ipfw add 30004 allow icmp from any to any icmptypes 11 in
####################################

]]>


Selinux 中国 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:freebsd、配置 [firewall]
喜欢 (0)