ネットワーク周りの設定
前回まででひとまずPCとして最低限のことはできるようになったわけですが、それだけではサーバーとは言えないので、今回からようやく各種機能を実現するソフトウェアの設定にとりかかります。といっても、今回は主にネットワーク絡みの設定をちょちょいとするだけです。具体的には、他のPCから遠隔操作するための設定です。
やることはIPアドレスを固定し、SSHの設定をちょこっとだけ見直すだけです。
IPアドレスの固定
IPアドレスの固定には大別して二種類あります。PC側で固定する方法と、ルータ側からMACアドレス指定で固定する方法です。OSを頻繁に入れ換えたり、ノートパソコンであちこち移動する端末でIPを固定したいのであれば、ルータ側から制御するほうが合理的だと思います。ただルータによってはできないものもあるようです…。今回は据え置きのサーバーで、特にOSを入れ換えたりというのもしませんから、PC側でIPアドレスを固定します。
Ubuntuでは、/etc/network/interfacesを編集し、serviceでnetworkingを再起動させます(参考「UbuntuのIPアドレスをDHCPから固定IPへ変更 | PHPプログラマのバリ・ポジ情報ブログ」)。
参考リンクにあるとおりに設定すればよいのですが、/etc/network/interfacesの記述でこれに一つだけ付け加えます。DNSサーバーのアドレス設定です。多くの場合はルータのアドレスになると思います。我が家の場合は下記です。
dns-nameservers 192.168.1.1
多くのディストリビューションでは、/etc/resolv.confを編集してDNSを指定することになると思いますが、Ubuntu12.04において/etc/resolv.confは手動で設定すべきではない項目とされているらしく、/etc/network/interfacesの内容に従って起動時に/etc/resolv.confが生成される模様です。したがって、/etc/network/interfacesでDNSサーバーを設定せずに/etc/resolv.confのみを書き換えても、再起動時にリセットされてしまうので意味がありません(参考:「Ubuntu 12.04 アップグレードでネット接続不能 | www.hbirds.net」)。
最終的に、/etc/network/interfacesの内容は下記のようになりました(以下は我が家の場合)。
# The loopback network interface
auto loiface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.1
終わったら、
$ sudo service networking stop$ sudo service networking start
でサービスを再起動させて終了です。
SSHサーバー
SSHの用意
IPアドレスを固定したら、遠隔操作を行うためにSSHの設定を行います。ssh(Secure SHell)は通信プロトコルの一種で、通信が暗号化されておりセキュアだとされています。インストール時に導入するソフトでSSHをチェックしていればデフォルトで使用できますが、そうでない場合は$ sudo apt-get install sshなどでインストールします。ちなみにソフトウェアの名前はOpenSSHです。外部ネットワークから特に接続する予定がないのであれば、これといって設定することはありません。このまま使えばOKです。
$ sudo service ssh start
で起動します。
リモートログイン
他のマシンから、端末を開いて
$ ssh ユーザー名@IPアドレス
でログインすることができます。他のマシンがMacやLinuxであれば、標準のターミナルから問題なく入ることができますが、Windowsマシンの場合は自分でSSHクライアント対応のソフトウェアを用意しなくてはいけません。ターミナルソフトを利用するのがもっともお手軽です。私はTera Termを使っていますが、使い方などの詳細はここでは省きます。
外部からログインする場合
自宅内だけでなく、外出先などからもリモートログインして操作を行いたいのであれば、最低限しておくべき設定がいくつかあります。ルートログインの禁止と、パスワード認証の禁止です。sshサーバーは非常に攻撃を受けやすく、パスワード認証の場合、でたらめな値を入れ続けいればいつかは破られてしまいます。ブルートフォース攻撃というやつですね。ただし、パスワード認証をしない場合、鍵認証というものをしなくてはなりません(「SSHで鍵認証を用いて、パスワードなしでログインする方法 : 或る阿呆の記」)
設定ファイルである/etc/ssh/sshd_configファイルをちょちょいと編集します。PermitRootLogin noPasswordAuthentication noとすればOKです。そうしたら、あとはサービスを再起動します。
$ sudo service ssh restart
あとはポート番号とかも変えたりするとなおよいです。SSHサーバーのセキュリティについては、ググればいくつも情報が出てくるので、少しずつ強化していけばよいと思います。
以上で遠隔操作のための手順を終わります。これで自由にいろんな端末から管理できるようになりました。次からようやくメディアサーバーとしての機能をもたせていくことになります。
コメント