LinuxでRouterを作る - Router用の各種設定

Last Modified: 2004.02.18

10. Router用の各種設定

1. minegettyの起動数を減らす

/etc/inittabを編集し、?:2345を?:245にする(?は2から6)。

 # Run gettys in standard runlevels
 1:2345:respawn:/sbin/mingetty vc/1
 2:245:respawn:/sbin/mingetty vc/2                        <--- 2345を245に
 3:245:respawn:/sbin/mingetty vc/3                        <--- 2345を245に
 4:245:respawn:/sbin/mingetty vc/4                        <--- 2345を245に
 5:245:respawn:/sbin/mingetty vc/5                        <--- 2345を245に
 6:245:respawn:/sbin/mingetty vc/6                        <--- 2345を245に

2. dhcpdの設定

eth1でdhcpdを動かすように、 /etc/sysconfig/network ファイルを編集する。

 NETWORKING=yes
 HOSTNAME=router
 DOMAINNAME=kkoba.com
 # GATEWAY=172.25.0.1
 # GATEWAYDEV=eth1
 DHCPDEV=eth1                                             <--- eth1でdhcpを動かす

/etc/dhcpd.conf.sampleを参考に、/etc/dhcpd.confファイルを作成する。

 option domain-name "kkoba.com";
 option domain-name-servers 172.25.0.3;
 
 default-lease-time 600;                                  <--- 標準で10分IPアドレスをリース
 max-lease-time 86400;                                    <--- 最大で1日IPアドレスをリース
 
 ddns-update-style none;                                  <--- DNSに登録しない。
 authoritative;
 
 subnet 172.25.0.0 netmask 255.255.255.0 {                <--- 172.25.0.Xに
  range 172.25.0.100 172.25.0.199;                        <--- 172.25.0.100から172.25.0.199をリース
  option routers 172.25.0.1;                              <--- Default Gatewayは172.25.0.1
  option subnet-mask 255.255.255.0;                       <--- Subnet Maskは255.255.255.0
  option broadcast-address 172.25.0.255;                  <--- ブロードキャストは172.25.0.255
 }

/var/dhcp/dhcpd.leases, /var/dhcp/dhcpd.leases~ の2つのファイルにログが残る。
「ログファイルの内容がLocal時間とずれるが、これはバクじゃない」とログファイルに書いてあります。

3. xntpdの設定

詳細は、http://www.kkoba.com/linux/timeconfig.shtml#17を参照。
ただし、driftファイルは分かり易いように/var/logに置いている。

4. cronの設定

/etc/cron.hourlyのrmmodは、moduleを使っていないので削除。
動いているのは、/etc/cron.dailyの以下の2つだけ。
  • logrotate
  • tmpwatch

5. ログを他のマシンに送る

下記の設定を行うと、他のマシンのmessage等のログファイルにRouterのログファイルが混ざる。
詳細は、アットマーク・アイティ - システム管理の基礎 syslogdの設定をマスターしようを参照。

Router側の設定
/etc/syslog.confを以下のものだけにする。

 *.*    @linux.kkoba.com

受信側(linux.kkoba.com)の設定
/etc/init.d/syslogの行に-rを追加。

 daemon syslogd -r -m 0

6. logcheckのメール

iptablesのログを残すと、ログチェックのメールの中のiptablesの行が多くて見づらくなる。
ログを受信しているマシンの/etc/logcheck/logcheck.ignore, /usr/sbin/logcheckファイルを編集して、"iptables" というセクションにログがまとまるようにする。

/etc/logcheck/logcheck.ignoreファイルの最後に以下を加えると、"Unusual System Events"のセクションにはiptablesのログが出力されなくなる (iptablesの設定で、必ず iptables とログの頭につけているため)。

 kernel: iptables

/usr/sbin/logcheckの "Unusual System Events" を出力している部分の下に、以下を追加する。

 if $GREP "kernel: iptables" $TMPDIR/check.$$ > $TMPDIR/checkoutput.$$; then
         echo >> $TMPDIR/checkreport.$$
         echo "iptables" >> $TMPDIR/checkreport.$$
         echo "=-=-=-=-=-=-=-=-=-=-=" >> $TMPDIR/checkreport.$$
         cat $TMPDIR/checkoutput.$$ >> $TMPDIR/checkreport.$$
         FOUND=1
 fi

7. logrotateの設定

/etc/logrotate.confを編集。ログを残しすぎるとCFが一杯になるので、ログの履歴は1つだけにする。
また、10分毎にRouterにログインしてppp0のIPを取得する等の処理を行う場合は、wtmpが肥大化するので、wtmpを一週間毎にrotateするように設定する。

 # keep 4 weeks worth of backlogs
 # rotate 4
 rotate 1                                                 <--- 履歴は1つ。
 .
 .
 # errors root                                            <--- コメント化(メールは送らない)
 .
 .
 # no packages own lastlog or wtmp -- we'll rotate them here
 /var/log/wtmp {
 #    monthly
     weekly                                               <--- wtmpは毎週整理。
     create 0664 root utmp
     rotate 1
 }

ログの大部分は他のマシンに転送するので、/etc/logrotate.dの下は下記のファイルだけにする。
  • cron
  • xntpd

8. syncookieの設定

SYN-flood攻撃に対処するため、以下を/etc/rc.localに追加する。
詳細は、http://www.zdnet.co.jp/help/tips/linux/l0105.htmlを参照。

 echo 1 > /proc/sys/net/ipv4/tcp_syncookies

<Prev Top Next>
Copyright(C) 2001-2003 Katsuyuki Kobayashi.
このサイトへのリンクや引用時はメール頂戴
webmaster@kkoba.com