ICTSC2018の本戦に参加した話
久しぶりの更新です。
ICTSC2018という大会にチーム名「なんでもいいよ」として参加したのでまとめをブログに書きます。
ICTSC2018とは?
https://icttoracon.net/about-ictsc
ICTトラブルシューティングコンテストと言います。略してトラコン。
内容としては「全国の大学生・高専生・専門学生を対象にサーバやネットワークのトラブルシューティングや運用技術を最大5人のチームで競う大会」です。
前回大会までは年2回の開催でしたが、ICTSC2018から通年開催となり、8月に行われる一次予選、12月に行われる二次予選、3月に行われる本戦と進んでいきます。
一次予選では交通費免除と本戦出場のシード権2枠をかけて戦い、二次予選では本戦出場権8枠+運営推薦枠をかけて戦います。
本戦は東京のNTT中央研修センターで行われました。
年々問題や出場校のレベルが上っておりセグメントルーティングやNAT64やDockerなどの技術も問題として出題されていました。
問題の回答方法は、専用のページから「このトラブルは~が原因で発生していました。これらを解決するために~を行いました。」という様に書いて提出します。
本戦出場まで
過去のブログに一次予選のことをまとめていました。
http://atata9019.hatenablog.com/entry/2018/08/31/025911
本戦
二次予選で第7位だったので本戦に出場することができました。
しかし!私は東京へ行く日にインフルエンザにかかり福岡でお留守番を任されました😢
運営との交渉の結果リモートの参加を許可されたのでリモートで参加しましたw
私が解いたのは、DockerとBGPとIPv6を半分。公式ブログで解説が投稿されますが解いた問題をφ(..)メモメモ
Docker問題
Docker移行時のトラブルですね。
コンテナの起動はDocker Composeで行われていました。
初めはphpMyAdminのコンテナに.htaccessファイルを設置するのか?iptablesでアクセス制御をかけるのか?と調べていましたが、docker-compose.ymlのports(ポートフォワーディング)オプションでアクセスを限定できると知り変更し提出。
BGP問題
EBGPのピアをインターフェイスのアドレスからループバックアドレスに変更し、なおかつルートが正しく広報されるようにしてほしいとのこと。
この問題は実際のCiscoルータを使用し解く問題でした。
メンバーとの事前勉強会でBGPは対策済みでしたのですんなりクリア
- EBGPパケットのTTLを2に変更
- neighborのアドレスをインターフェイスのアドレスからループバックアドレスに変更
- BGPメッセージの送信元アドレスをループバックアドレスに変更
- no bgp default-ipv4 unicastを設定
この4つを両方のルータに設定、その後広報するネットワークをaddress-family ipv6内のnetworkに設定するとピアが張れ無事ネットワークも広報されました。
しかし、点数は満点ではなく部分点でした。解答が気になる
参考にしたサイト
https://www.infraexpert.com/study/bgpz08.html
IPv6
私が解いた中では一番ボリュームが有りました。
ルータを挟んで端末1と端末2が存在するトポロジです。
ルータはVyOSでとりあえずIPv6のDHCPとインターフェイスにMフラグとOフラグを設定。しかしpingが通らない。。。パケットをキャプチャするとDHCPのdiscoverが来てない模様。端末2にDHCPの設定がされてないのかな?と思いff02::1へpingを投げ応答をしたホストにログインしようとしますがルータから端末2へのリンクローカルアドレスでのSSH方法がわからず断念…残りはメンバーに任せ終了しました。
後々話を聞くと、ssh [user]@[リンクローカルアドレス]%[インターフェイス]でログインでき端末2はUbuntuだったそうなのでこちら の手順で変更
結果
新人賞は麻生情報ビジネス専門学校の「なんでもいいよ」です! #ICTSC pic.twitter.com/0BmaEk47Vp
— ICTトラブルシューティングコンテスト (@icttoracon) March 3, 2019
新人賞をいただきました。表彰式は飛行機の関係で離脱
後日頂いた成績表では第4位でした。
感想
初参加ながら良い成績を残すことができました。
知らなかった技術などを知ることができとても良い経験になりました。実際に触れてトラブルシューティングを行うことで、その技術に興味を持ち勉強を始めるきっかけになりました。
約半年チームメンバーと予選や本戦前に勉強会を開き、Slackで頻繁に技術共有を行うことでチームワークと技術力の向上ができました。
ICTSC2019の開催がリリースされたので来年はより良い成績を残せるよう頑張りたいです!予防接種も忘れずに
おまけ
本戦のノベルティ
スポンサー企業の採用情報とUSBメモリとステッカーとボールペン、飴玉、ミンティアなどなど…
IIJのバッグとノートはかっこいいですね。
就活頑張ります。
Zabbix4.0+MySQL8.0の構築
サーバ上のZabbix構築で嵌ったので戒めを込めてメモ。
環境
CentOS 7
MySQL8.0
Zabbix4.0 LTS
MySQLをインストール
CentOS 7でデフォルトのMariaDBをアンインストール
yum remove -y mariadb-libs.x86_64
MySQL8.0のレポジトリを登録&インストール
yum install https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
yum install -y mysql-community-server
MySQL8.0からセキュリティが厳しくなっちゃってるので設定変更
vi /etc/my.cfg
#default-authentication-plugin=mysql_native_passwordをコメントイン
MySQL起動&初期設定
systemctl start mysqld
パスワードを確認
cat /var/log/mysqld.log | grep password
mysql_secure_installation
先程表示されたパスワードを打ち、annonymousとtestをremove
Zabbixをインストール
基本はこの通りに
https://www.zabbix.com/jp/download
mysql -uroot -p
はmysql -u root -pに置き換える
Create Databaseの
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';はエラーを吐かれるので、
create user 'zabbix'@'localhost' identified by 'password';
grant all privileges on zabbix.* to zabbix@localhost;
で実行
vi /etc/httpd/conf.d/zabbix.confの#php_value date.timezone Europe/Riga
をphp_value date.timezone Asia/Tokyo
/etc/zabbix/zabbix-server.confのDBHostをコメントイン。
SELinuxとかもっと詳しい設定方法とか
1 Red Hat Enterprise Linux/CentOS [Zabbix Documentation 4.0]
SELinuxを止めて
setenforce 0
vi /etc/sysconfig/selinux
SELINUX=disabled
firewalldに穴あけ
firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --reload
Zabbix起動
systemctl restart zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
ブラウザで
http:// <IPアドレス> /zabbix
User:Admin
Password:zabbix
後は初期設定を進める~
ZabbixはAgentだと10050/tcp、Serverだと10051/tcpを使うのでfirewallに穴あけ。
firewall-cmd --add-port=10050/tcp --zone=public --permanent //Agent側
firewall-cmd --add-port=10051/tcp --zone=public --permanent //Server側
firewall-cmd --reload
まとめ的な
MySQL8.0のセキュリティが固くて1時間くらい嵌ってました…
Zabbixのデーモンがrunningにならず
tail /var/log/zabbix/zabbix_server.log
connection to database 'zabbix' failed: [2059] Authentication plugin 'caching_sha2_password' cannot be loaded: /usr/lib64/mysql/plugin/caching_sha2_password.so: cannot open shared object file: No such file or directory
のエラー
セキュリティは強さと使いやすさのトレードオフが難しい。
ICTSC2018一次予選に参加しました。
実は中身の人は学生なんですよね。
ネットワークを学んでいます。
はじめに
ネットワークを学ぶ学生の唯一の大会ICTSC(ICTトラブルシューティングコンテスト)
大会の内容としては、
全国の専門学校生、高専生、大学生、大学院生を対象とした サーバー・ネットワークのトラブルシューティングや運用技術をチーム単位で競うコンテストであり、競技参加選手だけではなく、コンテストの企画、運営も学生が行う、学生の、学生による、学生のためのコンテストです。
チームメンバー
私(リーダー)
T君 CCNPホルダー
H君 ネスペ・セキュスペ
N君 LinuC Level1
という構成でした。皆CCNAホルダー、基本情報保持者です。
参加するに至った経緯はこのチームはもともと昨年10月に開催されたMBSD Cybersecurity Challenges 2017に参加するために結成されました。しかし、爪痕を一切残すことができず、何かこのチームで結果を残そうとICTSCで再結成されました。
勉強
予選を前に何度か勉強会を行いました。過去問を確認しながらVyOSやapache、BINDの設定を行いました。
アプリケーション?そんなの知らねえな!捨てます。
本番
学校で集まり問題を解きました。
問題はDocker,SNMP,IPv6,Network(Cisco),Xen,LoadBalancer,PacketFilter,WebRTCでした。
問題を分担し解きました。私はVyOSとDocker、SNMPを担当
結果
全49チーム中7位と健闘しました。
icttoracon.netNetworkは全て満点
初参加ながら好成績です。
これから
一次予選はシードチームを決めるだけなので本番は12月にある二次予選です。こちらで勝ち残らないと本戦出場にはなりません。
12月までに一次予選でできなかった部分や足りない知識を身に着けながら二次予選を迎えたいですね。
トレンド技術で苦戦したためトレンドの調査をしつつ、DockerやZabbixの運用、勉強会に参加。
一次予選に参加しなかったチームもあると思うので油断せず二次予選までに苦手克服し本戦出場を目指します。そして本戦でも好成績を残し表彰台に
Inspiron 7472をいじって遊ぶ(NVMe換装、メモリ増設)
こんにちは、お久しぶりです…。4ヶ月ぶりの更新ですね
去年の11月にとあるパソコンを買いました
DELLのInspiron 14 7000 プラチナモデルです!
Inspiron 14 7000 14インチノートパソコン | Dell 日本 | Dell 日本
学割とサイバーマンデーセールで98,000円で購入。
見た目のレビューは皆さんやっているので内部のレビューをしていきます。
スペック
CPU
Intel Core i5-8250UとIntel Core i7-8550Uから選択することができます。
この第8世代CPUはモバイルでも4コアになりました。これにより大幅な性能アップし前世代のHQモデルにも勝る力を持っています。
NDIVIA Geforce MX 150これはおまけ程度ですねFHDゲームくらいならすることができます
Memory
DDR4-2400(PC4-19200)
8GB
これが標準です。しかし、サービスマニュアルを見ると総メモリ16GBの文字が。
しかし、シングルスロットなのでついている8GBを16GBメモリに交換になります。
Storage
モデルにもよりますが、私はM.2 SATA SSD 128GB+SATA HDD 1TBがついています。
このM.2スロットはNVMe対応なので高速ストレージに変更することが可能です。
これを選んだ理由としては
1.持ち運べるノートパソコンが欲しかった
2.10万円程度
3.スペックはなるべく高く
4.イーサネットがついている
これらを満たしていて見た目もカッコよかったので購入しました。
換装するきっかけ
使っていると右側のUSBポートが使用不可になりDELLサポートに電話をすると外国人の方が対応して修理代は28,080円かかるとのこと。(高い)
それなら自分で分解してパーツジャンクで買ったら安いじゃんということで分解して見ました。
上の3つ以外のネジは緩め、それ以外のネジを外します。そして引っ張ると外れます。開くとき意外と力が要ります。
すると御開帳。
問題のポートはケーブルが緩んでいただけ…。それなのに補償使えなくて3万も取るのかよ…と思いつつ他の箇所を見るととても換装しやすそうな構造です。
ということで現状最高のスペックに上げました。
プチフリを起こしていた初期不良(?)のSK hynix SC311 SATA 128GBをSAMSUNG NVMe SSD 960 EVO M.2(256GB)に
HDD
HDDは変える必要はあまりなかったのですが、初期付属がSEAGATE…昔火花散らして燃えたので少し怖い。
SEAGATE Mobile HDD 1TBをKLEVV NEO N600(500GB)に
メモリ
8GBだと少し用途的に不足なので16GBに
初期メモリはMicronの8GBをMicronの16GBに変更。このタイプはシングルチャンネルなので16GBが限界。
NVMeSSDはAmazonプライムデーで8,000円で購入、2,5inchSSDは秋葉原のあきばお~で1万円で購入、メモリはヤフオクで12,000円で購入。プラス3万です。
以下ベンチマーク
NVMeSSD
理論値の3200MB/sには届きませんが速いです。
2.5inchSSD
1万の格安SSDにしては良い方かな…?
VirtualMachineの起動はとても早くなりました。
メモリ
快適です。
国産メーカーは高いし、スペック低いし、分解したら補償切れるのに対し、海外メーカーはコスパもよく融通が効くのでとても良いですね。
今回買ったInspiron 14はモビリティも悪くなく、見た目もスマート、スペックも申し分ない感じに仕上がっててとてもおすすめです。
持っている方はこのブログを見て換装の手順にしていただけたらと思います。(分解による故障や問題は責任を負いませんが)
マイナンバーカードを作ったお話
申請方法は郵便、パソコン、スマホ、証明用写真機から。スマホから申請が行えるのは良いですね。
スマホで申請する場合はマイナンバー通知カードについていたはがきにあるQRコードを読み取りページに飛びます。(LINEのQRコードからでも読める)
そこで必要事項と顔写真を撮影し申請
一ヶ月後くらいに交付通知書が郵送されます。(一ヶ月は掛かるので辛抱強く待ちましょう。。。作る予定がある方はお早めに申請することをおすすめします。。。)
役所に行き、マイナンバーカードを貰うといった手順です。住民基本台帳カードを持っている方は一緒に持っていく。
窓口で交付通知書を渡し、マイナンバーカード専用の窓口で呼ばれるまで待ちます。その間暗証番号設定の紙を渡されます。
①住民基本台帳用(数字4桁)
②券面事項入力補助用(数字4桁)
③利用者証明用電子証明書(数字4桁)
④署名用電子証明書(英数字6~16桁)
の設定が必要です。
①~③は同じ暗証番号を設定することが可能です。
④は大文字英字と数字でいづれも1つ以上が必要。専用のICリーダーを利用してオンライン上で処理ができるそうです。
それぞれの用途は下の写真から…。。
マイナンバーカード専用の窓口で呼ばれるととうとうマイナンバーカードとご対面です。
注意事項を聞き、暗証番号を設定するともらえます。
私の場合交付通知書を渡してから30分ぐらいでもらえました。
マイナンバーカードがあればコンビニでいつでも住民票もらえるよ!!しかも50円安いよ!!の紙
ちなみにマイナンバーカードの有効期間は20歳以上の方は発行日後10回目の誕生日まで、20歳未満の方は発行日後5回目の誕生日まで。有効期間の満了の3ヶ月前より住民票のある市区町村の窓口で申請できるそうです。
住所の変更や氏名の変更があった場合は青枠の追記欄に新たな住所と氏名を記載するそうです。
転入届と婚姻届の提出のときは一緒にマイナンバーカードを窓口へ
マイナンバーカードは身分証明書にもなりますし、近くのコンビニで夜間休日も各種証明書を発行できるのでとても便利なカードだと思います。
免許のない方、中高生など身分証明書が必要な場合マイナンバーカード一枚で済むのでとても楽だと思います。
発行手数料も無料なのでぜひ作ってみると良いかもしれません。
Unified Remoteの導入、使い方
今日は最近使ってて便利だと思ったUnified Remoteというアプリをご紹介します。
このアプリを見つけた経緯としてはパソコンをいちいち触らずに音楽を変えたり、音量を調節したいという目的です。しかし、それ以上に機能が豊富なのでぜひご紹介します。
【目次】
機能
無料版でこれだけのWindowsやソフトを操作できます。
- File Manager…パソコンのディレクトリをスマホで見ることができます。ショートカットやプログラムを押すと実行できます
- Keyboard…キーボード入力ができます。
- Media…ボリュームや音楽を再生、一時停止、スキップすることができます。foobar2000で動作確認しました。
- Power…Windowsのパワーメニューを実行できます。外出中パソコンをつけっぱなしにしてて電気が無駄なので消したり?
- Scroll Wheel…スマホでスクロール操作ができます。
- Slide Show…スマホがワイヤレスプレゼンターになります
-
Start…Windowsのスタートアップ項目の管理ができます
- Task Manager…タスクマネージャーです
- Spotify,VLC,Windows Media Center,Windows Media Player…ソフトを個々操作できます。
有料版を購入するともっとできることは増えます。
導入
パソコン側の準備
まず操作したいパソコンにサーバーアプリを入れます。
こちらからどうぞ。Latest Serverを
セットアップの通りに進めていきます。
インストールが終了したら通知領域にUnified Remoteのアイコンがあると思います。それをダブルクリック
ブラウザが開くと思うのでとりあえずパソコン側のセットアップは終了です。
スマホ側の準備
次は、スマホにアプリを入れていきます。
起動して、ログインするとGoogleアカウントで設定を同期してくれます。
同じネットワーク(Wi-Fi)に接続しているとサーバーをインストールしたパソコンの情報を取得して設定してくれます。LET'S GET STARTED!
これで同じネットワークに接続している場合はセットアップは終了です。
家の外から(同じネットワーク外)から使う場合
公式さん
パソコン側の設定
パソコンでUnified Remoteの設定を開きます。
Settings→SecurityでUse the same password for all users.にパスワードを入力します。自分の好きなので良いです。入力したら下のSaveをクリック、サーバーが再起動します。
※この項目は設定しなくても問題はありませんが、セキュリティ上設定することをおすすめします。
他にもWindows Firewallの設定とルータのポート開放を行ってください。ポート番号はデフォルトなら9512です。ポート開放はルータの機種によって違うのでネットで調べてください。
スマホ側の設定
左上の三を押し、Serversをタップ
Saved Serversの項目を長押し、編集
Display NameとHost IP / Addressには何か書いてあると思います。
Host IP / AddressにグローバルIPアドレスを入力します。
そして一番下のPasswordの項目に上で設定したパスワードを入力してください。
WAN: Detected ( <Show IP> )のShow IPをクリックすると出てきます。
多分、MACとWAN IPを入力するとWoLが使えるのかな?WoLを使用するには他の設定も必要です。過去ブログをどうぞ。
スマホからWOLで電源を入れてリモート接続する - 多趣味な風来坊
最後の方は投げやりでしたが、これで一通りの設定は終了です。スマホのWi-Fiをオフにしてパソコンを操作できれば外出先でも使えます。エラーが出る場合はどこかの設定が抜けてます。
では便利なパソコンライフを!
Firefoxのマルチプロセス強制有効
お久しぶりです。ネタがないと頻繁にサボります。WoLとリモートデスクトップの記事が人気なんですね、このブログ。わかりにくいところがあれば、再びわかりやすく書きましょう。
今日、HDDを交換してたらSeagete製のHDDが火花をだしました。びっくりですね。
そのHDDは分解して展示品にしようかしら。
近況はこれくらいにして、Firefox便利ですね。自分は、メインで使ってます。Firefox Devです。拡張性が高いんですよね。
しかし、Web開発者用なので新機能が盛り込まれるおかげで更新が頻繁に来ます。そのたびに変更したabout:configがリセットされてしまいます。マルチプロセスに至っては気がつけばオフになってしまってます…
調べていると固定する便利な機能がありましたね、Firefoxには他ブログさん…
Firefoxにはabout:configの内容を固定する便利な管理者機能があるらしい。
やり方は簡単。
まず、Firefoxのインストール先のdefaults/pref/
に
pref("general.config.filename", "autoconfig.cfg");
pref("general.config.vendor", "autoconfig");
pref("general.config.obscure_value", 0);
という中身のautoconfig.jsファイルを作成し(作成場所はデフォルトならx86:C:\Program Files (x86)\Mozilla Firefox\defaults\pref\
x64:C:\Program Files\Mozilla Firefox\defaults\pref\)他のディストリビューションならその\default\prefへ作成してください
おそらく、普通にメモ帳で作るとこのディレクトリには保存できないので、メモ帳を管理者権限で開くか、一度デスクトップなどに保存してからこのディレクトリに移動させてください。
次に、autoconfig.cfgを作成します。こちらはインストール先ディレクトリに作成します。
x86:C:\Program Files (x86)\Mozilla Firefox\
x64:C:\Program Files\Mozilla Firefox\
このファイルに一番上のリンクの中身を記述して保存してください。
これを使って設定を固定できます。
lockPref("設定名", 値);
設定名に固定したい設定名:about:configで出てくる項目名
値はそこに設定したい値。trueやfalseや数字など。
必ず一行目はコメント(//)にしてください。よくわからなかったら
lockPrefの上に // 一行目は必ずコメント をコピペしてください。
例えば、これなら
// FlashPlayerの日本語入力を可能
lockPref("dom.ipc.plugins.sandbox-level.flash",1);
です。
しかし、Firefoxは便利ですね。アドオンで拡張性があり、Firefoxに慣れるとChromeや他のブラウザに以降できず、物足りなさを感じます。Chromeも昔に比べたら、拡張機能は増えてきたんですけど。
筆者は12から使っていて、アドオンは24個とGreasemonkeyでスクリプトも入れてます。
次のブラウザエンジンが軽量化されて高速化するらしいので更に期待が高まります。