表題の通りRedhat系ではyum grouplistを使うとGNOMEなどまとめてインストールできる。ubuntuで同じようなコマンドないかなぁと思って探したらtaskselってのがあった。
コマンド打つとこんな感じ。
まとめて入れれて便利
2016年6月3日金曜日
2016年5月20日金曜日
UbuntuにOpenVPNをインストールしてiPadから接続したい(iPad編)
OpenVPNでiPadからVPNをつなぐ野望。その野望を叶えるために利用するのはこのアプリ。OpenVPNによるOpenVPNのためのアプリ。
このアプリにOpenVPNのクライアント設定ファイルをインポートさせるために、ovpnファイルを作る。中はこんな感じ。
これでiPadからVPN接続できる!
このアプリにOpenVPNのクライアント設定ファイルをインポートさせるために、ovpnファイルを作る。中はこんな感じ。
tls-client client proto udp dev tun0 nobind persist-key persist-tun verb 3 pull comp-lzo reneg-sec 3600 remote (VPNサーバのIPアドレス) (VPNサーバのポート) ns-cert-type server key-direction 1 <ca> -----BEGIN CERTIFICATE----- オレオレCA証明書 -----END CERTIFICATE----- </ca> <cert> -----BEGIN CERTIFICATE----- クライアント証明書 -----END CERTIFICATE----- </cert> <key> -----BEGIN PRIVATE KEY----- クライアント認証鍵 -----END PRIVATE KEY----- </key> <tls-auth> -----BEGIN OpenVPN Static key V1----- TLS認証鍵 -----END OpenVPN Static key V1----- </tls-auth>これをメールでもiTunes経由でもいいのでアプリにインポートして接続するだけ!
これでiPadからVPN接続できる!
2016年5月19日木曜日
UbuntuにOpenVPNをインストールしてiPadから接続したい(サーバ設定)
まぁ、色々と試行錯誤しなから少しずつサーバを育ているわけですが、今回はさくらVPSで動いているサーバにVPNで接続したいなと思いインストールしてみた。
ちなみに最終目標はタイトル通りiPadからVPN接続ができることです。
まずはOpenVPNのパッケージをインストール。
1. オレオレ認証局を作る(認証局と証明書)
まずは認証局の情報を設定するために、初期設定されたディレクトリとファイルを作成する。
2. オレオレ認証局に認証されたサーバ証明書と秘密鍵を作成する
さっそくサーバ証明書と秘密鍵を作成しよう。
3. 暗号化に使用するDiffie-Hellman用パラメータを作成する
/etc/openvpn/easy-rsa/build-dhを実行する。
4. オレオレ認証局に認証されたクライアント証明書と公開鍵を作成する
クイアント証明書と鍵を作成する。
5. OpenVPNの設定・起動
OpenVPNサーバの設定をするのでサンプルのconfigファイルを/etc/openvpn配下に持って来て編集する。
疲れた。iPad(iOS)から繋げるのは次回。
ちなみに最終目標はタイトル通りiPadからVPN接続ができることです。
まずはOpenVPNのパッケージをインストール。
$ apt-get install openvpn パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libpkcs11-helper1 提案パッケージ: easy-rsa 以下のパッケージが新たにインストールされます: libpkcs11-helper1 openvpn アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 0 個。 462 kB のアーカイブを取得する必要があります。 この操作後に追加で 1,163 kB のディスク容量が消費されます。 続行しますか? [Y/n] y提案されたeasy-rsaも追加でインストールする。easy-rsaをインストールする際にもpcmciautilsを提案されたので面倒くさいから--install-suggestsをつけて実行する。
$ apt-get install --install-suggests easy-rsa パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の追加パッケージがインストールされます: libccid opensc opensc-pkcs11 pcmciautils pcscd 以下のパッケージが新たにインストールされます: easy-rsa libccid opensc opensc-pkcs11 pcmciautils pcscd アップグレード: 0 個、新規インストール: 6 個、削除: 0 個、保留: 0 個。 1,108 kB のアーカイブを取得する必要があります。 この操作後に追加で 3,949 kB のディスク容量が消費されます。 続行しますか? [Y/n] yこの後実行する手順はこんな感じ。
- オレオレ認証局を作る(認証局と証明書)
- オレオレ認証局に認証されたサーバ証明書と秘密鍵を作成する
- 暗号化に使用するDiffie-Hellman用パラメータを作成する
- オレオレ認証局に認証されたクライアント証明書と公開鍵を作成する
- OpenVPNの設定・起動
1. オレオレ認証局を作る(認証局と証明書)
まずは認証局の情報を設定するために、初期設定されたディレクトリとファイルを作成する。
$ make-cadir /etc/openvpn/easy-rsa/etc/openvpn/easy-rsa/varsの中に認証局のドメインや組織情報などを環境変数に設定してあるので編集する。
export EASY_RSA="/etc/openvpn/easy-rsa" #設定用のホームディレクトリ export KEY_COUNTRY="JP" export KEY_PROVINCE="OSAKA" export KEY_CITY="Minato-ku, Osaka" export KEY_ORG="High Mountain" export KEY_EMAIL="master@highmountain-lab.net" export KEY_OU="WEB Development Dept."環境変数を読み込み、オレオレ認証局を作成する。
$ source /etc/openvpn/easy-rsa/vars NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys $ /etc/openvpn/easy-rsa/clean-all $ /etc/openvpn/easy-rsa/build-ca Generating a 2048 bit RSA private key .................................................................................+++ ....+++ writing new private key to 'ca.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [JP]: State or Province Name (full name) [OSAKA]: Locality Name (eg, city) [Minato-ku, Osaka]: Organization Name (eg, company) [High Mountain]: Organizational Unit Name (eg, section) [WEB Development Dept.]: Common Name (eg, your name or your server's hostname) [High Mountain CA]: Name [EasyRSA]: Email Address [master@highmountain-lab.net]:これで認証局の証明書(ca.crt)と秘密鍵(ca.key)が/etc/openvpn/easy-rsa/keys配下に作成される。
2. オレオレ認証局に認証されたサーバ証明書と秘密鍵を作成する
さっそくサーバ証明書と秘密鍵を作成しよう。
$ /etc/openvpn/easy-rsa/build-key-server LubuntuSakura Generating a 2048 bit RSA private key .........................................................+++ ................................+++ writing new private key to 'LubuntuSakura.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [JP]: State or Province Name (full name) [OSAKA]: Locality Name (eg, city) [Minato-ku, Osaka]: Organization Name (eg, company) [High Mountain]: Organizational Unit Name (eg, section) [WEB Development Dept.]: Common Name (eg, your name or your server's hostname) [LubuntuSakura]: Name [EasyRSA]: Email Address [master@highmountain-lab.net]: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'JP' stateOrProvinceName :PRINTABLE:'OSAKA' localityName :PRINTABLE:'Minato-ku, Osaka' organizationName :PRINTABLE:'High Mountain' organizationalUnitName:PRINTABLE:'WEB Development Dept.' commonName :PRINTABLE:'LubuntuSakura' name :PRINTABLE:'EasyRSA' emailAddress :IA5STRING:'master@highmountain-lab.net' Certificate is to be certified until May 15 18:40:00 2026 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base Updated同じようにこれでサーバ証明書(LubuntuSakura.crt)と秘密鍵(LubuntuSakura.key)が/etc/openvpn/easy-rsa/keys配下に作成される。
3. 暗号化に使用するDiffie-Hellman用パラメータを作成する
/etc/openvpn/easy-rsa/build-dhを実行する。
$ /etc/openvpn/easy-rsa/build-dh Generating DH parameters, 2048 bit long safe prime, generator 2 This is going to take a long time .........................................................................+...........................................................................................................+.............................................................................................................................................+.............................+......................................+...............+...................................................................................................................鍵作成されると、/etc/openvpn/easy-rsa/keys/dh2048.pemが作成される。
4. オレオレ認証局に認証されたクライアント証明書と公開鍵を作成する
クイアント証明書と鍵を作成する。
# /etc/openvpn/easy-rsa/build-key LubuntuServerClient Generating a 2048 bit RSA private key ...........+++ ...................................................................................................+++ writing new private key to 'LubuntuServerClient.key' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [JP]: State or Province Name (full name) [OSAKA]: Locality Name (eg, city) [Minato-ku, Osaka]: Organization Name (eg, company) [High Mountain]: Organizational Unit Name (eg, section) [WEB Development Dept.]: Common Name (eg, your name or your server's hostname) [LubuntuServerClient]: Name [EasyRSA]: Email Address [master@highmountain-lab.net]: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Using configuration from /etc/openvpn/easy-rsa/openssl-1.0.0.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'JP' stateOrProvinceName :PRINTABLE:'OSAKA' localityName :PRINTABLE:'Minato-ku, Osaka' organizationName :PRINTABLE:'High Mountain' organizationalUnitName:PRINTABLE:'WEB Development Dept.' commonName :PRINTABLE:'LubuntuServerClient' name :PRINTABLE:'EasyRSA' emailAddress :IA5STRING:'master@highmountain-lab.net' Certificate is to be certified until May 16 05:23:40 2026 GMT (3650 days) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y Write out database with 1 new entries Data Base UpdatedTLS認証鍵を作成する。
$ openvpn --genkey --secret /etc/openvpn/easy-rsa/keys/tls.key下記の4ファイルをクライアント用に使用する。
ca.crt LubuntuServerClient.crt LubuntuServerClient.key ta.key
5. OpenVPNの設定・起動
OpenVPNサーバの設定をするのでサンプルのconfigファイルを/etc/openvpn配下に持って来て編集する。
$ cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/ $ gunzip server.conf.gzserver.confは下記の部分を編集する。
port 1194 proto udp ca /etc/openvpn/easy-rsa/keys/ca.crt cert /etc/openvpn/easy-rsa/keys/LubuntuSakura.crt key /etc/openvpn/easy-rsa/keys/LubuntuSakura.key dh /etc/openvpn/easy-rsa/keys/dh2048.pem server 10.8.0.0 255.255.255.0 push "dhcp-option DNS 8.8.8.8" push "dhcp-option DNS 8.8.4.4" client-to-client tls-auth /etc/openvpn/easy-rsa/keys/tls.key 0 user nobody group nogroup status /var/log/openvpn-status.log log-append /var/log/openvpn.logここでOpenVPNだけstartしたら
Activation: failed for connection '有線接続 1'とsyslogに出力され、うまく起動しなかったのでrebootしたらうまく起動された。
疲れた。iPad(iOS)から繋げるのは次回。
2016年5月17日火曜日
Ubuntu15.10から16.04へアップグレード
さくらVPSで使っているUbuntu15.10からリリースされた16.04へアップグレードしようとした。
パッケージリストの更新をしてから
OSアップグレードを実行する。
SSH経由でやると何かあった時に接続できなくなるから止めとけよと脅されたのでビビって"N"と押した。
なのでコンソールから直接実行してみる。/bootの容量もないのでapt-get autoremove --pergeを実行し、/bootの容量をあけるためにこうする。
もう一度実行。
パッケージリストの更新をしてから
$ apt update
OSアップグレードを実行する。
$ do-release-upgrade 新しい Ubuntu のリリースをチェックしています 0% [作業中] 0% [jp.archive.ubuntu.com (160.26.2.187) へ接続しています] 0% [ヘッダの待機中です] 取得:1 ツールの署名のアップグレード [198 B] 99% [作業中] 99% [ヘッダの待機中です] 取得:2 ツールのアップグレード [1,265 kB] 100% [作業中] 1,265 kバイト/0秒 を取得しました (0 B/秒) 「xenial.tar.gz.gpg」を用いて「xenial.tar.gz」の認証を行ないます 'xenial.tar.gz' の展開中 キャッシュを読み込み中 パッケージマネージャーをチェック中です SSH経由で実行していますが、続けますか? このセッションはSSH上で実行されているようです。アップグレードをSSH越しに行うことは推奨されません。アップグレードに失敗した時の復元が困難になるからです。 続行する場合、追加のSSHデーモンをポート '1022' で起動します。 本当に作業を進めてよろしいですか? 続行する[yN] N
SSH経由でやると何かあった時に接続できなくなるから止めとけよと脅されたのでビビって"N"と押した。
なのでコンソールから直接実行してみる。/bootの容量もないのでapt-get autoremove --pergeを実行し、/bootの容量をあけるためにこうする。
$ apt-get autoremove --purge
もう一度実行。
$ do-release-upgrade
$ cat /etc/issue Ubuntu 16.04 LTS \n \l確認してバージョンアップされていれば完了。
2016年5月7日土曜日
Bash on Ubuntu on Windowsのnetwork周りはまだまだだった(build14332)
Bash on Ubuntu on Windowsを触ってみたんだけど、どの程度までできるものなのかApacheをコンパイルして起動させてみるとこまでやってみたいと思う。
Bash on Ubuntu on Windows10を試すの時はPowerShellから起動して...みたいなことを書いていたけども、スタートメニューにBash on Ubuntu on Windowsってのが増えてたので、こちらから起動する。
開けたらこんな感じ。ディレクトリもLinuxになってる。rootも可。
IP調べようと思ったらifconfigでエラーが出た。
一応、networkをスタートしてみたもののエラーが出た。
そこで同じようなエラーが出てる人がいて解決できたよってあるので参考にしてみた。
名前解決できないからDNSをGoogleDNSに向けてねってあったので向けてみた。
さてもう一度networkをstartした結果。
resolveconfのエラーは出なくなったけどsocketのエラーはそのまま。
BashのMSDNにあるFrequently Asked Questionsには
ちなみにUbuntu on Windowsのウィンドウを閉じると、今の時点ではさっきのresolve.confへの変更は取り消されます。
手元のbuildは14332だけどrelease noteをみるとresolve.confをマシにしたとあるので、こまめにアップデートして確認できればいいかな。
まだ問題はあるけどプロダクトとしては非常に面白い。VirtualBoxやVMwareを使わずに手軽に動かせる環境として使えそう。
Bash on Ubuntu on Windows10を試すの時はPowerShellから起動して...みたいなことを書いていたけども、スタートメニューにBash on Ubuntu on Windowsってのが増えてたので、こちらから起動する。
開けたらこんな感じ。ディレクトリもLinuxになってる。rootも可。
IP調べようと思ったらifconfigでエラーが出た。
$ ifconfig Warning: cannot open /proc/net/dev (No such file or directory). Limited output.
一応、networkをスタートしてみたもののエラーが出た。
$ /etc/init.d/networking start * Configuring network interfaces... resolvconf: Error: /run/resolvconf/interface either does not exist or is not a directory resolvconf: Error: /run/resolvconf/interface either does not exist or is not a directory ../../../../lib/isc/unix/socket.c:2379: setsockopt(20, SO_TIMESTAMP) failed: Invalid argument ../../../../lib/isc/unix/socket.c:2379: setsockopt(21, SO_TIMESTAMP) failed: Invalid argument ../../../../lib/isc/unix/socket.c:2408: setsockopt(21, IPV6_RECVPKTINFO) failed: Invalid argument ../../../../lib/isc/unix/socket.c:5678: setsockopt(21, IPV6_V6ONLY) failed: Invalid argument
そこで同じようなエラーが出てる人がいて解決できたよってあるので参考にしてみた。
名前解決できないからDNSをGoogleDNSに向けてねってあったので向けてみた。
search web.setting #nameserver 192.168.128.1 #nameserver 192.168.128.1 #nameserver 192.168.2.1 nameserver 8.8.8.8 nameserver 8.8.4.4
さてもう一度networkをstartした結果。
$ /etc/init.d/networking start * Configuring network interfaces... ../../../../lib/isc/unix/socket.c:2379: setsockopt(20, SO_TIMESTAMP) failed: Invalid argument ../../../../lib/isc/unix/socket.c:2379: setsockopt(21, SO_TIMESTAMP) failed: Invalid argument ../../../../lib/isc/unix/socket.c:2408: setsockopt(21, IPV6_RECVPKTINFO) failed: Invalid argument ../../../../lib/isc/unix/socket.c:5678: setsockopt(21, IPV6_V6ONLY) failed: Invalid argument Internet Systems Consortium DHCP Client 4.2.4 Copyright 2004-2012 Internet Systems Consortium. All rights reserved. For info, please visit https://www.isc.org/software/dhcp/ Error getting interfaces; Invalid argument Can't get list of interfaces. Failed to bring up eth0.
resolveconfのエラーは出なくなったけどsocketのエラーはそのまま。
BashのMSDNにあるFrequently Asked Questionsには
Why isn't ICMP working?とあるので、少し待ち。
This is a known issues that will effect several networking commands such as ping. Stay tuned for updates.
(pingみたいなnetwork周りのコマンドは問題あること分かってるからupdateを待っててね)
ちなみにUbuntu on Windowsのウィンドウを閉じると、今の時点ではさっきのresolve.confへの変更は取り消されます。
手元のbuildは14332だけどrelease noteをみるとresolve.confをマシにしたとあるので、こまめにアップデートして確認できればいいかな。
まだ問題はあるけどプロダクトとしては非常に面白い。VirtualBoxやVMwareを使わずに手軽に動かせる環境として使えそう。
2016年5月6日金曜日
Bash on Ubuntu on Windows10を試す
WindowsのプレビュービルドにてWindows10上でUbuntuが実行できる環境がβ版として提供されているので、少し試してみた。
WindowsのOSバージョンはBuild 14332.1001だ。
「コントロールパネル」から「プログラム」、「Windows機能の有効化または無効化」を選択し、「Windows Subsystem for Linux(Beta)」にチェックを入れる。
「今すぐ再起動」を押し再起動させる。
再起動後、スタートメニューから「Windows PowerShell」を実行する。
ここでbashと入力すると環境のインストールが開始される。
設定するユーザ名やパスワードが聞かれるので適当に決めて入力しよう。
試しにapt-getでupdateしてみる。
割とそれなりに使えそうです。正式リリースの際にはどの程度になっているか楽しみですね。
WindowsのOSバージョンはBuild 14332.1001だ。
「コントロールパネル」から「プログラム」、「Windows機能の有効化または無効化」を選択し、「Windows Subsystem for Linux(Beta)」にチェックを入れる。
「今すぐ再起動」を押し再起動させる。
再起動後、スタートメニューから「Windows PowerShell」を実行する。
ここでbashと入力すると環境のインストールが開始される。
設定するユーザ名やパスワードが聞かれるので適当に決めて入力しよう。
試しにapt-getでupdateしてみる。
割とそれなりに使えそうです。正式リリースの際にはどの程度になっているか楽しみですね。