Linux Container(LXC)機能簡易ドキュメント(ver6.7.0+LXC) センチュリー・システムズ(株) 1. Linux Container の利用 Linux Container (以下 LXC)は仮想化技術の一つで、この機能を利用することにより LXC 内に作成し た IP ソケットアプリケーションからルーティングや IPsec VPN など NXR-G100 のルータ機能を利用 できるようになります。 2. LXC を使用するための準備 2-1. LXC 用ファームウェアおよび LXC 用 SD カードイメージを弊社ホームページよりダウンロードし ます。 2-2. NXR-G100 のファームウェアを LXC 用ファームウェアに更新します。 2-3. LXC 用 SD カードイメージを SD カードに書き込みます。 SD カード容量(8G バイト以上) Linux での LXC 用 SD カードイメージ書き込み例 #dd if=./NSDA-008GK.img of=/dev/sdX (NSDA-008GK.img は LXC 用イメージファイル、sdX は SD カードのデバイス名) ※dd コマンドで書き込む場合、SD カードに保存されているデータは消えてしまいますのでご注意 下さい。 2-4. 3. SD カードを NXR-G100 に挿入します。 NXR-G100 で LXC を使用するためのコンフィグ設定 LXC は、ホスト(NXR-G100)上のブリッジを介して外部と通信できます。LXC 内部のネットワーク と、NXR-G100 のブリッジとの間をつなぐために、仮想インターフェース「veth」を使用します。 3-1. ネットワーク構成 LXC eth0 ホスト(NXR-G100) vethX br0 eth0 仮想ブリッジ 外部ネットワーク 3-2. NXR-G100 の bridge0 インタフェースを使用する場合の設定例 ! interface bridge 0 bridge port 1 ethernet 0 bridge port 2 veth 0 # veth0 を bridge0 にアタッチ ip address 192.168.2.254/24 ! interface veth 0 no ip address lxc-link 1 # lxc container1 との仮想ブリッジ設定 ! lxc container 1 # container 数は 1 固定 ! 4. NXR-G100 から LXC への接続・切断 4-1. LXC へのコンソール接続 cli から以下のコマンドで接続できます。 nxrg100#connect lxc console アカウント:ubuntu 初期パスワード: ubuntu ログイン後、LXC のコマンドラインを利用できるようになります。 4-2. LXC のコンソールからの切断 "Ctrl+b q" で LXC コンソールを exit します。 LXC のネットワーク設定後は、SSH 経由でも接続できます。 5. LXC のネットワーク設定について LXC の eth0 インタフェースがホストの veth0 インタフェースと仮想的にペアリングされています。 外部と通信するためには、ホストの bridge0 インタフェースと同じネットワークアドレスを設定しま す。また LXC の IP アドレスなどのネットワーク設定は、/etc/network/interfaces ファイルを編集し て行います。編集には vim(※)等のコマンドを利用することができます。なお、下記 eth0 の設定例は コメント行で記載されております。 ※vim コマンドの利用方法は下記サイトなどが参考になります。 https://help.ubuntu.com/community/VimHowto なお LXC には vimtutor コマンドがインストールされており、このコマンドを実行することで vim の使い方を確認することができます。 $ sudo vim /etc/network/interfaces auto lo iface lo inet loopback auto eth0 # iface eth0 inet static # address 192.168.2.1 # netmask 255.255.255.0 # network 192.168.2.0 # broadcast 192.168.2.255 # gateway 192.168.2.254 # dns-nameservers 192.168.2.254 IP アドレス設定後は、設定を反映するために以下のコマンドを実行します。 $ sudo ifdown eth0 && sudo ifup eth0 6. NXR-G100 経由での通信準備 LXC 内のアプリケーションなどを NXR-G100 のルータ機能経由で利用するためには NXR-G100 の設 定が必要になります。 NXR-G100 の設定については弊社ホームページにあります設定例が参考になります。 ・FutureNet 製品活用ガイド http://www.centurysys.co.jp/futurenet-tech-wiki/ NXR,WXR シリーズのカテゴリ内に様々な設定例を掲載しています。 ※VPN を使用する場合は IPsec 編をご参照下さい。 7. LXC からの通信 NXR-G100 のルータ設定完了後、LXC から通信可能か確認を行います。 下記例は FutureNet 製品活用ガイド「2-5. PPPoE を利用した IPsec 接続設定例」の NXR_B ルータで LXC をセットアップし、IPsec 経由で対向ルータ(NXR_A)の LAN 側 IP アドレス宛に Ping および SSH アクセスを実行した例になります。 ※2-5. PPPoE を利用した IPsec 接続設定例 http://www.centurysys.co.jp/futurenet-tech-wiki/setting/setting-752/ <LXC からの Ping 実行例> $ ping 192.168.10.1 PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data. 64 bytes from 192.168.10.1: icmp_seq=1 ttl=63 time=3.40 ms 64 bytes from 192.168.10.1: icmp_seq=2 ttl=63 time=1.95 ms 64 bytes from 192.168.10.1: icmp_seq=3 ttl=63 time=1.83 ms 64 bytes from 192.168.10.1: icmp_seq=4 ttl=63 time=1.86 ms --- 192.168.10.1 ping statistics --4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 1.831/2.389/3.960/0.907 ms <LXC からの SSH 実行例> $ ssh 192.168.10.1 -l admin admin@192.168.10.1's password: Century Systems NXR-G100 Series ver 6.7.1 (build 14/12:55 26 06 2015) NXR_A# 通信確認完了後、LXC 内のアプリケーションなどを使った通信を NXR-G100 経由で利用できます。 なお LXC にはコンパイラや make コマンドなども用意しておりますので、プログラムの作成を行うこ とができます。
© Copyright 2024 Paperzz