paloma blog

NWエンジニアやってます。主に自宅環境のお遊びを書きます。Pythonもちょっと。タイトルは好きなカクテルから。

PPP CHAPをもう一回勉強する 環境構築編

時系列は逆になりますが前回の環境構築について紹介します。

今回したいのはpppの確認だけでよいのでできるだけ楽に作れる様にしました。

仮想環境

仮想環境ツールが出来てから簡単に作れるようになりましたが、
それでも新規インストールは面倒くさいものです。

仮想マシンを1からインストールする事もできれば避けたいところです。
なのでvagrantを使います。

また、vagrantは1つのVagrantfileで2サーバ立ち上げる事ができます。

1つのboxで2サーバ上げるつもりでしたが、コマンド1発で2マシン作れるなんて
今回の検証に使わない手は無いですよね。

  1. vagranit init
  2. Vagrantfile修正
  3. 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つです。

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"];
  }
}
  • 図面

f:id:paloma69:20191025232135p:plain

  • 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 ===
}
  • 図面

f:id:paloma69:20191025231157p:plain

参考サイト

ブロック図生成ツール blockdiag — blockdiag 1.0 ドキュメント

Vagrantで複数台同時起動するマルチマシン設定 | WEB ARCH LABO

vagrantで仮想環境を同時に2台立ち上げる - 煮卵もんすたー