ICTSC 2019 一次予選

トラブルシューティングコンテストとかいう良くわからないコンテストの一次予選に出ました.

はい. 三位です.

f:id:sakura_lov:20190903122455p:plain

こんな感じで出るか〜とかいって出ました

ICTSC2019 一次予選結果 – ICTSC | ICT トラブルシューティングコンテスト

担当箇所のwriteup

openvpnが急に繋がらなくなった

まあ急に繋がらなくなったってあたりからどうせ証明書の期限なり何なり切れてんだろうと思いました.

OpenVPN Server側のlogを見たらclient側が何回も接続試行して弾かれてるのが見えたのでとりあえず鍵と証明書を新しくしました.

easyRSAとかいうのの使い方はエスパーした. VyOSの設定方法もエスパーした. (これshowで出てきた設定一覧を元にすぐ設定できるのでいいですね)

以下回答

お疲れ様です。298Pay たわしです.
問題 「OpenVPNが急に繋がらなくなった!」 の解答を送らせていただきます.

この問題ではクライアント証明書の期限切れが原因でトラブルが発生したと考えられました.
そのため、以下のように設定を変更し、OpenVPN Serverのループバックインターフェース 172.25.0.1/32への疎通を確認いたしました.
確認のほどよろしくお願いします.

OpenVPN Server側でのクライアント証明書/ 鍵生成
1.1 cd /easy-rsa-3.0.6/easyrsa3/
1.2 ./easyrsa build-client-full client1 nopass
1.3 生成時, CAの証明書のパスフレーズが要求されるため入力する.
1.4 生成された pki/issued/client1.crt と pki/private/client1.keyをコピー

OpenVPN Client側でのクライアント証明書/鍵設定
2.1 cd /config/auth
2.2 client1.crtとclient1.keyを配置
2.3 sudo chown vyos client1.*, sudo chmod 600 client1.* で権限設定をする
2.4 configure
2.5 set interfaces openvpn vtun0 tls cert-file /config/auth/client1.crt
2.6 set interfaces openvpn vtun0 tls key-file /config/auth/client1.key
2.7 commit
2.8 save

満点取れた

外に出れません

SourceNATとか良く知らんけど多分抱いたぜ?(嘘)

tracerouteして各ルーター感の疎通を確認してみる.

あーどうせNATされてないとかそういう問題だろこれって思ったので設定書いてみる. 解けた.

お疲れ様です. 298Pay たわしです.
問題「外に出れません・・。」の解答を送らせていただきます.

この問題ではSource NATの設定がされていないことが原因で192.168.2.0/24から192.168.1.0/24に出られずトラブルが発生したと考えられました.

そのため、以下のように設定を変更し、8.8.8.8へのpingが通ることを確認いたしました.
確認のほどよろしくお願いします.

ルーター2のvyosの設定
1.1 configure で設定モードに入る
1.2 Source NATの設定を追加
set nat source rule 1 outbound-interface eth1
set nat source rule 1 source address 192.168.2.0/24
set nat source rule 1 translation address masquerade
1.3 設定の保存
commit
save

満点取れた

郷に入っては郷に従え

LXCとか使ったことないですしiptablesの設定もまともにやったことないですねこれどうすんだって思った.

まあどうせiptablesの設定が悪さしてんだろう,問題タイトルも「郷に入っては郷に従え」だからLXCの設定でポートフォワードの設定して満点とかそういう問題やろとかエスパーして設定したら解けたのでヨシ!

お疲れ様です。298Pay たわしです.
問題 「郷に入っては郷に従え」 の解答を送らせていただきます.

この問題ではiptablesのポートフォワードの設定のdestinationがanywhereになっているため, コンテナからの80ポートアクセスがポートフォワードされていたことが原因でトラブルが発生したと考えられました.

そのため、以下のように設定を変更し、`apt update` が動作し, LXCホスト80番でWEBページが表示できることを確認いたしました.
確認のほどよろしくお願いします。

1. 問題となっているiptablesの設定を削除する
 `sudo iptables -t nat -D PREROUTING 1`

2. LXCを使用して, ホスト80からコンテナ1234へのポートフォワードの設定を追加する
`sudo lxc config device add ubuntu-dnat port80 proxy listen=tcp:0.0.0.0:80 connect=tcp:127.0.0.1:1234`

満点取れた.

vyosの設定が吹き飛んだ

他メンバーが詰まってたのでヘルプする.

ルーティングがわからんて言ってたので見るとルーターのeth1とルータのeth2のIPアドレスの設定がされてないのとRAの設定がわからない模様.

VyOSなんて使ったことないので設定方法をエスパーして回答.

7. eth1のRA機能を有効化
set interfaces ethernet eth1 ipv6 router-advert send-advert true
8. RAで広告するIPアドレスのprefixを設定
set interfaces ethernet eth1 ipv6 router-advert prefix 2001:db8:2000::/64
9. eth1のインターフェースのIPアドレスを設定
set interfaces ethernet eth1 address 2001:db8:2000::1/64
10. eth2のインターフェースのIPアドレスを設定
set interfaces ethernet eth2 address 2001:db8:1000::1/64
11. 設定を反映

満点取れた

ストアドプロシージャってやつでなんとかして

他メンバーがやったやつを見るとストアドプロシージャを使わない素のSQL文(?)だったので使ってくれ〜って言った.

満点取れた

接続が不安定になっちゃった

他メンバーが詰まっていたのでヘルプする.

ちゃんとルーターの設定を見てないのでミスった. ヘルプの時は全体を見ましょう.

DHCPなのにIPアドレスが被るって時点でDHCPサーバー側がおかしいってエスパーするべき.

ちなみにこんなこと言ってた.

1. sudo vi /etc/netplan/01-netcfg.yamlを開く
2. network -> ethernets -> eth0 -> dhcp4: 'no' を  dhcp4: 'yes'に変更

50/100点でした.

メールは届いているけど...

他メンバーのヘルプをする

何を言ったか忘れたけど,適当にdigしたら

$dig -t TXT mx3.prob2019-q1.ictsc.net

; <<>> DiG 9.10.6 <<>> -t TXT mx3.prob2019-q1.ictsc.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30884
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;mx3.prob2019-q1.ictsc.net.    IN    TXT

;; ANSWER SECTION:
mx3.prob2019-q1.ictsc.net. 299    IN    TXT    "v=spf1 ipv4:103.202.216.33/32  ~all"

;; Query time: 96 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Aug 31 16:22:57 JST 2019
;; MSG SIZE  rcvd: 102

とか言われたのでSPFレコードおかしいねこれって喋る. 終わり

100/160点