LXCパッケージのインストール
sudo aptitude install lxc
debian環境の作成
sudo lxc-create -n lxc-debian -t debian
この状態で、
sudo lxc-start -n lxc-debian
すると起動する。しかも何も設定していないのに、ホスト側のインタフェースが見えてネットワークが使えた。ただ、ちゃんとネットワークを設定したい。しかも、単なるブリッジを設定してしまうと、外向きインタフェースを指定しなければいけないが、外向きインタフェースは有線/無線で変わる可能性があるため、NATすることにした。LXC and NAT on notebookを参照した。

bridge-utilsパッケージのインストール
sudo aptitude install bridge-utils
/etc/network/interfaceに以下を追記
# LXC bridge
auto br0
iface br0 inet static
   bridge_maxwait 0
   bridge_ports dummy0
   address 10.255.255.1
   netmask 255.255.255.0

上記のblogでは、fermというパッケージをインストールしてNATを実現しているが、余り余計なパッケージは入れたくなかったのでufwを使ってNATをすることにした。参考にしたのはufw でルータをつくるのページ。

パケット転送許可のための/etc/default/ufw, /etc/ufw/sysctl.confの編集
sudo vi /etc/default/ufw
DEFAULT_FORWARD_POLICY="ACCEPT"
sudo vi /etc/ufw/sysctl.conf
net/ipv4/ip_forward=1 (*コメントアウトを外す)
NAPT(IP masquerade)設定として、/etc/ufw/before.rulesの末尾に以下を追記
sudo vi /etc/ufw/before.rules
# nat Table rules
*nat
:POSTROUTING ACCEPT [0:0]
# Forward traffic from 10.0.0.0.
-A POSTROUTING -s 10.255.255.0/24 -j MASQUERADE
# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT

ちなみにこの設定はufw disable && ufw enableやservice ufw restartなどやっても、うまく反映されず、再起動したら正しく動作しました。

ゲスト側debianの設定。
sudo vi /var/lib/lxc/lxc-debian/config (*以下を末尾に追加)
#network
lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.hwaddr = 00:FF:80:FF:FF:02
lxc.network.ipv4 = 10.255.255.2/24
sudo vi /var/lib/lxc/lxc-debian/rootfs/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
  address 10.255.255.2
  netmask 255.255.255.0
  gateway 10.255.255.1
sudo vi /var/lib/lxc/lxc-debian/rootfs/etc/network/resolv.conf
(*上記blogではdnsmasqを使っているが、面倒なのでgoogle public dnsを使用)
nameserver 8.8.8.8

以上でうまく行きました。