時系列は逆になりますが前回の環境構築について紹介します。
今回したいのはpppの確認だけでよいのでできるだけ楽に作れる様にしました。
仮想環境
仮想環境ツールが出来てから簡単に作れるようになりましたが、
それでも新規インストールは面倒くさいものです。
仮想マシンを1からインストールする事もできれば避けたいところです。
なのでvagrantを使います。
また、vagrantは1つのVagrantfileで2サーバ立ち上げる事ができます。
1つのboxで2サーバ上げるつもりでしたが、コマンド1発で2マシン作れるなんて
今回の検証に使わない手は無いですよね。
- vagranit init
- Vagrantfile修正
- vagrant up
でokです。
- Vagrantfile
PS C:\Users\masashi\tools\vagrant\centos> cat .\Vagrantfile | findstr -v "#" Vagrant.configure("2") do |config| config.vm.box = "centos/7" config.vm.define "client" do |centos| centos.vm.hostname = "ppp-client" config.vm.synced_folder ".", "/vagrant", disabled: true centos.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2222 centos.vm.network "private_network", ip: "192.168.33.10" end config.vm.define "server" do |centos| centos.vm.hostname = "ppp-server" config.vm.synced_folder ".", "/vagrant", disabled: true centos.vm.network :forwarded_port, id: "ssh", guest: 22, host: 2223 centos.vm.network "private_network", ip: "192.168.33.11" end end
- 起動
PS C:\Users\masashi\tools\vagrant\centos> vagrant up ==> vagrant: A new version of Vagrant is available: 2.2.6 (installed version: 2.2.5)! ==> vagrant: To upgrade visit: https://www.vagrantup.com/downloads.html Bringing machine 'client' up with 'virtualbox' provider... Bringing machine 'server' up with 'virtualbox' provider... ==> client: Checking if box 'centos/7' version '1905.1' is up to date... (略)
ログイン
sshしようとしたらできませんでした。
調べたら鍵認証なんですね。
いつも1台のみでvagrant sshしてたのであまり意識してませんでした。
2マシンあるので鍵も2つです。
- ssh-config
PS C:\Users\masashi\tools\vagrant\centos> vagrant ssh-config Host client HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile C:/Users/masashi/tools/vagrant/centos/.vagrant/machines/client/virtualbox/private_key # 秘密鍵 IdentitiesOnly yes LogLevel FATAL Host server HostName 127.0.0.1 User vagrant Port 2223 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile C:/Users/masashi/tools/vagrant/centos/.vagrant/machines/server/virtualbox/private_key # 秘密鍵 IdentitiesOnly yes LogLevel FATAL
ログインは
Client・・・localhost:2222
Server・・・localhost:2223
でok。
今回はpppのみの確認なんでpppパッケージインストール以外はなにもやってません。
今回の環境は初めて使いましたがコマンド1発2サーバってかなり便利です。
なにか試したくなったらこの環境を使おうと思います。
同じ構成なら使い回せるのもいいですねえ。
今回はクライアントサーバ構成でしたがサーバのクラスタ検証とかでも役立ちそうです。
おまけ 図面の描画
前回構成図とフロー図を載せましたが、
これはそれぞれ
- nwdiag
- seqdiag
というツールで作成しました。
nwdiagは以前も紹介しましたが、
今回は同シリーズのseqdiagも使って書いてみました。
これらはblockdiagというパッケージの兄弟分です。
構成ファイルからいい感じに整形してくれるので結構気に入ってます。
アウトプットコマンドは割愛します。(公式サイトを確認ください)
- nwdiag
nwdiag { default_fontsize = 16; network vagrant_localnw { address = "192.168.33.0/24" "ppp-client" [address = ".10"]; "ppp-server" [address = ".11"]; } }
- 図面
- seqdiag
seqdiag { // Settings default_fontsize = 16; activation = none; Peer -> Authenticator [label = "Call"]; Peer <- Authenticator [label = "LCP negotiation"]; Peer -> Authenticator [label = "LCP negotiation"]; === LCP Open === Peer <- Authenticator [label = "Challenge"]; Peer <- Authenticator [note = "Challenge(ID, Value) , name"]; Peer <- Peer [note = "Create hash(ID, Value, secret)"]; Peer -> Authenticator [label = "Response"]; Peer -> Authenticator [note = "hash, name"]; Authenticator <- Authenticator [note = "Chack hash"]; Peer <- Authenticator [label = "Access granted"]; Peer <- Authenticator [label = "NCP negotiation"]; Peer -> Authenticator [label = "NCP negotiation"]; === NCP Open === }
- 図面
参考サイト
ブロック図生成ツール blockdiag — blockdiag 1.0 ドキュメント