NetBSD-5.0 Install

ftp://ftp.netbsd.org/pub/NetBSD/iso/5.0/i386cd-5.0.iso のCDイメージからインストール

タイムゾーン変更

ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-5.0/source/sets/syssrc.tgz を/に展開

cd /usr/src/sys/arch/i386/conf
cp GENERIC confname
vi confname
confの編集:↓の変更
options         RTC_OFFSET=-540    # hardware clock is this many mins. west of GMT

config confname
cd ../compile/confname
make depend
make
mv /netbsd /netbsd.old
mv netbsd /.
cd /etc
rm localtime
ln -s /usr/share/zoneinfo/Japan localtime

pkgsrc

ftp://ftp.netbsd.org/pub/NetBSD/packages/pkgsrc-current.tar.gz を/usr/に展開

/etc/mk.conf

ACCEPTABLE_LICENSES+=fee-based-commercial-use
ACCEPTABLE_LICENSES+=lha-license
ACCEPTABLE_LICENSES+=postfix-license
PKG_OPTIONS.postfix=sasl bdb tls pcre
cd /usr/pkgsrc/shells/tcsh ; make ; make install
cd /usr/pkgsrc/inputmethod/ja-freewnn-server ; make ; make install
cd /usr/pkgsrc/www/apache2/ ; make ; make install
cd /usr/pkgsrc/misc/ja-man ; make ; make install
cd /usr/pkgsrc/misc/ja-less ; make ; make install  <- ja-manで入る
cd /usr/pkgsrc/misc/screen ; make ; make install
cd /usr/pkgsrc/lang/perl5 ; make ; make install  <- apache2で入る
cd /usr/pkgsrc/lang/php5 ; make ; make install
cd /usr/pkgsrc/archivers/lha ; make ; make install
cd /usr/pkgsrc/archivers/zip ; make ; make install
cd /usr/pkgsrc/archivers/unzip ; make ; make install
cd /usr/pkgsrc/converters/ish ; make ; make install
cd /usr/pkgsrc/converters/p5-nkf ; make ; make install
cd /usr/pkgsrc/editors/emacs ; make ; make install
cd /usr/pkgsrc/net/ja-samba ; make ; make install
cd /usr/pkgsrc/net/mirror ; make ; make install
cd /usr/pkgsrc/net/rsync ; make ; make install
cd /usr/pkgsrc/net/wget ; make ; make install
cd /usr/pkgsrc/graphics/netpbm ; make ; make install
cd /usr/pkgsrc/www/ap-php ; make ; make install
cd /usr/pkgsrc/misc/php-mbstring ; make ; make install
cd /usr/pkgsrc/www/php-curl ; make ; make install
cd /usr/pkgsrc/mail/fetchmail ; make ; make install
cd /usr/pkgsrc/mail/procmail ; make ; make install
cd /usr/pkgsrc/mail/dovecot ; make ; make install
cd /usr/pkgsrc/www/lynx ; make ; make install
cd /usr/pkgsrc/devel/apel ; make ; make install
cd /usr/pkgsrc/devel/flim ; make ; make install
cd /usr/pkgsrc/devel/semi ; make ; make install
cd /usr/pkgsrc/mail/postfix-current ; make ; make install
cd /usr/pkgsrc/security/cy2-crammd5 ; make ; make install

sshd

> /usr/sbin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
The key fingerprint is:
XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX:XX root@hostname

passphraseは空のままリターンで
dsaも同様に空で作成

> /usr/sbin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key

named

rndc.confファイルの作成

> /usr/local/sbin/rndc-confgen -a

screenrc

defkanji jis
escape ^z^z
bind '-' prev
bind '^g'
bind '?' help
bind '^a' other
bind 'a' other
bind 'Z' suspend
bind 'z' suspend
bind 'G' vbell
bind 'R' reset

apache on php5

/usr/pkg/etc/httpd/httpd.conf

<Directory />
   Options All
   AllowOverride All
</Directory>
<Directory "/usr/pkg/share/httpd/htdocs">
   Options Indexes FollowSymLinks
   AllowOverride All
   Order allow,deny
   Allow from all
</Directory>
DirectoryIndex index.html index.html.var index.php
LoadModule php5_module lib/php/mod_php5.so
AddType application/x-httpd-php .php

/usr/pkg/etc/php.ini

extension=mbstring.so
extension=curl.so

動作チェック
/usr/pkg/share/httpd/httpdocs/phptest.php

<?php phpinfo();?>

samba

samba用パスファイルの作成

smbpasswd -a username

/usr/pkg/etc/samba/smb.conf

[homes]
  comment = Home Directories
  browseable = no
  writable = yes
  create mode = 0755
  valid users = %S
[www]
  path = /usr/pkg/share/httpd/htdocs
  browseable = yes
  create mode = 777
  writable = yes
  public = yes

/etc/inetd.conf

netbios-ssn stream tcp nowait root /usr/pkg/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/pkg/sbin/nmbd nmbd

imap-uw

/etc/c-client.cf

I accept the risk for IMAP toolkit 4.1.
set mail-subdirectory imap-uw
set new-folder-format mbx

/etc/inetd.conf

imap4  stream  tcp     nowait  root    /usr/pkg/libexec/imapd    imapd
imaps  stream  tcp     nowait  root    /usr/pkg/libexec/imapd    imapd
pop2   stream  tcp     nowait  root    /usr/pkg/libexec/ipop2d   ipop2d
pop3   stream  tcp     nowait  root    /usr/pkg/libexec/ipop3d   ipop3d
pop3s  stream  tcp     nowait  root    /usr/pkg/libexec/ipop3d   ipop3d

hosts

/etc/hosts.deny

ALL: ALL

/etc/hosts.allow

ALL: .localnet
telnetd:
ftpd: ALL
httpd: ALL
sshd: ALL
sendmail: ALL
postfix: ALL
imapd: ALL

pppoeの設定

PPPoEがサポートされてるか確認

chitose# ifconfig -C
bridge vlan gif gre tun tap strip sl pppoe ppp lo

pppoeが無い場合カーネルコンフィグに以下を追加して作り直す

pseudo-device   pppoe                   # PPP over Ethernet (RFC 2516)

接続テスト

chitose# ifconfig pppoe0 create
chitose# ifconfig pppoe0 inet 0.0.0.0 0.0.0.1 down
chitose# ifconfig ex0 up
chitose# pppoectl -e ex0 pppoe0                <-- ex0はADSLモデムの継ってるNIC
chitose# pppoectl pppoe0 myauthproto=認証方式(pap or chap) 'myauthname=接続ID' 'mysuthsecret=接続パスワード' hisauthproto=none
chitose# ifconfig pppoe0 up
chitose# pppoectl -d pppoe0
pppoe0: state = session
        Session ID: 0x1234
        PADI retries: 0
        PADR retries: 0
chitose# 

state = sessionならセッション確立。
接続出来ていれば以下のようにIPの確認が出来る。

chitose# ifconfig pppoe0
pppoe0: flags=8851 mtu 1492
        inet 218.228.157.12 -> 218.228.156.1 netmask 0xffffff00
chitose# 

以下起動時に自動接続する設定
/etc/ifconfig.pppoe0

create
! /sbin/ifconfig ex0 up
! /sbin/pppoectl -e ex0 pppoe0
! /sbin/pppoectl pppoe0 myauthproto=chap myauthname=USERNAME myauthsecret=PASSWORD hisauthproto=none
! /sbin/pppoectl pppoe0 max-auth-failure=0
inet 0.0.0.0 0.0.0.1
up

/etc/ppp/ip-up:

#!/bin/sh
/sbin/route add default $5

/etc/ppp/ip-down:

#!/bin/sh
/sbin/route delete default

上の2つのファイルを作成し、/etc/rc.confに

ifwatchd=YES
ifwatchd_flags="-u /etc/ppp/ip-up -d /etc/ppp/ip-down pppoe0"

Path MTU discovery blackhole問題の解決方法

経路上にICMPをすべて落す防火壁がある場合MTU Path discovery blackhole問題が発生する。
この場合MTUとMSSを調整することで解決出来る。
以下設定方法

sysctl変数net.inet.tcp.mss_ifmtuを1に設定。

sysctl -w net.inet.tcp.mss_ifmtu=1

PPPoEのMTUを設定

ifconfig pppoe0 mtu 1454

/etc/ifconfig.pppoe0

create
! /sbin/ifconfig ex0 up
! /sbin/pppoectl -e ex0 pppoe0
! /sbin/pppoectl pppoe0 myauthproto=chap myauthname=USERNAME myauthsecret=PASSWORD hisauthproto=none
! /sbin/pppoectl pppoe0 max-auth-failure=0
inet 0.0.0.0 0.0.0.1
mtu 1454
up

/etc/ipnat.confのpppoeの項目の最後にmssclampを追加。
値はMTUで設定した値-40

/etc/ipnat.conf

map pppoe0 192.168.1.0/24 -> 0/32 mssclamp 1414      <--mtuの値-40

ルーターにする設定

1.カーネルコンフィグで以下の2項目を有効になっているカーネルを作る(GENERICでは有効になっている)

options         PFIL_HOOKS      # pfil(9) packet filter hooks
pseudo-device   ipfilter                # IP filter (firewall) and NAT

2./etc/sysctl.confに以下を追加。

net.inet.ip.forwarding=1

3.IP Filterの設定
以下の例ではすべて透過。
log onにしておくとipmonでログが取れる
ログも取らずすべて透過でいいなら空ファイルを用意するだけでもいい。

/etc/ipf.conf

pass in log on pppoe0 proto tcp from any to any flags S/SA

4.IP NATの設定
ローカルネットワークが192.168.1.0/24の場合。

/etc/ipnat.conf

#!/sbin/ipnat -f -
map pppoe0 192.168.1.0/24 -> 0/32 proxy port ftp ftp/tcp
map pppoe0 192.168.1.0/24 -> 0/32 portmap tcp/udp 40000:60000
map pppoe0 192.168.1.0/24 -> 0/32

5./etc/rc.confに以下を追加。
ログを取らない場合はipmonの行はいらない。

ipfilter=YES
ipnat=YES
ipmon=YES		ipmon_flags="-ns"	# syslog ipfilter messages

iTunes Server

pkgsrcから必要な物をインストール

cd /usr/pkgsrc/net/howl ; make ; make install
cd /usr/pkgsrc/audio/mt-daapd ; make ; make install
cd /usr/pkgsrc/net/mDNSResponder ; make ; make install

mDNSResponderの設定ファイルを作成
/usr/pkg/etc/rendezvous.conf

iTunes Server
_daap._tcp.
none
3689

mDNSResponderを起動

> /usr/pkg/bin/mDNSResponderPosix -f /usr/pkg/etc/rendezvous.conf -b

mt-daapdの設定ファイルを作成
/usr/pkg/etc/mt-daapd.conf

web_root /usr/pkg/share/mt-daapd/admin-root # WEB管理画面用ファイルのパス
mp3_dir /home/iTunes # 音楽ファイルのパス
servername iTune Server # 共有名
logfile /var/log/mt-daapd.log
#rescan_interval 300 # 音楽ファイルのスキャンインターバル

mt-daapdの起動

> /usr/pkg/bin/mt-daapd start

謎メーラー必要モジュール

perlモジュールのインストール

perl -MCPAN -e shell

すべてデフォルト設定のままリターンで

cpan> install CGI:Session
cpan> install Mail::IMAPClient
cpan> install MIME::Words
cpan> install Unicode::IMAPUtf7
cpan> install HTML::Template
cpan> install DateTime

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS