センリュウのホームページへ ようこそ!
LINUXでインターネットサーバー構築 (序)
時代はLINUX! 身近になった常時接続を利用して、LINUXによるインターネットサーバー構築を目指してみよう。
ここではマシンは一般的なDOS−Vマシン、LINUXのディストリビューションにはRedhat、Turbolinuxなどを使うことにした(よく雑誌の付録についてくるので)。
1 LINUXインストールの注意点
インストールに際して大切な点は、インターネットサーバーにとって必要なもの以外はインストールしないということである。ゲームや開発ソフトなど余計なソフトは管理も大変だし、ハッカーの攻撃の糸口となりかねない。インストールした場合でも普段使わないサービス等は必ずサービス停止にしておく必要がある。telnet等も使わないのであれば停止しておく。インターネットではsambaやatalk、nfsも必要ないからこれらも始めからインストールしないかサービスを切っておく。
FedoraCoreをインターネットを使ってインストールしてみる
●FedoraCore1の場合
準備
用意するもの フロッピーディスク2枚
フロッピーイメージのダウンロード
http://ftp.kddilabs.jp/Linux/packages/fedora/core/1/i386/os/images/より、2枚のフロッピーのイメージbootdisk.imgとdrvnet.imgをダウンロード。
フロッピー・イメージの書き込み
用意した1枚目の空のフロッピーを挿入して(マウントはしない)、# dd if=bootdisk.img of=/dev/fd0
2枚目も同様に、 # dd if=drvnet.img of=/dev/fd0
Windowsの場合は、rawriteというコマンドラインのツールを使う。
インストール開始(インターネットよりインストール)
作成したbootdisk.imgのフロッピーから起動。しばらくするとInstration Methodとなるので、ここでHTTPを選ぶ。
HTTP→select driver→Load driver diskと進みfd0を選択、ここで、drvnet.imgのフロッピーに入れ替えてEnter。
LANドライバの選択
マシンのIPアドレス設定
ダウンロード先の設定
ホスト ftp.kddilabs.jp
パス /Linux/packages/fedora/core/1/i386/os (ミラーによって異なるので注意!)
●FedoraCore2の場合
インストール起動用のCDを作成することになる。
isoイメージのダウンロード
http://ftp.kddilabs.jp/Linux/packages/fedora/core/2/i386/os/images/にあるboot.isoをダウンロード。
CDへの書き込み
ここではwindowsマシンで、WinCDRを使ってみた。ファイル→新規作成→トラックイメージを選択。
このあとは通常のデータと同じように焼き付ける。これでインストール起動用のCDができる。
インストールは基本的に上と同じ。
2 ブロードバンド・ルータの設定例
ルータはここでは外部とのやりとりを行うための玄関口の役割を果たしている。ルータの設定で重要となるのは、フィルタの設定である。これは外部からの不正な侵入を防ぐ第一段階となるからだ。
MN128-SOHOを使用した場合の例。
333.139.162.224/28などは自ドメインをあらわす架空のIPアドレス。
ip filter 6 reject in 333.139.162.224/28 * * * * remote 0
ip filter 7 reject in 10.0.0.0/8 * * * * remote 0
ip filter 8 reject in 172.16.0.0/12 * * * * remote 0
ip filter 9 reject in 192.168.0.0/16 * * * * remote 0
ip filter 10 reject in * 333.139.162.224/32 * * * remote 0
ip filter 11 reject in * 333.139.162.239/32 * * * remote 0
ip filter 12 reject out * 333.139.162.224/28 * * * remote 0
ip filter 13 reject out * 10.0.0.0/8 * * * remote 0
ip filter 14 reject out * 172.16.0.0/12 * * * remote 0
ip filter 15 reject out * 192.168.0.0/16 * * * remote 0
ip filter 16 pass in * * tcp * pop3 remote 0
ip filter 17 pass in * * tcp * ftp remote 0
ip filter 18 pass in * * tcp * ftpdata remote 0
ip filter 19 pass in * * tcp * www remote 0
ip filter 20 pass in * * tcp * 443 remote 0
ip filter 21 pass in * * tcp * smtp remote 0
ip filter 22 pass in * * tcp * domain remote 0
ip filter 23 pass in * * udp * domain remote 0
ip filter 24 pass in * * tcp * 113 remote 0
ip filter 25 pass in * * tcp * 1024-65535 remote 0
ip filter 26 pass in * * udp * 1024-65535 remote 0
ip filter 27 pass in * * icmp * * remote 0
ip filter 28 reject in * * tcpest * * remote 0
ip filter 29 reject out * * udp route route remote 0
ip filter 30 pass out 333.139.162.224/28 * * * * remote 0
ip filter 31 reject out * * * * * remote 0
ip filter 32 reject in * * * * * remote 0
ip route 0.0.0.0/0/7 remote 0 static
このフィルタリングの例では、Web機能の基本的なものだけを許可し、telnetなど侵入をまねきやすいものに関してはとりあえず許可しない方針をとっている。
3 ネットワークの構成
割り当てられた架空のIPアドレスを333.139.162.224/28(333.139.162.224〜239の16個)としている。
![]() |
割り当て 333.139.162.224/28 サブネットマスク 255.255.255.240 ネットワークアドレス 333.139.162.224 ブロードキャスト 333.139.162.239 ルータ 333.139.162.225 インターネットサーバー(ns.kaisha.co.jp)に2枚のLANカードをつけて、一方を外部向け(333.139.162.226)一方を内部向け(192.168.0.1)とする。 社内LAN 192.168.0.ゾーン |
●最初は1枚のNIC(図で言えば上部の333.139.162.226側)だけの状態でLINUXをインストールし、あとで2枚目を差し込み認識させるようにする。つまりとりあえずは、図の上部半分だけを完成させ、さまざまな設定をした上で、後半になって下半分を完成させるようにする。
ネットワークの設定
| /etc/hosts | 127.0.0.1 localhost.localdomain localhost 333.139.162.226 ns.kaisha.co.jp ns |
| /etc/resolv.conf | search kaisha.co.jp nameserver 127.0.0.1 nameserver 333.139.160.69 セカンダリDNSを記入(後述) |
| /etc/sysconfig/network | NETWORKING=yes HOSTNAME=ns.kaisha.co.jp DOMAINNAME=kaisha.co.jp GATEWAY=333.139.162.225 GATEWAYDEV=eth0 |
| /etc/sysconfig/network-script/ifcfig-eth0 | DEVICE=eth0 IPADDR=333.139.162.226 NETMASK=255.255.255.240 NETWORK=333.139.162.224 BROADCAST=333.139.162.239 ONBOOT=yes BOOTPROTO=none |