Ubuntu 16.04や14.04で静的にDNSのアドレスを設定する。

Ubuntu 16.04 (14.04以降)では、resolv.confが動的に設定されるので、直接、編集するなとその中に書かれている。
$ cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
では、どうすればいいかというと、次のように設定ファイルbaseにnameserverを記述して、再起動すればよい。
$ cat /etc/resolvconf/resolv.conf.d/base 
nameserver 8.8.8.8
参考:
[NEW] Ubuntu 18.04 LTSでのDNSの設定方法
Ubuntu 14.04でDNSサーバやドメインを設定する。

Debian系Linux OS (Ubuntu含む)で静的にIPアドレスを設定する。

/etc/network/interfacesに以下のように記述する。
auto eth0
iface eth0 inet static
  address 192.168.71.10
  netmask 255.255.255.0
  gateway 192.168.71.1

Debian7でDockerを使う

インストールは、このサイトを参照すればOK。
Dockerの基本操作については、 このページが役立つ。

OpenVPNのクライアント用configファイル例

ブリッジ(Tap)接続の例。
# client側ではclientと記述
client

# L3接続ならtun, L2接続ならtap
dev tap

# 通常はudpでいい。tcp over tcpは再送等の問題あり
proto udp

# サーバ名 or IPとport番号
remote server_name 1194

# サーバの名前解決ができないときも、無限にリトライする
# たぶん、デフォルトはこの設定(無限)のはず。
# 上記remote項目で、複数のサーバーを指定している場合、この値が有限時間なら、その時間経過後に次のサーバへの接続を試みる
resolv-retry infinite

# OpenVPN 2.3.2では不要。エラーになる
no bind

# なくても、自動でネゴシエーションすると思うが、サーバー側と同じのを記載するとログにWARNINGがでなくなる
cipher AES-256-GCM

# persistentオプションは、再起動で特権ダウングレードによりアクセスできなくリソースへのアクセスを回避するよう試みる
persist-key
persist-tun

# クライアント認証のためのキーと証明書
ca ca.crt
cert client.crt
key client.key

# HMAC用の共有キー。メッセージが改ざんされていなことを保証するために使用
# 暗号化そのものはメッセージを秘匿するが、改ざんそのものを検出することはできないので、この仕組み(HMAC)で補完
tls-auth ta.key 1

# 圧縮アルゴリズム。サーバ設定にもよるがサーバ側からpushされるので、なくてもいいかも。
comp-lzo

# ログの詳細レベル 
verb 3


【参考】
CentOS6でOpenVPNサーバ構築のための手順

CentOS6および7でOpenVPNサーバ構築のための手順

以下のサイトがかなり分かり易かった。
Amazon Linux 2014.03でもこのとおりに設定して動作した。
なお、上記サイトには、クライアント用のキーを作るために次のコマンド例が出てくる。このclient1を、実際に接続するクライアントの名前に変更した方がよい。
./build-key client1
ちなみに、ta.keyを作成するのは、次のコマンド。
openvpn --genkey --secret ta.key

TAPを使うserver.confの例

port 1194
proto udp
dev tap
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key  # This file should be kept secret
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 172.16.32.1 255.255.255.0 172.16.32.10 172.16.32.100
client-to-client
keepalive 10 120
tls-auth ta.key 0
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
mssfix 1280
up "/etc/openvpn/up.sh
【参考】
OpenVPNのクライアント用configファイル例
CentOS 7でOpenVPNサーバの起動後にスクリプトを実行する。

GnuPG (gpg)でファイルを暗号化・複合化する

キーの作成(最初に一度だけ必要)

下記のコマンドを実行すると、キーの長さなどいくつか、質問されますが、基本的にデフォルトを選択して問題ありません。
$ gpg --gen-key
もし、作成の途中で下記のようなメッセージが表示された場合、他のアプリでキー入力を 伴う作業をキー作成が完了するまで行ってください。例えば、ブラウザでの何か検索したり、エディタで文書を編集します。
passphrase not correctly repeated; try again.
We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

Not enough random bytes available.  Please do some other work to give
the OS a chance to collect more entropy! (Need 274 more bytes)
コマンドが終了して、ホームディレクトリに以下のファルが作成されていば成功です。
$ ls  .gnupg/
gpg.conf  pubring.gpg  pubring.gpg~  random_seed  secring.gpg  trustdb.gpg

暗号化

内容がabc3文字のテキストファイルabc.txtを暗号化してみます。 オプションとして-cと、暗号化するファイル名を指定します。
$ gpg -c abc.txt
そうすると、拡張子として.gpgがついたファイルが生成されています。内容も 暗号化されています。
$ od abc.txt.gpg 
000000 8c 0d 04 03 03 02 5e 31 88 83 af 89 cd 59 60 c9  >......^1.....Y`.<
000010 20 80 6f 47 16 43 6d 29 1d b3 c9 5d 18 4a a7 ce  > .oG.Cm)...].J..<
000020 58 e3 0a 9c 36 d3 e9 69 6d e0 dc 02 99 ca df b3  >X...6..im.......<
000030 85                                               >.<
000031

複合化

複合化は、gpgで暗号化されたファイルを指定するだけです。
$ gpg abc.txt.gpg