質問編集履歴

1 ブリッジの作り方を追記。

manzyun

manzyun score 2111

2017/03/07 10:33  投稿

LXDで作ったコンテナにhttp, (s)ftp, sshでのアクセスができるようにしたい。
###前提・実現したいこと
極端な話が、「自前でLANで動くVPSサービスを作りたい」という趣旨です。
[CoderDojo Sapporo](http://wp.me/8bEuA)というイベントで、ネットワーク・プロトコルやサーバーそのものに興味を持ったNinja(知識を伝授している子どもたちのことをこういいます)がいるので、
「ちょっとサーバーを作るか。せっかくだから今後のことを考えてコンテナを立ち上げて複数人がコンテナで隔離された環境で色々実験できたほうがいいかな」
と思い、5日ほど色々試行錯誤したのですが、趣旨から大きくそれました。
先のDojo でMentorをしていながらお恥ずかしいお話ですが、知恵を貸して頂けると幸いです。
###発生している問題・エラーメッセージ
今こんな感じです。
[[WIP][失敗]Ubuntu Xenial(16.04)でLXDのコンテナにhttp, ftp, sshでアクセスできるようにする - Qiita](http://qiita.com/manzyun/items/139c8778610b138695c4)
要約すると
* コンテナ環境のブリッチ回線のデバイスに無線LANデバイスを指定すると、ゲスト環境IPが取得できない。
* 仕方ないのでホストマシンをそのままサーバーにしてみたものの、ufwの設定がおそらく悪く、default allowにしないと、サーバーマシンにsshでアクセスできない。
と、LANで使うにしても、サーバーとして使うのに如何なものかというものが出来上がってしまいました。
###試したこと
ホスト環境に最新安定版のLXDをインストール。[LXD: stable : “Ubuntu containers team” team](https://launchpad.net/%7Eubuntu-lxc/+archive/ubuntu/lxd-stable)
`lxc network` コマンドでブリッジを追加。追加時には無線LANデバイスをブリッジするデバイスに指定。
#### 2017-03-07 t_obaraさんからの追記依頼への対応  
こちら([Network management with LXD (2.3+)](https://stgraber.org/2016/10/27/network-management-with-lxd-2-3/))のページを参考に、  
以下のようにブリッチを作りました。  
 
```  
$ sudo lxc network openbr0  
$ sudo lxd network attach-profile openbr0 default 無線LANデバイス名  
 
# 特にIPアドレス固定などの設定はしていない。  
```  
 
そのあと `sudo lxc list`でipアドレスを確認したところ、eth0にはデフォルトで入っているlxdbr0の設定が反映されており、IPv4のIPアドレスは取得できていましたが、今回openbr0を設定したコンテナのeth1にIPv4のIPアドレスが割り当てられていないという状態です。  
 
----------------------------------------  
 
`ufw default reject`(現場で対処方法が分からずにあたふたするのを避けるために)していましたが、`ufw allow in on <無線デバイス> from <最後が0のクラス3のIPアドレス> app OpenSSH`を追加していてもSSHでホスト環境端末にSSHで繋がらなかったため、仕方なく`ufw default allow`にしました。
###補足情報(言語/FW/ツール等のバージョンなど)
####ホスト環境
* Ubuntu Xenial(16.04)
* ufw 0.35
* lxd 2.10.1
会場の都合もあり、できれば無線LANで動く事が望ましいですが、難易度が高すぎる場合は、安い有線ルーター、スイッチングハブもしくはクロスケーブルを購入する事も検討しようと思います。
### 余談
明らかにYAGNIに反しているかもしれませんが、端末代も安くはないというのが本音なので、コンテナで大量のサーバーを構築できれば、サーバーが無くて困るNinjaが今後出てくる心配が無くなるのでないかと思った次第です。
  • Ubuntu

    1865 questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • ネットワーク

    661 questions

    ネットワークとは、複数のコンピューター間を接続する技術です。インターネットが最も主流なネットワークの形態で、TCP/IP・HTTP・DNSなどの様々なプロトコルや、ルータやサーバーなどの様々な機器の上に成り立っています。

  • VPS

    469 questions

    VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る