カッティングボード

カルマをカットしてます

研究室から飛ぶ不思議なパケット

今日は就活関連であんまり作業できてないので,研究室から定期的にでてる不思議なパケットについてちょっと書きます.

 TCP FIN and no ACK   

f:id:cut-ter:20171212180606p:plain ↑のエラーが最近定期的にでてしまっているのでちょっと調べてみました.

調べてみるとFINビットがあるのにACKがないと出るエラーらしいです.

エラーによってポートが空いてる確認できたり,OSを特定する手がかりになるらしいです.

Yamahaルーター、不正アクセス検知機能。:こっそりと。 - livedoor Blog

今回送り先を調べてみたところ, LINEに送っていました.送り元の人を特定して確認したところPC版のLINEを開いていたのでそれが原因な可能性もあるのですが,最近定期的に同じエラーが発生してしまっています.

別の時には研究室のルーターに対して送っていたり,DNSに対して送信してることが多いです.

10月までは全然なかったエラーなのでウィルスか何かの可能性もあるので結構怖いですね.

原因を調べてみたりしても特定できてないので辛いですね,

今回の場合は外部に飛ばしてるのでLINEのアプリの問題であればいいですが,そうでないとするとアタックをかけていることになるので余計に良くないですね.

これからは出来る限り送り元を特定して,共通点等をだして原因を特定していきたいですね.

八王子のボドゲで遊べるお店

急に話が変わりますが,昨日研究室の人たちで八王子のボドゲクラブに行ってきました. hachiohji-board-games.club

うちの研究室では最近ボドゲ部(非公式)が発足して,ボドゲを研究室でやったりしています.

研究室内にあるボドゲ以外もやりたいなーってことで試しに八王子のボドゲクラブに行きました.

2時間500円で,1日いても1000円ってことでめっちゃ格安な場所でした.

f:id:cut-ter:20171212183450j:plain

f:id:cut-ter:20171212183445j:plain

ドミニオンとかも全拡張パックあるらしいのでめっちゃいい場所でした.

ブログ更新忘れた話

毎日投稿するぞーって言って,毎日投稿してから約2週間昨日見事にブログ更新忘れてました.

毎日投稿忘れたら焼肉 f:id:cut-ter:20171211194652j:plain

なんて僕は言ってないので焼肉はおごりません.

いやぁ後輩が半年以上毎日書いてるのはマジですごいんやなぁと実感してしまいました.

圧の高いチャンネル

ブログ更新を忘れた結果下のようなめっちゃ圧の高いチャンネルができてしまいました. f:id:cut-ter:20171211195314p:plain

毎日投稿監視されるとか結構辛い.

まぁ投稿忘れる自分が悪いのでしょうがないですね.

まぁいつまでもこんなこと言ってもしょうがないので今日やったことをまとめたりします.

機械学習用の環境構築のセットアップ

機械学習用の環境をdockerで構築してたりしたのですが,なぜか

/usr/bin/ld: cannot find -lcuda

と出てしまいなぜかyoloのビルドができない..

とりあえずいろいろ調べて,↓を実行したら直りました.

sudo apt install nvidia-current

nvidiaのドライバ関連で何か足りてないっぽいので,後で詳細を調べてみます.

あと普通にopencvが足りてなかったので,↓参考にして入れました.

shibafu3.hatenablog.com

cmakeの部分をcudaを使うように書き換えてビルドすれば準備は完了でした.

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/Sources/opencv_contrib/modules -D WITH_CUDA=ON ..

↓のブログと今回のを組み合わせればいい感じにyoloの機械学習環境ができると思います. www.cut-ter.com

ひらくPCバック

研究室の人がひらくPCバックを持っていてめっちゃ良かったので,つい自分も買ってしまいました. f:id:cut-ter:20171211200134j:plain こんな感じで使い始めましたけど,体に密着するので重さを感じなくてマジで軽い.

数日使ったあとにまた感想書こうと思います.

 完全ディスクレスでCentos起動したかった

昨日iSCSIの設定をいろいろやって,HDDすらなしでブートできる的な記事をどっかで見かけた気がしたのでそれに挑戦してみようとしました.

先に結果としては,HDDなしでブートは上手くいきませんでした.ブートローダーがないと起動できないのは当たり前なので,ブートローダーをいい感じにしないとダメでした.記事によってはブートローダーをPXEからよみこむ的なものもあったので後日再挑戦してみようと思います.

今回は/bootだけをローカルのHDDからマウントして,それ以外をiSCSIでマウントする方法でやりたいと思います.

作業

とりあえずcentosインストーラーの立ち上げ等は割愛します. まずiSCSIのディスクを追加してあげないといけないのでとりあえず,ディスクの追加をします.

f:id:cut-ter:20171209165342p:plain

その後,iSCSIターゲットの追加をします.リモートデスクトップVMコンソールでやっていたので画面の大きさの都合上見づらい,ごめんなさい.

f:id:cut-ter:20171209165518p:plain

ターゲットIPアドレスとターゲット側で作成したイニシエーター名を入力して探索を開始します.

f:id:cut-ter:20171209170010p:plain 

見つかったらとりあえず完了.

f:id:cut-ter:20171209170335p:plain

ちゃんとディスクとして追加されてるのを確認して,自分でパーティションを区切る.

f:id:cut-ter:20171209170446p:plain

パーティションの区切り方は好みで.今回は1GBのHDDを/bootに割り当てて,今回は細かく区切る必要は特にないのでルートにiSCSIの奴を全部割り当てました.

f:id:cut-ter:20171209170622p:plain

後は通常通りにインストールして再起動.再起動かけた後は特に何もしなくてもiSCSIのディスクを読み込んでくれるので.ちゃんとマウントされてるのを確認して終了.

f:id:cut-ter:20171209170924p:plain

今回はiSCSI使ってOSのインストールを試してみました.できるかわからんけど今度は,ブートローダーをいい感じにして完全ディスクレスを目指します.

docker imageを外部で保持する

cut-ter.hatenablog.com ↑のサイトでnfsを用いて外部に保持するところまでやったので,今回は実際に動かすところまでやります.

挫折

とりあえずdocker runするかってことで,ubuntuを立ち上げようとしたところ下記のようなエラーが.

docker: Error response from daemon: error creating overlay mount to /var/lib/docker/overlay2/d9f6368b43e592400902de3ca7f07a6f2abc69655ba9e6b0c3770df22f9661c9-init/merged: invalid argument.

調べてみたところ,↓のような記事が.これによると,ext4にすると治ったとのことでファイルシステム系がダメなんやなって感じですね. github.com

まぁnfsでマウントしてきたのをさらにマウントするのは,ちょっと無理がありましたね.ということで別の方策を考えていきます.

iSCSI

iSCSIだったら,自由にマウントするファイルシステム選べるし,ディスクレベルのマウントなのでいけるやろってことで試していきます.

ホストの設定

sudo apt-get install -y iscsitarget
sudo vim /etc/default/iscsitarget

false をtrueに書き換える

ISCSITARGET_ENABLE=true
ISCSITARGET_MAX_SLEEP=3


# ietd options
# See ietd(8) for details
ISCSITARGET_OPTIONS=""
sudo mkdir /var/lib/iscsi
sudo dd if=/dev/zero of=/var/lib/iscsi/iscsi.img count=0 bs=1 seek=100G

sudo vim /etc/iet/ietd.conf

末尾に追加

Target iqn.2016-05.net.my:iscsi.img
  Lun 0 Path=/var/lib/iscsi/iscsi.img,Type=fileio
sudo service iscsitarget restart

クライアントの設定

sudo apt-get install open-iscsi
sudo iscsiadm -m node --targetname iqn.2016-05.net.my:iscsi.img --login
sudo apt-get install lsscsi

lsscsiでどこにマウントされてるのかわかるようになります.

cut-ter@ubuntu:~$ lsscsi
[1:0:0:0]    cd/dvd  NECVMWar VMware IDE CDR10 1.00  /dev/sr0
[2:0:0:0]    disk    VMware   Virtual disk     1.0   /dev/sda
[3:0:0:0]    disk    IET      VIRTUAL-DISK     0     /dev/sdb

ってことで今回は/dev/sdbにマウントされます.

sudo parted --script /dev/sdb "mklabel msdos" 
sudo parted --script /dev/sdb "mkpart primary 0% 100%" 
sudo mkfs.ext4 /dev/sdb1

↑のようにパーティション作成してiSCSIの設定は完了です.

調査

とりあえずoverlay2のなかにlディレクトリがあるので動かして,マウントしたりします.

mv overlay2/l/ ~
 mount /dev/sdb1 /var/lib/docker/overlay2/
mv ~/l/ /var/lib/docker/overlay2/

docker pull ubuntu して容量がどんな感じになるか試します.

root@ubuntu:/var/lib/docker# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              489692       0    489692   0% /dev
tmpfs             101612    4560     97052   5% /run
/dev/sda1       15349744 1861256  12685724  13% /
tmpfs             508060       0    508060   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             508060       0    508060   0% /sys/fs/cgroup
tmpfs             101612       0    101612   0% /run/user/1000
/dev/sdb1      103080224   61044  97759968   1% /var/lib/docker/overlay2

root@ubuntu:/var/lib/docker# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              489692       0    489692   0% /dev
tmpfs             101612    4560     97052   5% /run
/dev/sda1       15349744 1861748  12685232  13% /
tmpfs             508060       0    508060   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             508060       0    508060   0% /sys/fs/cgroup
tmpfs             101612       0    101612   0% /run/user/1000
/dev/sdb1      103080224  194452  97626560   1% /var/lib/docker/overlay2

ってことで大部分が/dev/sdb1 に保存されてることが確認できました.ここまでは前回と変わらないので今回はdockerでubuntuを動かして,比較的重そうなlinuxカーネルgithubからプルしてこようと思います.

linuxカーネルをプルした結果,↓ような感じになりました.結果としてはしっかりと動作中のイメージもマウント領域に保持されているようなので,これでどんなにファイルを追加したりとかしてもdockerホストの容量が足りなくなったりすることはなくなったかな.

root@ubuntu:/var/lib/docker/overlay2# df
Filesystem     1K-blocks    Used Available Use% Mounted on
udev              489692       0    489692   0% /dev
tmpfs             101612    4636     96976   5% /run
/dev/sda1       15349744 1862192  12684788  13% /
tmpfs             508060       0    508060   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             508060       0    508060   0% /sys/fs/cgroup
tmpfs             101612       0    101612   0% /run/user/1000
/dev/sdb1      103080224 3456468  94364544   4% /var/lib/docker/overlay2
overlay        103080224 3456468  94364544   4% /var/lib/docker/overlay2/3b2c4f03fe9743da169bde51725e0893942cb500bd725723ac08a3748ee1cffa/merged
shm                65536       0     65536   0% /var/lib/docker/containers/d13f92d8cec61e79c5982435b73c591aa5a58dfbb2e6c586e253fb3591743eec/shm

とりあえずiSCSIでやれば,容量の対策はできそうなので研究室にNASが来た時に一度ちゃんと速度計測しようとおもいます.

Turtlebot3の組み立て

少し前にTurtlebot3というロボットを組み立てた時に,写真だけ撮って何もしてないので適当にまとめます.

Turtlebot とは

ROS(Robot Operating System)というロボット開発フレームワークで,開発プラットフォームとして使われているロボットです.

このロボットでmove_baseと言われる行動計画や,レーザーセンサによるslamなどが行えるます.それにより,障害物を避けながら移動するロボットを作成することができます.

まぁROSっていう便利なロボット開発ツールのデファクトスタンダード的なデバイスです.

開封式

Turtlebotには色々バージョンがあるのですが今回はTurtlebot3 burgerを組み立てます.

箱は↓みたいな感じです. f:id:cut-ter:20171207183950j:plain 大きさ分かりづらいですが,右上に写ってるスマホと比べてもらえればまぁまぁ大きいのがわかると思います.

中には4つの箱と説明書とケーブルが入ってました. f:id:cut-ter:20171207184454j:plain

中にはraspberry pi3とSDカードとかも入っているので,別途用意する必要があるものは特にありません.Turtlebot2まではノートPCを利用していたりしたのでだいぶ小さく進化したことがわかります.

説明書は日本語にも対応しており,とてもわかりやすいです.組み立て図等も比較的綺麗に描かれてるので特に迷うことなく組み立てることができます.でもネジの色と説明書のネジの色の白黒が全部逆になってることにだけ注意です. f:id:cut-ter:20171207184627j:plain

ネジ類は細かく小袋に分かれており,それぞれにそれがどんなネジなのか細かく書いてあるので特に迷うことはないです.各ネジの予備が1-4本ずつくらいついてるのでなくしたりしても大丈夫です. f:id:cut-ter:20171207184757j:plain

組み立て

1段目 f:id:cut-ter:20171207185231j:plain 2段目 f:id:cut-ter:20171207185258j:plain 3段目 f:id:cut-ter:20171207185310j:plain 完成品 f:id:cut-ter:20171207185309j:plain

ぐだぐだやりながら,1時間ちょっとくらいで組み立てることに成功しました.

結構ネジをきつく締めすぎると組み立てづらい部分がありました.しかしそこを緩めたままにすると最後にネジがポロポロ落ちてくるので,位置を決めたらしっかりネジを締めましょう.

こいつをちゃんと動かしたいなぁ.

最近使って便利だったりはまってるもの

このブログは↓のアドベントカレンダーの6日目です.

adventar.org

今日は適当に最近使い始めて便利だったりするツールだったりはまってることについて書いていこうと思います.

Not-My-Fault-俺のせいじゃない

Not My Fault! ~俺のせいじゃない!~

Not My Fault! ~俺のせいじゃない!~

これはIT会社の社員になって,みんなで一つのプロジェクト進めていき最後に完成させた人の勝ちというゲームです.

ゲームの要素として単純にプロジェクトを進めていくだけでなく,トランプゲームのダウトのような要素が入っています.

ダウトと違う要素として自分の数だけでなくそれまでの蓄積で判定されるという部分があったりします.

まぁちゃんと詳しく公式だったりが説明してくれてるのでリンクを貼っときます.

公式:
Not My Fault | スパ帝国

詳しくルール説明してあるやつ:
ゲーム紹介『Not My Fault! ~俺のせいじゃない!~』 : ニコボド | ニコのボードゲーム日記

bitzeny

最近bitzenyっていうコインが高騰してるので滅多面白いです.

1週間前あたりから価格を確認し始めたのですが,1週間前は0.5-1.5円くらいを上がり下がりしてる感じだったのですが,今日の朝確認してみたら驚愕の値段になってました.

f:id:cut-ter:20171206131359p:plain

20倍近くになってるんだが.....

f:id:cut-ter:20171206131404p:plain

1週間のグラフを見てると綺麗な右肩上がりで面白い.

仮想通貨が急騰すると誰が最初に売り始めるかのチキンレースになってしまって辛い.冬のボーナスでみんな買い始めたのかよくわからんけど,年明け急落してみんな阿鼻叫喚になってたらおもしろいなー.

tmux

研究関連で結構長い時間ビルドしたりすることが増えたので使い始めたらマジで便利でした.

sshでつないでビルドが終わらなくてパソコン閉じられないとかいう状況になってたりしたのが,ssh切ってもサーバー側でtmuxのプロセスは動き続けてくれるのでビルド途切れたりしないのは本当に便利です.

サーバーでちょっと長い時間動かしておきたい処理とかも,わざわざデーモン起動しなくても動き続けてくれたりするし便利です.

あとsshは少しの間でもネット切れると通信が切断されますが,tmuxはネットが切れても復活すると通信を復元してくれたりして便利です.

ダラダラと紹介しましたが,今日はこれで終わりです.明日はytm_nです.

メモリテストとハード整理の続き

土曜日に研究室のタワーPC系の整理をしていたのですが,core 2 quadの2台のセットアップが終わってなかったのでそれの続きをやったり,PXEブートにメモリテストを追加したりしてました.

タワーPCの整理

結論から言うとcore 2 quadのPC2台はお亡くなりになりました.

正直原因がよくわからないのですが,インストトール途中に固まってそこから進まなくなってしまうとよく分からない状況になってしまいました.

最初は2GBしかメモリが載ってなかったのでメモリ不足かなとか思いましたが,正直2GBもメモリがのってればOSのインストールには十分だと思うんだけどなー.一応4GB載せてみたりしたけど結局死.

電源関連で死んでしまってるのかそもそもCPU系で死んでるのか,こういうPCのエラーの切り分けに慣れてないのでどうしたらいいかわからん.

まぁ渡す予定だった3年生には別の小型PCを割り当てることになったのでとりあえず奥の方に放置.

メモリテスト

今回6台くらいのPCのテストをしたときに思ったのは,USBで色々やるのめっちゃ面倒ってことでした.centosだったり,ubuntuだったり切り替えたりとかメモリテストだったり色々切り替えるのがクッソ面倒でした.

全部PXEブートでできたら楽だよなぁってことでメモリテストをPXEブートに追加したいなぁって感じでググったら↓がでてきました.

www.mk-mode.com

参考にして追加したらサクッと動いたのでメモリテストもいい感じに動く環境が研究室に整いました.

欲を言えばディスクチェックとかも自動化したいのでその辺もうちょい調べてみます.

 

 

あとはひたすらレポーヨを書く1日でした.レポーヨつらいよー