UnixPower on Networking
  http://www.unix-power.net/

 
  Top - Solaris8 - FreeBSD IP Firewall



ここではSolarisではなく、FreeBSDの話題を扱います。今回はFreeBSDで一通りの機能を装備したローカルルータを実現します。ここではFreeBSD4.3を対象としています。


まず必要な機能をオンにするためカーネルを再構築します。

# cd /usr/src/sys/i386/conf
# cp GENRIC CUSTOM
# vi CUSTOM


としてカーネルコンフィグをチューニングも合わせて設定を行います。
【参考】カーネルコンフィグ


以下の記述を/etc/sysctl.confに書き足します。


kern.ipc.somaxconn=1024
kern.ipc.maxsockbuf=1048576
net.inet.tcp.rfc1323=1
net.inet.tcp.sendspace=65536
net.inet.tcp.recvspace=65536
net.inet.udp.recvspace=166400
net.inet.udp.maxdgram=36864
net.local.stream.sendspace=65536
net.local.stream.recvspace=65536


/etc/make.confで


#COPTFLAGS="-O2 -mpentiumpro -pipe" # ;)
COPTFLAGS="-O2 -m486 -pipe" 


として最適化オプションを追加します。さらにさらに/usr/include/sys/types.h


#define FD_SETSIZE 4096


/usr/include/sys/socket.h


#define SOMAXCONN 1024


とします。そしていよいよカーネル再構築。


# config CUSTOM
# cd ../../compile/CUSTOM
# make depend;make
# make install
# reboot


とします。これで下準備が整いました。次は設定に入ります。/etc/rc.confは次のように記述しました。


defaultrouter="xxx.xxx.xxx.xxx"
hostname="www.xxx.ne.jp"
ifconfig_rl0="inet xxx.xxx.xxx.xxx  netmask 255.255.255.240"
ifconfig_rl1="inet xxx.xxx.xxx.xxx  netmask 255.255.255.128"
ifconfig_rl2="inet xxx.xxx.xxx.xxx  netmask 255.255.255.192"
gateway_enable="YES"

static_routes="routea routeb"
route_routea="-net xxx.xxx.xxx.xxx/26 xxx.xxx.xxx.xxx"
route_routeb="-net xxx.xxx.xxx.xxx/25 xxx.xxx.xxx.xxx"

tcp_drop_synfin="YES"
#tcp_restrict_rst="YES"
icmp_drop_redirect="YES"
icmp_log_redirect="NO"

firewall_enable="YES"
firewall_script="/etc/rc.firewall"
firewall_type="SIMPLE"
firewall_quiet="NO"

natd_enable="YES"
natd_interface="rl0"
natd_flags="-l -f /etc/natd.conf"


natdのinterfaceはglobal address側のrl0です。natdのoptionで"-l"をつけると、/var/log/alias.logがとれます。/etc/natd.confの内容は次のようになります。


log no
verbose no
deny_incoming no
log_denied yes
log_facility security
use_sockets yes
same_ports yes
unregisterd_only yes


次はファイアーウォールの設定に入ります。

【参考】rc.firewall

上記例ではファイアーウォールだけでなく帯域制御も行っています。またここのページが大変参考になると思います



 

 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.