六本木のジャングルと言われる、DMM新オフィスを見学してきた

こんにちは!

DMM新オフィスツアー全日程が終了したので、ネタバレしていこうかなと思っています。

ちなみに私が参加したのは 4月25日(火) - 4月26日(水) に開催されたツアーでしたが、おそらく他日程のオフィスツアーも内容は同じです。


↓ 募集はこちらでされてました、また機会があれば開催してほしいですね。
https://www.facebook.com/events/901520106657354/

ツアー内容

所要時間 : 30分

  • 会社説明
    1. DMMは色んな事やってるよ、エロだけじゃないよってお話
  • オフィス見学
    1. ミーティングやイベントで使われるスペースの紹介
    2. 正面受付の紹介
    3. 動物が映し出されるスペースの紹介

ツアー内容は以上で構成されていました。

会社説明

いつもの事ながら「DMMはエロだけじゃないです!こんな事もやってます!」というお話を聞きました、恒例ですね。

皆さんもご存じだとは思いますが、DMMと付く関連事業だけでも

  1. DMM.make
    • 秋葉原にある、物を作れる場所。
    • 使える機材の専門性が高い、故に使用料も高い。
  2. DMM.make robots
    • ロボット事業。
    • RoBoHoNとかはイベントで踊ったりしてる。
  3. DMM.com override
    • スマホゲームとか作ってる。
    • DMM GAMESアプリで偶にOVERRIDEって出てくるのはこれ。
  4. DMM.com 証券
    • FXとかCFDとか取り扱ってる所。
    • 結構古くからある事業な気がする。
  5. DMM英会話
    • Skype等を用いて遠隔での英会話レッスンができる。
    • 講師毎にどの言語が喋れるのか分かるため、最初から日本語なしのスパルタも可能。
    • 英単語学習アプリ「iKnow」も無料で使えるプランがある。
  6. DMM.Africa
    • 去年くらいにできた事業。
    • アフリカで色々やってる
    • 当初は英語喋れれば誰でもウェルカムな感じで募集してて、今はどういう募集形態なのかは知らない。
  7. DMMアカデミー
    • 去年くらいから募集を始めて、今年から始まった事業。
    • 月30万貰えて、実際に現場で活躍してる人からOJT感覚で授業を受けれる。
    • 22歳まで

私が思いつく範囲だけでもこれだけあります。色々やってますね。

VRや機械学習にも手を伸ばしているようなので、今後はそっち方面でどういう展開を見せていくのか・・・

また、今後Youtuberの方と新事業を展開するそうなので、そちらもどうなっていくのか注目ですね。
youtu.be

オフィス見学

ミーティング等で使用されるオフィス

f:id:yu_ping:20170529190957j:plain

f:id:yu_ping:20170529194614j:plain

f:id:yu_ping:20170529190950j:plain

一部分の写真で申し訳ありませんが、こんな感じでした。

また、360°の画像はこちらのサイトに掲載されています。

見てみるとオフィスの周りにたくさん植物があると思いますが、この植物、本物なんです。
(全部で250種類あるそうです)
水散布も自動で管理されていて、虫もわかないようになっているとか。
この数ならば納得ですが、凄いこだわりです。

ちなみに、ある時間になると机にあるiPadに会長のデフォルメキャラが出現します。

正面受付

f:id:yu_ping:20170529191005j:plain

エレベーターから降りてすぐこの受付があります。

滝のような映像が特徴的ですが、この滝は前の物体に反応して避けるように水の軌道が変わります。

奥には各種植物や動物の紹介が載っているパンフレットも置いてあります。

動物エリア

f:id:yu_ping:20170509081429j:plain

よく記事などで目にするエリアですね。

約26種類の動物たちが左右の壁に映し出されているエリアとなっていて、それぞれ動物をよく見ると植物で出来ています。

そしてこのエリア、実はミーティングする為の部屋が並んでいて、所々ドアになっています。
使用中の部屋の前には、その部屋に対応する動物が鎮座して使用中という事がわかるようになっていたりするようです。

触れることで動物が鳴いたり、こっちを見てくれたりするので訪れた場合は是非触ってみてください!


最後に

まるでアトラクションのようなオフィスで、見学しに行った私は楽しむ事ができました。

今後もいろんなイベントで使うオフィスだと思うので、訪れる時は色々と試してみてください!

【ICTSC7】C6D (IPv6+BGP) の問題解説

こんにちは。

ついこの前、3/4〜3/5に開催された第七回ICTトラブルシューティングコンテストで運営をやってきました。
参加された皆様および関係者の皆様、ありがとうございました!

今回私は、イベントサポートで会場準備・司会・大人との交渉などをしていた他に問題作成も行っていました。
ここではその作成した問題の解説をします。

早速ですが、私の問題構成は以下のようになっていました。



問題コード : C6D

コア技術

IPv6
RA/RS
( BGP )

IPv6
Internet Protocol Version 6(インターネット プロトコル バージョン6)、IPv6(アイピーブイ6、アイピーバージョン6)は、Internet Protocolの一種で、OSI参照モデルにおいてネットワーク層に位置付けられるプロトコルである。

IPv6が誕生した背景には、IPv4IPアドレス枯渇問題がある。

引用 : IPv6 - ウィキペディア

RA
RA (Router Advertisement; ルータ広告)とは、 IPv6アドレスの自動設定を行う機能(Stateless Address Autoconfiguration, SLAAC)(*1)の一部分で、 RFC4862で標準化されています。

引用 : インターネット用語1分解説~RA (Router Advertisement; ルータ広告)とは~ - JPNIC

トポロジ

f:id:yu_ping:20170308190922p:plain

問題文

1841bに対して無事にIPv6アドレスが振られたが、今度は1841aにつながるインターフェイスにグローバルアドレスが振られていないようである。
移行期間内にBGPによるルータの冗長化を完了させて、無事サービスを始められなければインフラ班の首が危ない。
グローバルアドレスが正しく振られていない原因を突き止め、下記経路を通ってインターネットに通信ができるように設定を見直し、コンフィグとともに報告してほしい。
ただし、コアスイッチのBGP経路の重みづけはすでに設定されている。

設定に使用する認証情報と正しい経路の情報は以下のとおりである。

【1841a】

enable password:ihuygh77Kggl4dsg8G8h

【正しい経路】

1841b → 1841a → → → 疎通先

* この問題を解く為には、前提問題を解いた上で基準点を満たす必要があります

トラブルの内容

1. Ciscoルータに、定期的なRA送信を抑制するコマンドが入っている。
また、アドバタイズされたアドレスの最終有効期限が変更されている。

ipv6 nd ra suppress (不完全な抑制コマンド)
ipv6 nd prefix <ipv6-prefix/prefix> <valid-lifetime preferred-lifetime>
(デフォルトは30日だが、大会の性質上120秒と短く設定してました)

尚、上記の抑制コマンドの場合、自らRAは出さないものの、RSが来た場合はRAを送信する。

2. 一度はクライアントにグローバルIPv6アドレスが割り振られるが、最終有効期限が経過すると、グローバルIPv6アドレスが無くなり、外部との通信ができなくなってしまう。

3. RSは基本的にnodeがI/Fをupした時しか流れない為、アドレスが消える度にupし直さないと繋がらない状態が続いてしまう。

4. また、RouterA側にRouterBとピアを張る設定が抜けている為、インタフェースがただupするだけではBGP neighborが張れない

5. 上記が原因で対象のインタフェースとのBGP neighborがdownしてしまい、正しい経路で外部と通信ができない。

* 4と5は、手元トポロジ変更によりOSPFv3ではなくBGPにする必要があった為、付け加えた項目です。

ゴール

  • ipv6 nd ra supressの削除 (valid-lifetimeのみ削除では、デフォルト設定である30日後に繋がらなくなってしまう)
  • インタフェースを立ち上げ直す事でRSを流し、グローバルIPv6アドレスが再度割り振られた事を確認する
  • RouterA側のBGP設定にRouterBの指定インタフェースとピアを張る設定が抜けている為、設定を入れる
  • BGP neighbor downしていたインタフェースがEstablishedに変わりBGP neighbor UPした事を確認する
  • 正しい経路で通信できる事を確認する

* 大会では、参加者手元環境の上流にあるコアL3スイッチにAS_PATHアトリビュートの設定を加えており、指定の経路を通るように重み付けされています

採点基準

  • コンフィグもしくは入力コマンドの未提出で減点
  • ipv6 nd ra supress(+ valid-lifetime)が原因で、グローバルIPv6アドレスが消えると特定できている
  • 上記とRouterA側のBGP設定不備により、BGP neighborがdownしていると特定できている
  • RouterAとRouterB間でBGP neighborがupしている
  • IPv6アドレスを用いて、正しい経路で通信確認ができている
  • RouterA、RouterBが上流ルーターとneigbhorが張れていて、冗長化構成になっている



講評

前回はPathMTUDiscoveryBlackHole問題やAUX問題を出題しましたが、解答者数が多くなかった為、今回は難易度低めの問題にしてました。
この問題では、今後docomo,Softbank,KDDIの三大キャリアがIPv6へ徐々に移行していく事も含め、IPv6に対しての関心と移行時のトラブルを知ってほしい気持ちから作成しています。

トラコン当日、解答状況を見ていると前提問題であるYUTの基準点を満たせず、この問題まで到達できないチームが多かったようでした。
しかし二日目午後終了時間間際になると、この問題に到達できるチームが続々と増え始め、結果的に半分くらいのチームがこの問題の原因を特定し、解答してくれていたので個人的に嬉しかったです。
ただ、惜しかったのは1841bとコアスイッチ間でBGP neighborが張れておらず、冗長化されていないチームが数チーム見受けられました。
show bgp ipv6 unicast neighborコマンドを用いると隣接ノードとのneighbor状況がわかる為、ぜひ使ってみてください。

また、大会のアンケートもしています。
お手隙な時にでもよろしくお願いします。
ICTSC7アンケート




ちなみに・・・

続きを読む

学校の環境でZabbixからslack通知を送れなかった話

家の環境ではZabbixからslackへ通知送れたけど、学校の環境では通知を送れなかったのを解決できたのでメモ

症状

  • slack通知が送れる環境と同様に実装したはずだが、通知を送れない

環境

  • CentOS7 [user: root, centos]
  • Zabbix3.0.5
  • 学校環境ではProxy経由でWANに繋がっている

ゴール

  • Zabbixからslackへアラートを送信する

本題

学校の環境にZabbixを入れてslackへ通知しよう!と思い通知スクリプトを実装
しかし、slack側には何も送られず、Zabbix側では「通知スクリプト実行したよ!」という表記だけ出てしまう

最初はSELinuxかなぁ?パーミッションかなぁ?とか思っていたけど、そもそもその場合はZabbix側でエラーがでる・・・
ということは、実行後にネットワーク部分でエラーがでているのでは?と考えてみた
とりあえず、どこでエラーがでているのか確認も含めて、スクリプト自体を実行することにした

【ユーザー: centos
f:id:yu_ping:20161209110354p:plain

【ユーザー: (sudo -s) root】
f:id:yu_ping:20161209110357p:plain


centos側では問題なく実行出来ているものの、sudo -sしたrootではタイムアウトのエラーが出てしまっている

この状態でコネクションが張れてるか気になったので、今度はhttps://slack.com/に対してcurlをやってみた

【ユーザー: centos
f:id:yu_ping:20161209113401p:plain

【ユーザー: (sudo -s) root】
f:id:yu_ping:20161209104723p:plain

すると、sudo -sしたroot側ではproxyに向けて通信を行っていなかった
centos側にはネットワーク設定にproxyを入れていたものの、/etc/profile.d/配下にproxy.shを作成してない為
sudo -sしたrootではproxyを経由せず通信していたのだ。

これを直せばZabbixから通知を送れるようになるんじゃねえか?!とか思い、/etc/profile.d/配下にproxy.shを作成
以下のような設定で内容を記述した

PROXY="ProxyIPアドレス:ポート番号"

export http_proxy="http://$PROXY"
export https_proxy="http://$PROXY"
export ftp_proxy="http://$PROXY"

変更後、sudo -sし直してcurlをしたところ、ちゃんとProxyを経由して通信する事が出来た。
しかし、これではまだZabbixから通知を送信することは出来なかった。
そこで、Wiresharkを用いてパケットトレースをすることにした。(最初からやれ)

【直接スクリプトを叩いた場合】
f:id:yu_ping:20161209115320p:plain

【zabbixから実行した場合】
f:id:yu_ping:20161209115329p:plain

結果、直接スクリプトを叩いた場合はProxyを経由しているが、Zabbixから実行した場合はProxyを経由してない事がわかった。
ということは、通知スクリプト自体にproxy.shを読み込めば経由してくれるのではないか?!と思い、通知スクリプトの最初に以下を追記した。

source "/etc/profile.d/proxy.sh"

その結果、うまくslackへ通知する事ができた。

f:id:yu_ping:20161209120138p:plain


PS.

通知だけ送れて、ステータスコードが送れない事もあった。
これはsedを用いて改行を置き換えしている部分がただの改行になっていたので、CRの改行を入力してあげるとうまく送信する事ができた。

f:id:yu_ping:20161209120748p:plain