Python入門者向けハンズオン #pynyumon にメンターとして参加してきました

Python入門者向けハンズオンにメンター枠で参加してきました。

python-nyumon.connpass.com

会場

Retty株式会社のオフィスが会場でした。綺麗で広くてよかったです。

メンターをやってみた雑感

個人的には、Djangoの初心者向けハンズオンをそのうちやろうと思っていて、ハマりどころなど知識のアップデートが目的の1つでした。積極的に歩き回って、困っている人がいないか見るようにしていました。

最近はcondaやpyenv、WSLなど、Pythonのインストール方法も広がっていて、提供されたチュートリアルドキュメントの手順通りで動かせないパターンがあったりするのだなと知りました。サポートするときの参考になりそう。

MacBookAir(Xubuntu)の無線ルーター化の件

会場の都合で無線LANが提供不可となったそうで、モバイルルータなどを持ち寄って対応することになりました。

テザリング用の端末を持っていない人にもインターネット接続環境を提供すると、モバイルルータだけでは性能に不安がありそうだったので、Linuxをインストールした端末を無線ルーター化して持っていけないか考えました。

やったことはないけど、モバイルルータとPCの無線ルータ化でインターネット接続を提供する事例をどこかで見たことがあったので、「できそうならやってみるかー」ぐらいの気持ちで調査して試したらうまくいったので持っていって使いました。5~6台つないでみたけど余裕っぽかった。iptablesでパケット転送の制御を設定してるので、モバイルルータが複数台あれば、IPアドレス範囲を区切ってそれぞれに流すのもできそうだし便利。

f:id:nullpobug:20180515223432p:plain

詳細はまとめませんが、ハマった点や参考にしたページなどを自分用にメモしておきます:

  • インストールしたパッケージ
  • 手元にMacBookAir(Core2 1.4Ghz)があり、Xubuntu 16.04がインストール済みの状態だった
  • Ubuntuiptablesufwのラッパーのようで、ufwを有効にしないと動作しなかった。
    • ipv4のforward許可はufw側の設定も必要だった(DEFAULT_FORWARD_POLICY)
    • Ubuntuiptablesはデフォルトだと内容が保存されなくて再起動で消えてしまう
  • NetworkManagerをoffにすると、USBテザリング側のイーサネットのインターフェースが自動で有効にならなくて、シェルスクリプトでコマンド実行する形にまとめた
  • USBテザリング側のインターフェース名がusb0から別の名前に変わる
    • kern.logを見てたらログがあった。そういう機能があるらしい?
  • 接続状況を手軽に確認するにはarpコマンドが楽だった
    • hostapd_cliでつないだけど、欲しい情報のとり方がよくわからなかった
  • 通信できているかの確認はnslookupやpingコマンド

参考にしたページ: