Vagrant
開発用PCでサービス用仮想環境を簡単に作成する用。
あまり競合がいないポジション?
基本的にはOracleのVirtualBoxを基盤としていて、Hyper-V や VMWare でも動作はするが、全ての機能に対応しているわけでは無かったりする。
例えば、Hyper-VではIPアドレスを設定できなかったり、64bitOSを作れなかったり、
VMWareでは
https://www.beeete2.com/blog/?p=1325
http://blog.memolib.com/memo/639/
Hashicorp社のboxリポジトリ「Atlas」から取得
あまり競合がいないポジション?
基本的にはOracleのVirtualBoxを基盤としていて、Hyper-V や VMWare でも動作はするが、全ての機能に対応しているわけでは無かったりする。
例えば、Hyper-VではIPアドレスを設定できなかったり、64bitOSを作れなかったり、
VMWareでは
https://www.beeete2.com/blog/?p=1325
http://blog.memolib.com/memo/639/
Hashicorp社のboxリポジトリ「Atlas」から取得
UpStart
OnHubでrootを取ったので ChromeOS をちょっと調べてるとUpStartを知った。
Linuxの起動プロセスは init → systemd へ移行するもんかと認識していたが、 sysinit → upstart → systemd な流れのようで、Cent6もupstartみたい。
upstart以降の特徴として下記あたり。
http://coewww.rutgers.edu/www1/linuxclass2012/lessons/startup/upstart.php
/etc/init 以下の設定ファイルを読み込んで、(且つ、後方互換用にrc-sysinit.confも読む)システムの起動/停止や、サービス/タスクの起動/停止、ハードウェアの着脱といったイベントをキャッチして色んなサービスを起動する。
Linuxの起動プロセスは init → systemd へ移行するもんかと認識していたが、 sysinit → upstart → systemd な流れのようで、Cent6もupstartみたい。
upstart以降の特徴として下記あたり。
- サービス起動が(部分的に)並列化できるので起動が早い
- 起動・終了制御が容易
- 異常終了してもUpstartが再起動してくれる。
仕組み
こんな感じhttp://coewww.rutgers.edu/www1/linuxclass2012/lessons/startup/upstart.php
/etc/init 以下の設定ファイルを読み込んで、(且つ、後方互換用にrc-sysinit.confも読む)システムの起動/停止や、サービス/タスクの起動/停止、ハードウェアの着脱といったイベントをキャッチして色んなサービスを起動する。
設定例(デーモン化)
description "説明" author "名前 <メアド>" start on runlevel [(Run Level)] stop on runlevel [(Run Level)] chdir 作業ディレクトリ exec 起動コマンド respawn ★キモ
設定例(スタートアップ設定)
設定反映
$ sudo initctl reload-configuration $ sudo initctl list | grep サービス名
起動
$ sudo initctl start サービス名 killしてみる$ ps axf $ sudo kill 2389 $ sudo initctl list | grep サービス名→ 再起動してる。。 停止
$ sudo initctl stop サービス名その他
initctl check-config: 設定ファイルのチェック initctl reload: kill -HUP します initctl restart: 再起動します
start on 前提イベント ※イベントは定義可能。ジョブ名もイベントになる。 start on started 前提イベント respawn pre-start exec post-start exec stop on exec 単一行コマンド script 複数行スクリプト end script task
Ubuntu17でのネットワーク設定
/etc/network/interfaces ではなく、 /etc/netplan/01-netcfg.yaml で設定するように変わったみたい。
固定IP設定の例
下記で反映
固定IP設定の例
# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens3: dhcp4: no dhcp6: no addresses: [192.168.86.201/24] gateway4: 192.168.86.1 nameservers: addresses: [8.8.8.8,8.8.4.4]
下記で反映
sudo netplan --debug generate sudo netplan apply
Windows Server 2016 ① 〜評価版導入〜
2017年11月6日月曜日
VMWare ESXi
,
WindowsServer2016
VyOS を導入してOpenVPN を導入
外から家のESXiにアクセスするためにOpenVPNを使う。
インターネットアクセスルータでスタティックルーティングを切る必要あり。
VPNトンネル内IP: 10.55.55.0/24
LAN内IP: 192.168.86.0/24
初期ID/PASS= vyos/vyos でログイン。
設定モードへ入ってvyosとrootのパスワードを再設定
なお、commit じゃなくて破棄する場合は
OpenVPNの環境整備のため rootへ昇格。
easy-rsa の環境をデフォルト保持するため、コピーしてから使う。
クライアント用設定ファイルはこんな感じで
自宅ルータでVPNトンネル用(10.55.55.0/24)の静的ルーティングを追加して完了。
最終的にはDHCPサーバは別途構築して、VPN用ルーティング情報も渡してしまおうかと。
構成
OpenVPNサーバは別セグメントを繋ぐルータ的な役割は持たないので 仮想NICは1枚。インターネットアクセスルータでスタティックルーティングを切る必要あり。
VPNトンネル内IP: 10.55.55.0/24
LAN内IP: 192.168.86.0/24
VyOS入手
今回は ovaファイルを入手 して起動。初期ID/PASS= vyos/vyos でログイン。
設定モードへ入ってvyosとrootのパスワードを再設定
vyos@vyos:~$ configure vyos@vyos# set system login user vyos authentication plaintext-password _PASSWORD_ vyos@vyos# set system login user root authentication plaintext-password _PASSWORD_固定IPに変更
vyos@vyos# set interfaces ethernet eth0 address '192.168.86.254/24' vyos@vyos# set interfaces ethernet eth0 description 'MyHome' vyos@vyos# set system gateway-address 192.168.86.1 vyos@vyos# set system name-server '192.168.86.1'タイムゾーン修正とSSHの有効化。
vyos@vyos# set system time-zone 'Asia/Tokyo' vyos@vyos# set service ssh port 22 vyos@vyos# commit vyos@vyos# save
なお、commit じゃなくて破棄する場合は
vyos@vyos# discard
OpenVPNの環境整備のため rootへ昇格。
easy-rsa の環境をデフォルト保持するため、コピーしてから使う。
vyos@vyos# su - Password: root@vyos:~# cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/ /config/easyrsa2 root@vyos:~# cd /config/easyrsa2環境設定用のvarsをあらかじめ修正して読み込む。
root@vyos:/config/easyrsa2# cp vars vars.new root@vyos:/config/easyrsa2# vi vars.newこんな感じ。国など証明書の属性情報と、証明書の有効期限を変更した。
root@vyos:/config/easyrsa2# diff -u vars vars.new --- vars 2015-03-09 23:00:55.000000000 +0900 +++ vars.new 2017-11-01 21:22:20.362047193 +0900 @@ -56,13 +56,13 @@ export CA_EXPIRE=3650 # In how many days should certificates expire? -export KEY_EXPIRE=3650 +export KEY_EXPIRE=365 # These are the default values for fields # which will be placed in the certificate. # Don't leave any of these fields blank. -export KEY_COUNTRY="US" -export KEY_PROVINCE="CA" -export KEY_CITY="SanFrancisco" -export KEY_ORG="Fort-Funston" -export KEY_EMAIL="me@myhost.mydomain" +export KEY_COUNTRY="JP" +export KEY_PROVINCE="Tokyo" +export KEY_CITY="Shibuya" +export KEY_ORG="MyHome" +export KEY_EMAIL="gogadget@myhost.mydomain" root@vyos:/config/easyrsa2# . vars念のため clean-allでキレイにしてから
root@vyos:/config/easyrsa2# ./clean-all認証局/サーバー/クライアントの キー/証明書 を作成
root@vyos:/config/easyrsa2# ./build-ca root@vyos:/config/easyrsa2# ./build-dh root@vyos:/config/easyrsa2# ./build-key-server server root@vyos:/config/easyrsa2# ./build-key clientcrl.pem ファイルを作成するため、もうひとつダミーのクライアントキー/証明書作成の上revoke。
root@vyos:/config/easyrsa2# ./build-key dummy root@vyos:/config/easyrsa2# ./revoke-full dummy
CRLのデフォルト有効期限は30日と短い。有効期限が切れると全部の証明書が使えなくなるので、crl.pemを生成する前に必要に応じて openssl.cnf を修正しとくべき。
default_crl_days= 30
もし、WARNING: No server certificate verification method has been enabled が気になるなら共有キーta.keyも作成。
セキュリティは高くなるが、クライアント側にも保持しないとダメなのでちょっと面倒。
作成したデータを /config/auth/ovpn へ。/config/auth に置いとけばアップデート時も守られるらしい?
セキュリティは高くなるが、クライアント側にも保持しないとダメなのでちょっと面倒。
root@vyos:/config/easyrsa2# openvpn --genkey --secret keys/ta.key
root@vyos:/config/easyrsa2# mkdir /config/auth/ovpn root@vyos:/config/easyrsa2# cd keys root@vyos:/config/easyrsa2/keys# cp ca.crt dh1024.pem server.key server.crt crl.pem ta.key /config/auth/ovpnopenvpnのサーバ用設定をする。
root@vyos:/config/easyrsa2/keys# cd /config/auth/ovpn root@vyos:/auth/config# set interfaces openvpn vtun0 mode 'server' root@vyos:/auth/config# set interfaces openvpn vtun0 protocol udp root@vyos:/auth/config# set interfaces openvpn vtun0 local-port '1194' root@vyos:/auth/config# set interfaces openvpn vtun0 tls ca-cert-file '/config/auth/ovpn/ca.crt' root@vyos:/auth/config# set interfaces openvpn vtun0 tls cert-file '/config/auth/ovpn/server.crt' root@vyos:/auth/config# set interfaces openvpn vtun0 tls dh-file '/config/auth/ovpn/dh1024.pem' root@vyos:/auth/config# set interfaces openvpn vtun0 tls key-file '/config/auth/ovpn/server.key' root@vyos:/auth/config# set interfaces openvpn vtun0 tls crl-file /config/auth/crl.pem root@vyos:/auth/config# set interfaces openvpn vtun0 openvpn-option "tls-auth /config/auth/opvn/ta.key 0" root@vyos:/auth/config# set interfaces openvpn vtun0 openvpn-option "mssfix 1280" root@vyos:/auth/config# set interfaces openvpn vtun0 persistent-tunnel root@vyos:/auth/config# set interfaces openvpn vtun0 server subnet '10.55.55.0/24' root@vyos:/auth/config# set interfaces openvpn vtun0 server push-route '192.168.86.0/24'
クライアント用設定ファイルはこんな感じで
client dev tun remote xxx.yyy.zzz 1194 ca ca.crt cert client.crt key client.key tls-auth ta.key 0 mssfix 1280 comp-lzo verb 3
自宅ルータでVPNトンネル用(10.55.55.0/24)の静的ルーティングを追加して完了。
最終的にはDHCPサーバは別途構築して、VPN用ルーティング情報も渡してしまおうかと。
2017年11月1日水曜日
OpenVPN
,
VMWare ESXi
,
VyOS
,
ネットワーク設定
登録:
投稿
(
Atom
)