HomeServer23
の編集
index.php?HomeServer23
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
-- 雛形とするページ --
(no template pages)
#contents(): ** 設計方針 [#o0aec74c] - VPN ([[SoftEther:https://ja.softether.org/]]) サーバーは接続させるマシンとは別 IP アドレスである必要がある - [[Intel NUC BOXNUC5CPYH (Celeron N3050):https://ark.intel.com/content/www/jp/ja/ark/products/85254/intel-nuc-kit-nuc5cpyh.html]] で実行していたが故障した - 「Your Hardware Enablement Stack (HWE) is supported until April 2019」というメッセージも出ていて HW的には運用限界だろう - 別の物理マシンを用意するのではなく、メインマシン上に KVM を動かし、VPN サーバーを仮想マシンとして動かす - このためメインマシンの既存サービス(Samba、Apache2、TV録画 等)はそのまま動かしたまま KVM 上で VPN サーバーだけを仮想マシンとして追加 - 当然 NPV サーバーは外部からのアクセスを受け付ける必要があり、KVM ホストとの通信も必要 - ゲストOS にはメインマシンと同じ IP セグメント (=192.168.1.x) を振り当てる ** ホストマシンのネットワーク設定 [#o33322a0] *** VM インストール直後のデフォルトネットワーク構成 [#j796758c] -- &ref(kvm_def_net.jpg); munakata@mvc:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute enp5s0 valid_lft forever preferred_lft forever inet6 fe80::692:26ff:fe5c:c315/64 scope link valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff munakata@mvc:~$ brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254004ab1a9 yes virbr0-nic munakata@mvc:~$ nmcli device DEVICE TYPE STATE CONNECTION enp5s0 ethernet 接続済み netplan-enp5s0 virbr0 bridge 接続済み virbr0 lo loopback 管理無し -- virbr0-nic tun 管理無し -- *** ゲストOSに同一セグメントIPを振れるようにブリッジ構成にする [#kf6cf88b] -- &ref(kvm_def_new.jpg); *** 新規に br0 を定義する [#ob6b1cf3] munakata@mvc:~$ nmcli device DEVICE TYPE STATE CONNECTION enp5s0 ethernet 接続済み netplan-enp5s0 virbr0 bridge 接続済み virbr0 lo loopback 管理無し -- virbr0-nic tun 管理無し -- munakata@mvc:~$ nmcli connection add type bridge ifname br0 接続 'bridge-br0' (cfcf64fa-3d14-4194-8352-ca74b4b20dd3) が正常に追加されました。 munakata@mvc:~$ nmcli device DEVICE TYPE STATE CONNECTION enp5s0 ethernet 接続済み netplan-enp5s0 virbr0 bridge 接続済み virbr0 br0 bridge 接続中 (IP 設定を取得中) bridge-br0 lo loopback 管理無し -- virbr0-nic tun 管理無し -- *** br0 のスパンニングツリー(ループ回避の為の冗長プロトコル)を無効にする [#e8c8d0a4] munakata@mvc:~$ nmcli connection show bridge-br0 | grep bridge.stp bridge.stp: はい munakata@mvc:~$ nmcli connection modify bridge-br0 bridge.stp no munakata@mvc:~$ nmcli connection show bridge-br0 | grep bridge.stp bridge.stp: いいえ *** bridge-br0のIPアドレス、ゲートウェイ、DNSサーバの設定 [#ca0eded2] nmcli connection modify bridge-br0 ipv4.method manual ipv4.addresses "192.168.11.8/24" ipv4.gateway "192.168.11.1" ipv4.dns 192.168.11.1 *** ブリッジbridge-br0にデバイスenp5s0を接続タイプbridge-slaveとして追加 [#w13bf0e4] munakata@mvc:~$ nmcli connection add type bridge-slave ifname enp5s0 master bridge-br0 接続 'bridge-slave-enp5s0' (317c09b2-e7a4-409d-906b-4e12450344b4) が正常に追加されました。 *** 変更後の設定を確認 [#z896aa1f] munakata@mvc:~$ nmcli connection show NAME UUID TYPE DEVICE bridge-br0 cfcf64fa-3d14-4194-8352-ca74b4b20dd3 bridge br0 bridge-slave-enp5s0 317c09b2-e7a4-409d-906b-4e12450344b4 ethernet enp5s0 virbr0 f93e94e4-980a-4a45-9ccd-668fcdb7130a bridge virbr0 netplan-enp5s0 85b48279-9901-3522-93a4-380f40958535 ethernet -- munakata@mvc:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000 link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff 3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute br0 valid_lft forever preferred_lft forever inet6 fe80::8024:bc4f:d6e5:c348/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff ** KVM インストール [#f107e348] *** 必要なパッケージ群をインストール [#h63c85dd] munakata@mvc:~$ sudo apt install -y qemu-kvm libvirt0 libvirt-bin virt-manager libguestfs-tools *** munakata が libvirt グループに追加された( sudo 無しで virsh 等が実行できる ) [#z0563a83] munakata@mvc:~$ cat /etc/group | grep libvirt libvirt:x:131:munakata libvirt-qemu:x:64055:libvirt-qemu libvirt-dnsmasq:x:132: *** 仮想マシンの iso ファイルの準備と virsh にプールを登録 [#w67f13a0] - iso ファイルプールを作成しファイルを配置 munakata@mvc:~$ sudo mkdir /var/lib/libvirt/isos munakata@mvc:~$ sudo mv ~/Downloads/ubuntu-20.04-live-server-amd64.iso /var/lib/libvirt/isos/ - iso ファイルのオーナーを変更 munakata@mvc:~$ sudo chown libvirt-qemu:libvirt /var/lib/libvirt/isos/ubuntu-20.04-live-server-amd64.iso munakata@mvc:~$ ls -l /var/lib/libvirt/isos/ 合計 929796 -rw-rw-r-- 1 libvirt-qemu libvirt 952107008 6月 22 10:27 ubuntu-20.04-live-server-amd64.iso - kvm に iso ファイルプールを登録 (virt-manager のGUIからも設定は可能) munakata@mvc:~$ virsh pool-define-as isos dir - - - - /var/lib/libvirt/isos Pool isos defined munakata@mvc:~$ virsh pool-autostart isos Pool isos marked as autostarted munakata@mvc:~$ virsh pool-start isos Pool isos started *** 参考 URL [#c39b0974] - [[Ubuntu 18.04: 仮想化のKVMをインストールする:https://www.hiroom2.com/2018/05/11/ubuntu-1804-kvm-ja/]] ** virt-manager を使って仮想マシンをインストール [#f310e858] *** CPU の仮想化支援機構が無効になっている場合にはエラーが出る → BIOS メニューで有効にする [#xdee11b0] - 警告: KVM が利用できません と出る時は BIOS で CPU の仮想化支援機構が無効になっている - &ref(kvm_no_support.jpg); *** KVMのゲストOSをブリッジに接続する (ゲストOSのインターフェース vnet0 を virtbr0 から br0 に切り替える) [#b19f83b8] - 変更前 munakata@mvc:~$ brctl show bridge name bridge id STP enabled interfaces br0 8000.0492265cc315 no enp5s0 virbr0 8000.5254004ab1a9 yes virbr0-nic *** 参考 URL [#c8a26f89] - [[KVMでゲストOSをブリッジ接続する:https://qiita.com/yoshiyasu1111/items/8d07a4fd55116fba07f7]] - [[Ubuntu 18.04: bridgeインターフェースの設定:https://www.hiroom2.com/2018/05/08/ubuntu-1804-bridge-ja/]] ** virtsh を使った仮想マシンの操作 [#ue25dc87] *** 代表的なコマンド [#y4d37c41] |No|コマンド|処理内容|h |1|vm の一覧表示|virsh list (--all)| |2|vm の起動|virsh start ドメイン名| |3|vm の停止|virsh shutdown ドメイン名| |4|vm のリセット(強制停止)|virsh reset ドメイン名| |5|vm の一時停止|virsh suspend ドメイン名| |6|vm の再開|virsh resume ドメイン名| |7|vm のリネーム|virsh domrename ドメイン名| |8|vm の設定変更(xml ファイルの編集)|virsh edit ドメイン名| |9||| *** 仮想マシンに対するコンソール接続 [#c93ecb78] -- カーネル起動パラメータに console パラメータの指定が必要 -- パラメータがなくフリーズした場合などには [CTRL]+] で元のシェルに戻る(=エスケープ) - -
タイムスタンプを変更しない
#contents(): ** 設計方針 [#o0aec74c] - VPN ([[SoftEther:https://ja.softether.org/]]) サーバーは接続させるマシンとは別 IP アドレスである必要がある - [[Intel NUC BOXNUC5CPYH (Celeron N3050):https://ark.intel.com/content/www/jp/ja/ark/products/85254/intel-nuc-kit-nuc5cpyh.html]] で実行していたが故障した - 「Your Hardware Enablement Stack (HWE) is supported until April 2019」というメッセージも出ていて HW的には運用限界だろう - 別の物理マシンを用意するのではなく、メインマシン上に KVM を動かし、VPN サーバーを仮想マシンとして動かす - このためメインマシンの既存サービス(Samba、Apache2、TV録画 等)はそのまま動かしたまま KVM 上で VPN サーバーだけを仮想マシンとして追加 - 当然 NPV サーバーは外部からのアクセスを受け付ける必要があり、KVM ホストとの通信も必要 - ゲストOS にはメインマシンと同じ IP セグメント (=192.168.1.x) を振り当てる ** ホストマシンのネットワーク設定 [#o33322a0] *** VM インストール直後のデフォルトネットワーク構成 [#j796758c] -- &ref(kvm_def_net.jpg); munakata@mvc:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute enp5s0 valid_lft forever preferred_lft forever inet6 fe80::692:26ff:fe5c:c315/64 scope link valid_lft forever preferred_lft forever 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff munakata@mvc:~$ brctl show bridge name bridge id STP enabled interfaces virbr0 8000.5254004ab1a9 yes virbr0-nic munakata@mvc:~$ nmcli device DEVICE TYPE STATE CONNECTION enp5s0 ethernet 接続済み netplan-enp5s0 virbr0 bridge 接続済み virbr0 lo loopback 管理無し -- virbr0-nic tun 管理無し -- *** ゲストOSに同一セグメントIPを振れるようにブリッジ構成にする [#kf6cf88b] -- &ref(kvm_def_new.jpg); *** 新規に br0 を定義する [#ob6b1cf3] munakata@mvc:~$ nmcli device DEVICE TYPE STATE CONNECTION enp5s0 ethernet 接続済み netplan-enp5s0 virbr0 bridge 接続済み virbr0 lo loopback 管理無し -- virbr0-nic tun 管理無し -- munakata@mvc:~$ nmcli connection add type bridge ifname br0 接続 'bridge-br0' (cfcf64fa-3d14-4194-8352-ca74b4b20dd3) が正常に追加されました。 munakata@mvc:~$ nmcli device DEVICE TYPE STATE CONNECTION enp5s0 ethernet 接続済み netplan-enp5s0 virbr0 bridge 接続済み virbr0 br0 bridge 接続中 (IP 設定を取得中) bridge-br0 lo loopback 管理無し -- virbr0-nic tun 管理無し -- *** br0 のスパンニングツリー(ループ回避の為の冗長プロトコル)を無効にする [#e8c8d0a4] munakata@mvc:~$ nmcli connection show bridge-br0 | grep bridge.stp bridge.stp: はい munakata@mvc:~$ nmcli connection modify bridge-br0 bridge.stp no munakata@mvc:~$ nmcli connection show bridge-br0 | grep bridge.stp bridge.stp: いいえ *** bridge-br0のIPアドレス、ゲートウェイ、DNSサーバの設定 [#ca0eded2] nmcli connection modify bridge-br0 ipv4.method manual ipv4.addresses "192.168.11.8/24" ipv4.gateway "192.168.11.1" ipv4.dns 192.168.11.1 *** ブリッジbridge-br0にデバイスenp5s0を接続タイプbridge-slaveとして追加 [#w13bf0e4] munakata@mvc:~$ nmcli connection add type bridge-slave ifname enp5s0 master bridge-br0 接続 'bridge-slave-enp5s0' (317c09b2-e7a4-409d-906b-4e12450344b4) が正常に追加されました。 *** 変更後の設定を確認 [#z896aa1f] munakata@mvc:~$ nmcli connection show NAME UUID TYPE DEVICE bridge-br0 cfcf64fa-3d14-4194-8352-ca74b4b20dd3 bridge br0 bridge-slave-enp5s0 317c09b2-e7a4-409d-906b-4e12450344b4 ethernet enp5s0 virbr0 f93e94e4-980a-4a45-9ccd-668fcdb7130a bridge virbr0 netplan-enp5s0 85b48279-9901-3522-93a4-380f40958535 ethernet -- munakata@mvc:~$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UP group default qlen 1000 link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff 3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 04:92:26:5c:c3:15 brd ff:ff:ff:ff:ff:ff inet 192.168.1.26/24 brd 192.168.1.255 scope global noprefixroute br0 valid_lft forever preferred_lft forever inet6 fe80::8024:bc4f:d6e5:c348/64 scope link noprefixroute valid_lft forever preferred_lft forever 4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000 link/ether 52:54:00:4a:b1:a9 brd ff:ff:ff:ff:ff:ff ** KVM インストール [#f107e348] *** 必要なパッケージ群をインストール [#h63c85dd] munakata@mvc:~$ sudo apt install -y qemu-kvm libvirt0 libvirt-bin virt-manager libguestfs-tools *** munakata が libvirt グループに追加された( sudo 無しで virsh 等が実行できる ) [#z0563a83] munakata@mvc:~$ cat /etc/group | grep libvirt libvirt:x:131:munakata libvirt-qemu:x:64055:libvirt-qemu libvirt-dnsmasq:x:132: *** 仮想マシンの iso ファイルの準備と virsh にプールを登録 [#w67f13a0] - iso ファイルプールを作成しファイルを配置 munakata@mvc:~$ sudo mkdir /var/lib/libvirt/isos munakata@mvc:~$ sudo mv ~/Downloads/ubuntu-20.04-live-server-amd64.iso /var/lib/libvirt/isos/ - iso ファイルのオーナーを変更 munakata@mvc:~$ sudo chown libvirt-qemu:libvirt /var/lib/libvirt/isos/ubuntu-20.04-live-server-amd64.iso munakata@mvc:~$ ls -l /var/lib/libvirt/isos/ 合計 929796 -rw-rw-r-- 1 libvirt-qemu libvirt 952107008 6月 22 10:27 ubuntu-20.04-live-server-amd64.iso - kvm に iso ファイルプールを登録 (virt-manager のGUIからも設定は可能) munakata@mvc:~$ virsh pool-define-as isos dir - - - - /var/lib/libvirt/isos Pool isos defined munakata@mvc:~$ virsh pool-autostart isos Pool isos marked as autostarted munakata@mvc:~$ virsh pool-start isos Pool isos started *** 参考 URL [#c39b0974] - [[Ubuntu 18.04: 仮想化のKVMをインストールする:https://www.hiroom2.com/2018/05/11/ubuntu-1804-kvm-ja/]] ** virt-manager を使って仮想マシンをインストール [#f310e858] *** CPU の仮想化支援機構が無効になっている場合にはエラーが出る → BIOS メニューで有効にする [#xdee11b0] - 警告: KVM が利用できません と出る時は BIOS で CPU の仮想化支援機構が無効になっている - &ref(kvm_no_support.jpg); *** KVMのゲストOSをブリッジに接続する (ゲストOSのインターフェース vnet0 を virtbr0 から br0 に切り替える) [#b19f83b8] - 変更前 munakata@mvc:~$ brctl show bridge name bridge id STP enabled interfaces br0 8000.0492265cc315 no enp5s0 virbr0 8000.5254004ab1a9 yes virbr0-nic *** 参考 URL [#c8a26f89] - [[KVMでゲストOSをブリッジ接続する:https://qiita.com/yoshiyasu1111/items/8d07a4fd55116fba07f7]] - [[Ubuntu 18.04: bridgeインターフェースの設定:https://www.hiroom2.com/2018/05/08/ubuntu-1804-bridge-ja/]] ** virtsh を使った仮想マシンの操作 [#ue25dc87] *** 代表的なコマンド [#y4d37c41] |No|コマンド|処理内容|h |1|vm の一覧表示|virsh list (--all)| |2|vm の起動|virsh start ドメイン名| |3|vm の停止|virsh shutdown ドメイン名| |4|vm のリセット(強制停止)|virsh reset ドメイン名| |5|vm の一時停止|virsh suspend ドメイン名| |6|vm の再開|virsh resume ドメイン名| |7|vm のリネーム|virsh domrename ドメイン名| |8|vm の設定変更(xml ファイルの編集)|virsh edit ドメイン名| |9||| *** 仮想マシンに対するコンソール接続 [#c93ecb78] -- カーネル起動パラメータに console パラメータの指定が必要 -- パラメータがなくフリーズした場合などには [CTRL]+] で元のシェルに戻る(=エスケープ) - -
テキスト整形のルールを表示する
添付ファイル:
kvm_no_support.jpg
7件
[
詳細
]
kvm_def_new.jpg
7件
[
詳細
]
kvm_def_net.jpg
7件
[
詳細
]