LinuxMint18.3でL2TP/IPSecを使用したVPN接続

※UbuntuGnome16.04でも同じ手順で接続可能なのを確認済み

VPN設定画面にL2TP/IPSecを追加

Mintはリポジトリを追加してインストールする必要がある。

$ sudo -s
# add-apt-repository ppa:nm-l2tp/network-manager-l2tp
# apt update
# apt install network-manager-l2tp
# apt install network-manager-l2tp-gnome

GUIでVPN設定

「設定」の「ネットワーク接続」から追加ボタンでl2tpのVPN接続を追加する。

・接続名を入力
・ゲートウェイを入力
・ユーザー名・パスワードを入力
・IPSecを有効にしてPre-shared keyを入力
・IPSecのAdvancedからAlgorithmsを下記の通り入力
  [Phase1] aes256-sha1-modp2048,aes256-sha1-modp1536
  [Phase2] 3des-sha1-modp3072,3des-sha1-modp2048
  ※この値の調べ方は後述
・PPPのMPPE暗号を使用するをチェック
・MSCHAPv2のみ残してあとはチェック外す

Algorithmを調べる

下記のサイトを参考にike-scan.shを作成し、ike-scanをインストールしてからスクリプトを実行する。結果を解析して適宜Algorithmを入力する。
https://github.com/nm-l2tp/network-manager-l2tp/wiki/Known-Issues#querying-vpn-server-for-its-ikev1-algorithm-proposals
作成したike-scan.shはこちら

一時ファイルの削除

設定は合っているのに何故か接続できない場合は下記のコマンドで一時ファイルを削除すると接続できる場合がある。

# rm -f /etc/ipsec.d/nm-l2tp-ipsec-*.secrets

Ubuntu16.04でplymouthを変更する

1行目を実行すると、インストールされているplymouthから選択する画面が表示され、2行目を実行することでinitramfsが更新されSplash画面が変更される。

sudo update-alternatives --config default.plymouth
sudo update-initramfs -u

Ubuntu17.10のHiDPI対応について

今回のパソコンは解像度が1920×1080で少し画面内のコンテンツが小さく感じる。WindowsやMacOSなら調整も簡単なのだが、GNOME+Xorgは200%からしか設定できないので、ちょっと無理やり対応してみる。

フォントサイズの調整

まず GNOME Tweaks でフォントサイズを調整する。今回は1.1倍にした。

ログイン画面の調整

あと、ログイン画面もなんか小さく感じるので、ログイン画面のユニバーサルアクセスメニューから「大きな文字」を有効にする。

スプラッシュ・スクリーンの拡大

SplashScreenの拡大は1.5倍にしたいので、下記ファイルをubuntu-logo-scale-1.5.scriptとして同じ場所にコピーする。
/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo-scale-2.script

コピーしたら下記箇所を編集して保存する。

# Scale factor
scalefactor = 1.5;

更に下記の通りファイルを編集する。

[script]
ScriptFile=/usr/share/plymouth/themes/ubuntu-logo/ubuntu-logo-scale-1.5.script

Ubuntu16.04でDockerのPostgreSQLをなんとなく動かしてみた

Dockerさわってみた感想

なんとなくのイメージは「imageの取得」→「imageからcontainerの生成」→「containerの開始」←→「containerの停止」が主かな。現在動いているcontainerをimageにしてtarとして保存したり、逆に読み込んでcontainerを作ったりできる。

“docker.io” をインストール。最初に “docker” をインストールしてdockerコマンド実行したらdockerはインストールされていませんて言われた。関係ないソフトらしい。

$ sudo apt-get install docker.io

PostgreSQL9.5のimageの取得。最新が良い場合は “postgres:9.5” の箇所を “postgres” とする。

$ sudo docker image pull postgres:9.5

取得済みのimageを確認する。

$ sudo docker image list

取得済みのimageを削除する。

$ sudo docker image rm postgres:9.5

取得済みのimageからcontainerを生成して実行する。
-dはデーモンとして起動、-eは環境変数を設定、-pはポート転送(ホストの待ち受けポート:コンテナのポート)

$ sudo docker container run -d --name test_postgres -e POSTGRES_PASSWORD=password -p 5432:5432 postgres:9.5

containerのプログラムを実行する。
-itは標準出力をホストと連結する指定。

$ sudo docker container exec -i -t test_postgres /bin/bash

containerの停止。

$ sudo docker container stop test_postgres

containerの再開。

$ sudo docker container start test_postgres

containerの削除。

$ sudo docker container rm test_postgres

実行中のcontainerを確認する。実行中ではないものも表示する場合は-aオプションを使う。

$ sudo docker container list

使用されていないvolumeを一括削除する。

$ sudo docker volume prune

containerで使用しているvolumeなどを調べる。データベースの内容をバックアップしたい場合はvolumeの情報をバックアップする必要がる。

$ sudo docker container inspect test_postgres

UbuntuServer16.04にGNOMEをインストールする

※ UbuntuServerをMinimalインストールした前提の手順です

パッケージ名が分からないので検索してみる。

# apt-cache search GNOME

普通にgnomeだったのでインストール。

# apt-get install gnome

GUIを開始しようとstartxしたらxinitインストールしろって言われた。

# apt-get install xinit

これでstartxでGUIが表示された。

Ubuntu上でLet’sEncrypt証明書のマニュアル発行

さくらレンタルサーバーに「Let’s Encrypt」の無料SSL証明書をインストールするために、Ubuntuでマニュアル発行する手順。

gitをインストール。

# apt-get install git

ローカルにコピーする。

$ git clone https://github.com/letsencrypt/letsencrypt

コピーしたディレクトリに移動。

$ cd letsencrypt/

実行環境を最新にするため、Helpを表示する。

$ ./letsencrypt-auto --help

SSL証明書の発行要求。

$ ./letsencrypt-auto certonly --manual -d [ドメイン名]

なんか色々質問されたりするので適宜入力していく。
Press ENTER to continueと出たら出た結果に記載あるファイルを作成し、本番サーバーのwwwルートに/.well-known/acme-challenge/を作成してその中に配置、Enterキーを押下する。

成功するとCongratulation…と表示され、下記場所に証明書が作成される。
※Rootじゃないと読めない

/etc/letsencrypt/live/[ドメイン名]