自宅サーバーをアップデートした

自宅サーバーのHDDを換装に合わせてサーバーの再構築をしました。
この記事では構築時の設定メモを書いてみます。

サーバー機能

自宅サーバーでは以下の機能を提供しています

  • DHCPサーバー
  • DNSキャッシュサーバー
  • Sambaサーバー
  • Web開発サーバー

DHCPとDNSは止めるわけにはいかないので、VMで代替を用意します。

セットアップ

サーバーOSにはUbuntu Server 12.04 LTSを使用しました。
これは「できるだけ新しいパッケージを使いたい」かつ「アップデートのサポートが長いもの」という条件から5年サポートのLTSを使用します。

パーティション分けは以下のようにしました。
/dev/sda1 /boot ext4 512MB
/dev/sda3 / ext4 60GB
/dev/sda5 swap 4GB
/dev/sda6 /home ext4 900GB

インストーラー時にセットアップするサーバーを選択できるので
OpenSSH, DNS, Sambaを選択してセットアップ

設定

●アップデート
インストールが完了したらパッケージのアップデートをかける前に、アップデートサーバーのアドレスを変更しておきます。
/etc/apt/source.list に設定されているので、jp.ubuntu.comからftp.jaist.ac.jpに変更しました。
変更したら以下のコマンドでアップデートします

sudo apt-get update
sudo apt-get dist-upgrade

●パッケージインストール
アップデートして再起動した後、自分が必要なパッケージをインストールします
私は以下のパッケージをインストールしました

zsh
htop
nmap
sysstat
build-essential

gitは新しいパッケージを使いたいのでppaからインストールします
ubuntu serverだとデフォルトでppaが利用できないので以下のパッケージをインストールします

ppa-purge
python-software-properties

インストールしたらubuntuのパッケージ管理で最新のgitを使うのようにgitをインストールします

●コンソール数の変更
次にデフォルトだとコンソールの数が多いので4つに減らしました
/etc/default/console-setup
ACTIVE_CONSOLES=”/dev/tty[1-6] → ACTIVE_CONSOLES=”/dev/tty[1-6]

/etc/init/tty5.confと/etc/init/tty5.confを全行コメントアウト
そして再起動

●SSHの設定
/etc/ssh/sshd-configで以下の設定を変えます
port xxxxx(アクセスされないように隠してます)
passwrodLogin no
permitedRootRogin no
/etc/ufw/applications.d/openssh-serverのポート番号も変更しておきます

●ファイアーウォールの設定
Ubuntuではufwと呼ばれるiptablesを簡易的に設定できるツールがあるのでこれで設定します
DNSやSamba、開発用のWebサーバーは外には公開せず、SSHのみを外に開きます。
外向きのSSHもufw limitで接続回数に制限をかけます

sudo ufw reset
sudo ufw default deny
sudo ufw allow from 192.168.xx.0/24 to any app Samba
sudo ufw allow from 192.168.xx.0/24 to any app OpenSSH
sudo ufw allow from 192.168.xx.0/24 to any app Bind9
sudo ufw allow from 192.168.xx.0/24 to any app Apache
sudo ufw limit to any app OpenSSH

●DNSとDHCP
DNSはbind, DHCPはdhcp3-serverを利用しました

DNSは/etc/bind/db.root(ルートサーバーのアドレスリスト)を最新版に更新します
このDNSサーバーはキャッシュサーバーとして使うので
forwardersにプロバイダのDNSサーバーのIPアドレスを設定
forward only;
recursion yes;
dnssec-validation no;
のような設定にしました

DHCPは/etc/dhcp/dhcpd.confで設定
IPレンジとDNSのIP、ゲートウェイ設定などを行います

●NTPによる時刻同期
ntpdをインストールして時刻同期するようにします。
同期先サーバーはntp1.jst.mfeed.ad.jp〜ntp3.jst.mfeed.ad.jpを設定しました

●Sambaの設定
Samba3.6.3では共有設定はsmb.confではなくnetコマンドを使います
$ net usershare add “Public” /home/Public “Public” Everyone:F guest_ok=y
オプションの意味はaddの後から「共有名」「共有するパス」「コメント」「権限」「ゲスト許可」となっています
権限は「アカウント:F(full access)|R(Read Only)|D(Deny)」という形式になります

●最後に
設定が終わったら/etc/network/interfaceからDHCPから固定IPに変更します
iface eth0 inet dhcpをコメントアウトして以下の設定にします

iface eth0 inet static
address 192.168.xxx.xx
netmask 255.255.255.0
network 192.168.xxx.0
broadcast 192.168.xxx.255
gateway 192.168.xxx.1
dns-nameservers 127.0.0.1

UbuntuではDNSの設定はdns-nameserversで設定します。/etc/resolv.confは起動時に自動的に変更されます

設定が終わったらセットアップの間、代替サーバーとなっていたVMをシャットダウンしてセットアップしたサーバーに切り替えます

こんなかんじで移行しました。このあとにホームディレクトリのデータを移行などを行なって元気に稼働しております。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください