$ mysql -uroot [snip] mysql> GRANT USAGE ON *.* TO ''@'localhost';
mysqlでlocalhost上の任意のユーザーにUSAGEを許可する。
autoconfでHeaderやLibraryをテストするコンパイラをC++にする。
すべてのライブラリやヘッダをC++コンパライラでチェックする場合、configure.acにAC_LANG()を記述すればよい。
AC_LANG([C++])ある区間のチェックのみC++コンパイラを使うなら、AC_LANG_PUSH()/POP()が使える。
AC_LANG_PUSH([C++]) AC_CHECK_HEADERS([iostream]) AC_LANG_POP([C++])
Ubuntu 16.04や14.04で静的にDNSのアドレスを設定する。
Ubuntu 16.04 (14.04以降)では、resolv.confが動的に設定されるので、直接、編集するなとその中に書かれている。
[NEW] Ubuntu 18.04 LTSでのDNSの設定方法
Ubuntu 14.04でDNSサーバやドメインを設定する。
$ 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
OpenVPNのクライアント用configファイル例
ブリッジ(Tap)接続の例。
【参考】
CentOS6でOpenVPNサーバ構築のための手順
# 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を、実際に接続するクライアントの名前に変更した方がよい。
OpenVPNのクライアント用configファイル例
CentOS 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
OpenStackのNovaのログ出力をデバッグレベルにする
/etc/nova/nova.confのdebug=行の右辺をTrueにすると出力がデバッグレベルになる。ただし、かなりの量のログが記録されるので注意。
/var/log/nova
# Print debugging output (set logging level to DEBUG instead # of default WARNING level). (boolean value) #debug=false debug=Trueなお、ログは通常以下のディレクトリに作成される。
/var/log/nova
Amazon EC2とOpenStackでUser dataとMeta dataを取得する
EC2でのUser dataの取得方法。
下記の例のようにインスタンスからWebアクセスで取得する。以下ではcurlを使用するが、HTTPでアクセスできる方法であればなんでもOK。
OpenStackでも上記EC2と同じ方法でuser dataとmeta dataを取得できる。さらに次のOpenStack独自のURLも使用可能である。
$ curl http://169.254.169.254/latest/user-data/Meta dataも同様に下記のようにする。
$ curl http://169.254.169.254/latest/meta-data/上記コマンドでは、取得できる項目やディレクトリが表示されるので、それらをURLに指定してGETすることで、その値を取得できる。例えば、ami-idなら、次のとおり。
$ curl http://169.254.169.254/latest/meta-data/ami-id
OpenStackでも上記EC2と同じ方法でuser dataとmeta dataを取得できる。さらに次のOpenStack独自のURLも使用可能である。
$ curl http://169.254.169.254/openstack/latest/user_data $ curl http://169.254.169.254/openstack/latest/meta_data.json他にも、passowrdとvendor_data.jsonも取得可能。
$ curl http://169.254.169.254/openstack/latest meta_data.json user_data password vendor_data.jsonなお、169.254.169.254への通信ができない場合は、こちらの記事も参照。
OpenStackのGatewayのないネットワーク上のVMでuser dataとmeta data取得の為のrouteを設定する
OpenStackでは、AWS EC2と同様に169.254.169.254にhttpでアクセスできる。
Gatewayが設定されていないSubnetに接続されているゲストマシンから、それらの情報を取得するには次の設定をする。なお、構成としてNeutronを使用していることを前提とする。
Gatewayが設定されていないSubnetに接続されているゲストマシンから、それらの情報を取得するには次の設定をする。なお、構成としてNeutronを使用していることを前提とする。
- /etc/neutron/dhcp_agent.iniに次の設定をする。
enable_isolated_metadata = True
- neutron-dhcp-agentが実行されているマシン(いわゆるNetwork node)をリスタートする。
なお、下記のようにdhcp agentの再起動だけでよさそうにも思えるが、RDO(Havana)ではうまく行かなかった。# service neutron_dhcp_agent restart
設定が正常に反映された場合、dnsmasqの--dhcp-optsfileに指定されている設定ファイルの内容は、次のように169.254.169.254への静的ルートを含む。# cat /var/lib/neutron/dhcp/04911b6c-d75a-4744-b604-c99a342ca95f/opts tag0,option:classless-static-route,169.254.169.254/32,192.168.150.101 tag0,249,169.254.169.254/32,192.168.150.101
- ゲストマシンの起動 ゲストOSのrouteコマンドでrouting tableを確認すると、169.254.169.254が設定されていることが分かる。
$ route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 169.254.169.254 192.168.150.101 255.255.255.255 UGH 0 0 0 eth0 192.168.150.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
nova-manageの基本コマンド
VMの一覧を表示。どのcompute node上で実行されているかを知ることができる。
# nova-manage vm listホスト(compute node)の一覧表示
# nova-manage host list
AWSで作成したキー(pem)を使ってsshでログインする
キーペア作成時にダウンロードした秘密鍵をamazon.pemとし、~/.sshに保存してあるとする。
他のユーザーが読める状態だとsshが警告やエラーを出す場合があるので、変更する。
他のユーザーが読める状態だとsshが警告やエラーを出す場合があるので、変更する。
$ chmod 600 .ssh/amazon.pemそれを秘密鍵として指定し、eu2-userでログインする。
ssh -i .ssh/amazon.pemなお、IP_addressには、EC2コンソールのPublic IP列の値を指定する。-l ec2-user IP_address
登録:
投稿 (Atom)