首页 - 日志 - 维基 - 读书 - 跑步 - 关于

FreeBSD笔记整理

目录

中文环境及时区调整

中文无法正常显示,在~/.cshrc下面增加:

setenv LANG         zh_CN.UTF-8    
setenv LC_CTYPE     zh_CN.UTF-8
setenv LC_ALL       zh_CN.UTF-8 

如果想显示出来的时间符合你所在的时区,则需要设置系统时区。 /usr/share/zoneinfo 目录里包含了各个时区的配置文件,只需将相应时区的配置文件复制到 /etc/localtime :

cp /usr/share/zoneinfo/Asia/Hong_Kong /etc/localtime

网络服务器

优化设置 (抄来的)

  • /etc/rc.conf 是一个很重要的文件,记录了一些包括启动、系统配置等内容
hostname="server.shuang.ca" #设定主机名
ifconfig_vtnet0="inet xxx.xxx.xxx.xxx netmask 255.255.255.0" #设定IP地址,其中vtnet0是网卡名称,注意设置正确
defaultrouter="xxx.xxx.xxx.1" #网关地址
sshd_enable="YES" #开启SSH
dumpdev="NO" #是否开启随意
firewall_enable="YES" #开启防火墙,需要在内核编译时将防火墙编译进去
firewall_script="/etc/firewall.rules" #防火墙规则文件
inetd_enable="NO" #不由inetd启动任何服务
mysqld_enable="YES"
nginx_enable="YES"
php_fpm_enable="YES"
memcached_enable="YES" #虽然还没配置web环境,但我依然先将他们写进去
postfix_enable="YES" #FreeBSD中默认使用sendmail发送邮件,不过postfix更轻巧,更快,这里先设置,待会儿配置
sendmail_enable="NONE" #将sendmail直接关闭
syslogd_enable="YES" #开启日志
syslogd_flags="-s -s" #禁止接收其他主机的日志
portmap_enable="NO"
nfs_server_enable="NO"
nfs_client_enable="NO" #这三行是关闭nfs服务,咱们没必要
kern_securelevel_enable="YES" #开启安全级别
kern_securelevel="2" #设置为2级
# kern_securelevel -1:这是系统默认级别,没有提供任何内核的保护错误;
# kern_securelevel 0:基本上作用不多,当你的系统刚启动就是0级别的,当进入多用户模式的时候就自动变成1级了。
# kern_securelevel 1:在这个级别上,有如下几个限制:
# a. 不能通过kldload或者kldunload加载或者卸载可加载内核模块;
# b. 应用程序不能通过/dev/mem或者/dev/kmem直接写内存;
# c. 不能直接往已经装在(mounted)的磁盘写东西,也就是不能格式化磁盘,但是可以通过标准的内核接口执行写操作;
# d. 不能启动X-windows,同时不能使用chflags来修改文件属性;
# kern_securelevel 2:在 1 级别的基础上还不能写没装载的磁盘,而且不能在1秒之内制造多次警告,这个是防止DoS控制台的;
## kern_securelevel 3:在 2 级别的级别上不允许修改IPFW防火墙的规则。
fsck_y_enable="YES" #开机自动fsck硬盘
enable_quotas="YES"
check_quotas="YES" #系统配额
clear_tmp_enable="YES" #开机自动清空/tmp
update_motd="NO" #禁用内核信息提示
tcp_drop_synfin="YES" #挫败OS指纹识别
icmp_drop_redirect="YES"
icmp_log_redirect="YES" #ICMP重定向
log_in_vain="YES" #记录每一个企图到关闭端口的连接
accounting_enable="YES" #系统审计功能
  • 我们还可以对sysctl进行一些系统优化及安全设置,修改 /etc/sysctl.conf 文件
net.inet.tcp.sendspace=65536 #最大的待发送TCP数据缓冲区空间
net.inet.tcp.recvspace=65536 #最大的接受TCP缓冲区空间
net.inet.udp.sendspace=65535 #最大的接受UDP缓冲区大小
net.inet.udp.maxdgram=65535 #最大的发送UDP数据缓冲区大小
net.local.stream.sendspace=65535 #本地套接字连接的数据发送空间
net.inet.tcp.rfc1323=1
net.inet.tcp.rfc1644=1
net.inet.tcp.rfc3042=1
net.inet.tcp.rfc3390=1 #加快网络性能的协议
kern.ipc.maxsockbuf=2097152 #最大的套接字缓冲区
kern.maxfiles=65536 #系统中允许的最多文件数量
kern.maxfilesperproc=32768 #每个进程能够同时打开的最大文件数量
net.inet.tcp.delayed_ack=0 #当一台计算机发起TCP连接请求时,系统会回应ACK应答数据包。该选项设置是否延迟ACK应答数据包,把它和包含数据的数据包一起发送,在高速网络和低负载的情况下会略微提高性能,但在网络连接较差的时候,对方计算机得不到应答会持续发起连接请求,反而会降低性能。
net.inet.icmp.drop_redirect=1
net.inet.icmp.log_redirect=1
net.inet.ip.redirect=0
net.inet6.ip6.redirect=0 #屏蔽ICMP重定向功能
net.inet.icmp.bmcastecho=0
net.inet.icmp.maskrepl=0 #防止ICMP广播风暴
net.inet.icmp.icmplim=100 #限制系统发送ICMP速率
net.inet.icmp.icmplim_output=0  
net.inet.tcp.drop_synfin=1  #安全参数,编译内核的时候加了options TCP_DROP_SYNFIN才可以用
net.inet.tcp.always_keepalive=1  #设置为1会帮助系统清除没有正常断开的TCP连接,这增加了一些网络带宽的使用,但是一些死掉的连接最终能被识别并清除。死的TCP连接是被拨号用户存取的系统的一个特别的问题,因为用户经常断开modem而不正确的关闭活动的连接
net.inet.ip.intr_queue_maxlen=1000  #若看到net.inet.ip.intr_queue_drops这个在增加,就要调大net.inet.ip.intr_queue_maxlen,为0最好
net.inet.tcp.msl=7500 #防止DOS攻击,默认为30000
net.inet.tcp.blackhole=2 #接收到一个已经关闭的端口发来的所有包,直接drop,如果设置为1则是只针对TCP包
net.inet.udp.blackhole=1 #接收到一个已经关闭的端口发来的所有UDP包直接drop
net.inet.tcp.inflight.enable=1 #为网络数据连接时提供缓冲
net.inet.ip.fastforwarding=0 #如果打开的话每个目标地址一次转发成功以后它的数据都将被记录进路由表和arp数据表,节约路由的计算时间,但会需要大量的内核内存空间来保存路由表
#kern.polling.enable=1 #kernel编译打开options POLLING功能,高负载情况下使用低负载不推荐SMP不能和polling一起用
kern.ipc.somaxconn=32768 #并发连接数,默认为128,推荐在1024-4096之间,数字越大占用内存也越大
security.bsd.see_other_uids=0 #禁止用户查看其他用户的进程
kern.securelevel=2 #设置kernel安全级别
net.inet.tcp.log_in_vain=1 #记录下任何TCP连接
net.inet.udp.log_in_vain=1  #记录下任何UDP连接
net.inet.udp.checksum=1  #防止不正确的udp包的攻击
net.inet.tcp.syncookies=1 #防止DOS攻击
kern.ipc.shm_use_phys=1 #仅为线程提供物理内存支持,需要256兆以上内存
kern.ipc.shmmax=67108864 # 线程可使用的最大共享内存
kern.ipc.shmall=32768 # 最大线程数量
kern.coredump=0 # 程序崩溃时不记录
net.local.stream.recvspace=65536
net.local.dgram.maxdgram=16384
net.local.dgram.recvspace=65536  # lo本地数据流接收和发送空间
net.inet.tcp.mssdflt=1460 # 数据包数据段大小,ADSL为1452。
net.inet.tcp.inflight_enable=1 # 为网络数据连接时提供缓冲
net.inet.tcp.minmss=1460 # 数据包数据段最小值,ADSL为1452
net.inet.raw.maxdgram=65536 # 本地数据最大数量
net.inet.raw.recvspace=65536 # 本地数据流接收空间
net.inet.ip.fw.dyn_max=65535 #ipfw防火墙动态规则数量,默认为4096,增大该值可以防止某些病毒发送大量TCP连接,导致不能建立正常连接
net.inet.ipf.fr_tcpidletimeout=864000 #设置ipf防火墙TCP连接空闲保留时间,默认8640000(120小时)
  • 禁止一般用户查看系统日志
chmod g-w,o-r /var/log/*
chmod 600 /etc/syslog.conf
chmod 600 /etc/newsyslog.conf

本页最后更新时间:2015-11-11 Wed 12:14.
小过的布拉格 - Copyright©2013-2021 - @xiaoguo - Powered by Emacs 29.1 (Org mode 9.6.6)
行路难,行路难, 多歧路,今安在。长风破浪会有时,直挂云帆济沧海。