Ubuntu14.04.2でSoftetherVPNクライアントとPPTPサーバ(1)

いまさらながらにですが、必要があってお名前.com上のVPSにUbuntu14.04の最小インストール～SoftEtherVPNクライアントとPPTPサーバを入れることになったので、その経緯を書いています。

久々にLinuxに触ってることもありますが、ボチボチ嵌りながらやっていたので、一気通貫で読み返すためにもここに記すことにしました。

1. VPS環境とisoイメージの用意
2. Ubuntu14.04最小イメージのインストール
3. ネットワーク設定
4. ssh,ufw
5. SoftetherVPNクライアントのインストール
6. PPTPサーバの設定

５，６についてはこの後(2)のほうで書いていきます。

# VPS環境とisoイメージの用意

お名前.comでVPS(KVM)1GBプランで用意したVPSサーバにUbuntu14.04の最小イメージをインストールします。そんなイメージは標準では用意されていないので、isoファイルを用意し、それをVPSサーバのisoファイルアップロード領域にアップロードしてインストール。という流れです。

[Ubuntu 14.04 LTS(Trusty Tahr) Netboot](http://cdimage.ubuntu.com/netboot/14.04/)に[amd64 - For 64-bit Intel/AMD (x86_64)](http://archive.ubuntu.com/ubuntu/dists/trusty-updates/main/installer-amd64/current/images/netboot/)があるので、その中のmini.isoをダウンロードしてきます。

ダウンロードしたmini.isoを[isoイメージアップロード](http://guide.onamae-server.com/vpskvm/3_14_15_74_2/)を参考にアップロードします。

アップロードが終われば、サーバーコンソールの上のほうにある、「イメージを選択してください」と表示されているドロップボックス（下図参照）
![2015030101.png](https://qiita-image-store.s3.amazonaws.com/0/70884/9e9dc81d-4cd6-8432-6909-725399c6e5a1.png)

にインストール可能なOSの一覧があり、そこに出てきますのでそれを選択して「ディスクを挿入」を押します。アップロードが完了しているのに出てこないときには、一度画面左のサイドメニューにあるサーバーリストに戻ってからもう一度サーバを選択すると現れてくるはずです。

# Ubuntu14.04最小イメージのインストール

isoイメージをアップロードしたら、コントロールパネルからイメージを選択して、再起動！
後は、普通にUbuntuのインストールと同じなので、特に嵌りはなし。
但し、無料期間だったからか、サーバのリソースがやはり足らないのか相当時間がかかった。

言語関連は「日本語」を選択したのですが、お名前.comのコンソールでは何かのメッセージがコンソールに表示されるたびに、日本語はこんな風に化けます。
![20150228001.png](https://qiita-image-store.s3.amazonaws.com/0/70884/27d04936-6d20-d4eb-6780-c6aff246fd2e.png)
そこは、後でsshでTeraTermなどから接続できるようになるまでチト我慢するか、言語をEnglishですませてしまうかですが、ターミナルソフトで接続できるようになるまでにそれほど多くの手順があるわけでないので、自分は文字化け我慢の方向でやりました。

# ネットワーク設定

再起動後、UbuntuのCUIログイン画面が出てきたら、設定したユーザでログインしてからネットワークの基本的な設定を行います。インストール直後はDHCPによるネットワーク設定になっているので、固定IPへの変更を行います。

```bash:
$ sudo vi /etc/network/interfaces

```

```cfg:/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
# loopbackインターフェースは何も変えなくてOK
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
# コメントアウト
#iface eth0 inet dhcp
# 必要事項記述
iface eth0 inet static #固定IPであることを宣言
address 10.0.0.200 #IPアドレス
netmask 255.255.255.0 #ネットマスク
gateway 10.0.0.1 #デフォルトゲートウェイ
dns-nameservers 10.10.10.10 #DNSサーバ
```

いずれもコンソール画面から確認できるアドレス情報（下記赤枠）を参照して記述すればOK
![20150228002.png](https://qiita-image-store.s3.amazonaws.com/0/70884/7e491acd-0ea6-e830-8364-c00223cb40c1.png)

設定を保存したら、インターフェースを再起動します。

```bash:
$ sudo ifdown eth0 && sudo ifup eth0
```

と簡単に書きましたが、以前のように

```bash:
$ sudo service networking restart
```

でいけるはず。。。と思ったらUbuntuに怒られた！で、嵌ってました（笑）。ちゃんとここ[「Ubuntuでネットワーク設定の変更をする」](http://qiita.com/norami_dream/items/e238562a9560b9e2bab2)に書いてあったので助かりました！

適当にgoogleのDNS8.8.8.8等にpingで導通確認して完了。

# sshとufw

このサーバは基本的にCUIで乗り込めればいいので、sshの設定と、必要なポートだけを空けるufwの設定を行います。

sshサーバのインストール

```bash:
$ sudo aptitude -y install openssh-server
.......だらだらとインストール
.......
$ sudo vi /etc/ssh/sshd_config
```

sshサーバの設定。
ポートを9922に変更(22→9922)、rootでのログインは禁止(yes→no)。

```cfg:/etc/ssh/sshd_config

# What ports, IPs and protocols we listen for
Port 9922
....
....
# Authentication:
....
PermitRootLogin no
....
```

```bash:
$ sudo initctl restart ssh
```

ufwの設定

基本全部拒否。先ほど設定したsshのポートだけ空ける。

```bash:
$ sudo ufw enable
$ sudo ufw status
$ sudo ufw default DENY
$ sudo ufw allow 9922

#確認

$sudo ufw status
.....
To                         Action      From
--                         ------      ----
9922                       ALLOW       Anywhere
9922 (v6)                  ALLOW       Anywhere (v6)

```

ここまでで、外部からsshで乗り込めるようになっているはずなので、teraterm等のターミナルソフトで接続を確認して完了。
この項目はそれぞれ
ssh...プレインパスワードではなく公開鍵認証で
ufw...接続頻度の制限、ログ取得の設定
をしていきますが、それらはまた別エントリーで。

参考：[Ubuntu Weekly Recipe 第76回「Ubuntuのソフトウェアファイアウォール：UFWの利用（1）」](http://gihyo.jp/admin/serial/01/ubuntu-recipe/0076?page=2)