メモ的ななにか

@Maleic1618

LXCコンテナのネットワーク設定

友人に教えてもらいながらあれこれいじったらつながったので,やり方をまとめておきます.

使っているのはDebian jessieです.

コンテナは既に作成できているとして進めます.

ブリッジを作成する

nm-connection-editorを使いました.

(MATEの場合はパネルのシステム-設定-ネットワークの設定でもOK)

追加ボタンからブリッジを作成し,編集でIPv4のセッティングを開き,方式を手動に変更. アドレスを追加して以下のように設定.

アドレス:192.168.122.1

ネットマスク:255.255.255.0

ゲートウェイ:0.0.0.0

コンテナ側のネットワーク設定

/var/lib/lxc/myjessie/下の以下のファイルをいじります.

  • config
  • rootfs/etc/network/interfaces
  • rootfs/etc/resolv.conf

以下を追加. config:

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.ipv4 = 192.168.122.2/24
lxc.network.ipv4.gateway = 192.168.122.1

/rootfs/etc/network/interfaces:

auto eth0
# iface eth0 inet dhcp
  iface eth0 inet static
  address 192.168.122.2
  netmask 255.255.255.0
  network 192.168.122.0
  broadcast 192.168.122.255
  gateway 192.168.122.1

/rootfs/etc/resolv.conf:

nameserver 8.8.8.8

*1

ホスト側の設定

ここまでやればホストとコンテナはつながっているので*2,コンテナが外にアクセスできるようにします.

まずetc/sysctl.confの次の行のコメントアウトを削除.

#net.ipv4.ip_forward=1

その後,iptablesでNATを以下のように設定. 予めnetfilter-persistentをインストールしておくこと.

% sudo iptables -A FORWARD -i br0 -s 192.168.122.2/24 -m conntrack --ctstate NEW -j ACCEPT
% sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
% sudo iptables -t nat -A POSTROUTING -s 192.168.122.2/24 -j MASQUERADE
% sudo iptables-save
% sudo /etc/init.d/netfilter-persistent save
% sudo /etc/init.d/netfilter-persistent restart

これでコンテナから外にアクセスできると思います.

参考

以下の記事を参考にさせていただきました.ありがとうございます.

NetworkManager で仮想環境用に bridge を作成

おまけ:コンテナにpingをインストール

コンテナにpingがインストールされてなくて,困っている方も多いのではないでしょうか.コンテナのネットワークが設定できていなくても,chrootを使えばインストールできます.*3

% sudo chroot /var/lib/lxc/myjessie/rootfs
% apt-get install iputils-ping

*1:8.8.8.8はGoogleDNSサーバーです.

*2:pingを飛ばす場合はホスト→コンテナは192.168.122.2へ,コンテナ→ホストは192.168.122.1(=gateway)へ飛ばして確認します.

*3:chrootはネットワーク設定を変えないことを利用して,ホストのネットワーク設定を使ってインストールしています.

セミナー予習のやり方

なんとなく書く.参考になれば.

  1. とりあえず予習するつもりの範囲をさーっと読む.定理の証明は追わずに主張だけをみてどういう流れで何を示すのかを把握する.
  2. もう一回最初から証明も含めて読む.読んで詰まるところは?マークをつけて飛ばす.
  3. ?マークの場所を考える.1つだけに時間をかけるのではなくまんべんなく.
  4. ノートの清書とかをする.

全体の流れを掴んでから考えるほうが行間も埋まりやすくなる場合もあるし,補題や定理を考える意味がわかりやすくなって発表時の構成が考えやすいのでよいと思います.

発表時は以下の2点に気をつけてます.

  1. 最初にどういう流れで何を示すのかを説明する.聞く人は発表範囲を読んでいるのでざっくりとした説明でOK.
  2. 発表内容は基本的に全て暗記する.たまにノートを見るのはしょうがないけどずっとノート見ながら板書するのとかは避ける.
  3. 分からなかった場所をはっきりと聞く.聞くは一時のなんちゃらってやつです.

ヒーローシューターの紹介

今回は昔やっていたFPSスプラトゥーンの話をしようと思います.

自分はしばらく前にやめてしまったのですが,先日友人の家に行った時に彼のWiiUでプレイさせてもらう機会がありました.その際,自分のお気に入り武器のヒーローシューター(無印スプラシューター)が全然使われてなかったのでこの記事を書くことにしました.

元々動画を作ろうと思っていて内容は貯めてたので,それを元に書いていこうと思います.

続きを読む

pythonのパッケージのインストール

まず,Pythonのパッケージ管理システムpipをインストールする.pythonが入っていればそれを使ってインストール出来るらしい.適当な場所にhttps://bootstrap.pypa.io/get-pip.pyをダウンロード.linuxであれば

wget https://bootstrap.pypa.io/get-pip.py

でOK.

これをpythonで実行すればインストールされる.sudo権限が必要なので忘れずに.

パッケージインストールは

sudo pip install [パッケージ名]

でOK.昔はeasy_installとかなんとかやってたけど今は必要ないらしい.便利になったなあ.

 

emacsを導入したので覚え書き

友人・先輩に手伝ってもらったので,他のPCにインストールするときようにメモを残しておく.

 

emacs自体は

sudo apt-get install emacs

でインストール出来る.

自分はパッケージが見つからない的なことを言われたので,

/etc/apt/sources.listを見てみると以下の文があってエラーになっているようだったので削除.

deb http://backports.debian.org/debian-backports squeeze-backports main

だいぶ前のバージョンのパッケージリストも参照していたみたい.なんで入ってたのかはよくわかりませんでした.

sudo apt-get update

sudo apt-get install emacs 

でインストールできた.

あとOSをインストールした直後はmakeコマンドが入ってないときがあるので,その場合は忘れずにapt-get installしとえくこと.

 

次に友人オススメのemacsあれこれをインストールする.まず設定フォルダの初期化をするために一旦emacsを起動してすぐ終了.そして.emacs.dフォルダにemacsの初期化ファイルinit.elを作成する.

touch init.el

emacs init.el

これにいろいろ書くことでパッケージのインストール及び初期化をやってくれる.他のPCに同じ環境を作る時もパッケージのインストールをまた新たにやる必要はなくinit.elを移すだけでいいらしい.

 

 

以上.

数学科の人にお勧めしたい数学書

調べるといろんな人がお勧めの数学書を書いているけれど,自分が読んでいた本がほとんど挙げられていなかったので書いてみることにしました.

ちなみに筆者の専門は複素幾何です.

(ほとんど)読んでないけど良さげだなと思ったり良い評判を聞いてる本は(*)付きで書いています.

勉強する本を選ぶときの参考になれば.

続きを読む

webサーバーの設定

こんにちは.VPNの設定がどうもうまくいかないので,先にWebサーバーの設定のほうからすることにしました.

 

ここから先はGUIは使わず,SSHを使って他のマシンからコマンドライン上で扱うことになります.

cd,ls,mkdir等のファイル操作,apt-getを使ったソフトのインストール等コマンドラインの扱いはどこかで勉強しておきましょう.(ここでは扱いません)

 

ちょうど今からやることについてまとめてくれている記事があったので,これに従って設定しました.

qiita.com

 

test.htmlを作る際は管理者権限が必要なのでsudoでエディタを呼び出すようにしましょう.一般ユーザーがsudo(管理者権限で実行)できるようにする方法は以下のページに書いてあります.

一般ユーザーを sudo できるようにする - maruko2 Note.

sudo vi test.html みたいな感じで.

 

(とりあえずここまで)